2016年6月4日土曜日

Azure仮想マシンの一時ディスク: サイトリカバリの場合

Microsoft Azureには「Site Recovery」という機能があり、オンプレミスの仮想マシンまたは物理マシンをAzure上に複製できます。もちろん、システムディスクだけではなく、データディスクも複製できます。

ただし、Azureの仮想マシンにはいくつかの制約があり、完全に同じ構成にはなりません。Azure上の仮想マシンはMicrosoft Azureの制約を受けるためです。

まず、サイズはAzureで決められたものになります。既定では、オリジナルの仮想マシンに最も近いものが選ばれるようですが、選択できる範囲で変更もできます。なお、接続可能なデータディスクの台数はサイズに依存するので注意してください。

次に、Azureの仮想マシンには揮発性の一時ディスクが追加されます。Azureの仮想ディスクが配置されるBLOBはあまり高速ではないため、ページファイルを高速な一時ディスクに配置することで全体の速度を稼ぎます。

一時ディスクは、仮想マシンを配置した物理マシンに接続されており、仮想マシンが別の物理マシンに配置された場合は新しく作り直されてしまいます(図)。

この時、ネットワークカードも新たに作成されます。Azureの仮想マシンがDHCPクライアントなのはこれが理由です。

Azure-4
図「ひと目でわかるAzure 基本から学ぶサーバー&ネットワーク構築」より

通常、一時ディスクはDドライブが割り当てられますが、「利用可能なディスクの内、最後のドライブ文字」を使うのが基本です。ドライブ文字の変更は、Azureチームのブログ記事「Windows 仮想マシンのデータ ドライブとしての D ドライブの使用」等を参照してください。

Site Recoveryを使う場合で、オリジナルの仮想マシンに複数のドライブが接続されている場合は、以下のようになります。

  • システムディスクを管理者が指定
  • 一時ディスクは最後のドライブ文字を使って追加

Site Recoveryをを構成すると、管理ポータルでは「どのVHDファイルがシステムディスクを指定しろ」と言ってきました。表示されるのはVHDのファイル名です(システムパーティションとブートパーティションが異なるドライブだった場合、どちらを指定するででしょうね? システムパーティションでしょうか)。

Azure上の仮想マシンにある一時ディスクは、データディスクの次のドライブ文字を使っていました。たとえばCがシステムディスク、Dがデータディスクの場合、Eが一時ディスクになります。

さて、この一時ディスク「ページファイル以外の使い途がありますか?」とよく聞かれます。さあ、なんでしょうね。

主記憶が小さく、仮想記憶もなかった時代は、ファイルの中身をソートするために一時ファイルを作ることがありました。また、MS-DOSのパイプは、コマンドの実行結果を環境変数TEMPの示すフォルダーにいったん保存していました。たとえば、以下のコマンド

DIR |  SORT /+30

DIR > %TEMP%\1234567.tmp

SORT /+30 < %TEMP%\1234567.tmp

と同じ意味でした。

一時ディスクは、このような計算の途中結果を保存するのに適していますが、今はあまり使うことはないと思います。