先日買ってきたアイビー君に ESXi を入れ、まずは家鯖を移行します。
家鯖(この blog が動いている鯖ではない)は実マシンで動いている(いた)ため、もちろん実ディスクにデータが載っているわけですが、移行するには仮想ディスクにデータをコピーする必要があります。
最初は、旧ディスクを USB-HDD アダプタでつないで ESXi の機能で USB デバイスを VM に見せて dd しようかと思っていました。ただし、これだとコピー中はダウンタイムになる上に USB2 なのでかなり遅いのが問題になります。USB3 ならだいぶマシなのかもしれませんが。
ちょっと調べてみると、自己責任ベースならローカル HDD を直接 VM に見せることができるらしいことが分かりました(iSCSI デバイスなら vSphere Client から普通に設定できる)。以下のような感じ(長いので改行してあります)
# vmkfstools -z /vmfs/devices/disks/ディスクデバイス名 /vmfs/volumes/データストア名/VMディレクトリ名/仮想ディスクファイル名.vmdk -a ide
-z がローカル HDD を見せるためのマッピング用 vmdk ファイルを作らせるためのオプション。-a はディスク(正確にはHBA)のタイプです。ちなみに ide はあっても sata はありません。なので Linux からだと場合によっては /dev/sda ではなく /dev/hda に見えます。数年ぶりに懐かしいデバイス名を見ましたよ。
というわけで以下のように接続(WD Green が家鯖の HDD)して、
うっかり家鯖の HDD の方から起動しないように注意して ESXi を起動し、以下のようにコマンドを打ちます。
# vmkfstools -z /vmfs/devices/disks/t10.ATA_____WDC_WD20EARX2D00PASB0_________________________この部分シリアルナンバーなので伏せる /vmfs/volumes/datastore0a/nyx/green.vmdk -a ide
できた vmdk を VM に接続すれば準備 OK です。
ハードディスク 2 と 3 は仮想ディスクです。
あとはディスク障害の時と同様にミラーをリビルドします。
[root@nyx umezawa]# mdadm /dev/md0 --grow --raid-devices 3 [root@nyx umezawa]# mdadm /dev/md1 --grow --raid-devices 3 [root@nyx umezawa]# mdadm /dev/md2 --grow --raid-devices 3 [root@nyx umezawa]# mdadm --manage /dev/md0 --add /dev/sd[ab]1 mdadm: added /dev/sda1 mdadm: added /dev/sdb1 [root@nyx umezawa]# mdadm --manage /dev/md2 --add /dev/sd[ab]2 mdadm: added /dev/sda2 mdadm: added /dev/sdb2 [root@nyx umezawa]# mdadm --manage /dev/md1 --add /dev/sd[ab]3 mdadm: added /dev/sda3 mdadm: added /dev/sdb3 [root@nyx umezawa]#
しかし、いいかげん md デバイス番号変えた方がいい気がしてきた。md デバイスの番号とメンバブロックデバイスに付く番号が違っていて毎回間違える。
[root@nyx umezawa]# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdb1[2] sda1[1] hda1[0] 1052160 blocks [3/3] [UUU] md2 : active raid1 sdb2[2] sda2[1] hda2[0] 2096384 blocks [3/3] [UUU] md1 : active raid1 sdb3[3](S) sda3[4] hda3[0] 1949451264 blocks [3/1] [U__] [=>...................] recovery = 5.8% (114745728/1949451264) finish=56 6.8min speed=53945K/sec unused devices: <none> [root@nyx umezawa]#
2つのディスクに同時に書き込まないで1つずつリビルドしているようなので、完了には10時間x2で20時間かかるでしょうか。
最後に、起動デバイスが SATA から LSIlogic パラレル になるので、grub を再インストールしたり initrd を再構築したりする必要がありそうです。
家鯖 ESXi 化(その2)
1回目は失敗しました(涙) ミラーのリビルドが終わり、initrd も(デフォルトとは別のファイルに)再作成していざ再起動。grub 上で initrd=xxx の行を編集して起動…したら grub に initrd が…