Plan 9をVMware ESXiで動かす
fs64カーネルは以下の仮想ハードウェアを認識する。
- SCSI: buslogic
- イーサネット: amd79c970(フレキシブル)
Plan 9カーネルはもっと幅広いハードウェアを認識する。フルシステムPlan 9を組むので、CPUサーバはディスクを使わず、イーサネットをE1000(e1000)にした。構成としては以下のように。
- esxi
- performanceディスク(SSD)
- reliableディスク(SAS RAID1)
- fs
- cache: performanceディスクに置く
- worm: reliableディスクに置く
- cpu, auth
- ether: e1000
- fsから/を得る
あとはファイルサーバのインストール記事と同じ。
ESXiをバックアップする
Section titled “ESXiをバックアップする”ESXiにログインして操作する。
ESXi設定のバックアップ
Section titled “ESXi設定のバックアップ”設定をいちどディスクに書き出しておいて、それをコピーする。
firmwareConfig.sh --backup /vmfs/volumes/reliable書き出したアーカイブを別のマシンから scp 等でコピーする。
scp root@esxi:/vmfs/volumes/reliable/configBundle-esxi.lufia.org.tgz disk設定をリストアしたことはないが、次のようなコマンドで戻せるらしい。
firmwareConfig.sh --restore /vmfs/volumes/reliable/configBundle仮想マシン構成ファイルのバックアップ
Section titled “仮想マシン構成ファイルのバックアップ”それぞれのディスクを別のマシンからコピーすればいい。まずは構成ファイルとNVRAM。
fsの構成ファイルとnvram
Section titled “fsの構成ファイルとnvram”scp root@esxi:/vmfs/volumes/performance/fs/fs.vmx fs/fs.vmxscp root@esxi:/vmfs/volumes/performance/fs/fs.vmsd fs/fs.vmsdscp root@esxi:/vmfs/volumes/performance/fs/fs.vmxf fs/fs.vmxf
scp root@esxi:/vmfs/volumes/performance/fs/fs.flp fs/fs.flpauthの構成ファイルとnvram
Section titled “authの構成ファイルとnvram”scp root@esxi:/vmfs/volumes/performance/auth/auth.vmx auth/auth.vmxscp root@esxi:/vmfs/volumes/performance/auth/auth.vmsd auth/auth.vmsdscp root@esxi:/vmfs/volumes/performance/auth/auth.vmxf auth/auth.vmxf
scp root@esxi:/vmfs/volumes/performance/auth/auth.flp auth/auth.flpcpuも同様に処理しておくといい。
仮想ディスクのバックアップ
Section titled “仮想ディスクのバックアップ”まずはESXiコンソールでスナップショットを取得する。
# vim-cmd vmsvc/getallvms15 auth16 fs17 cpu
# vim-cmd vmsvc/snapshot.create 16 forBackupCreate Snapshot:これでディスクのロックが外れるので、バックアップをESXi内に作成しておく。
vmkfstools -i /vmfs/volumes/reliable/fs/worm.vmdk -d monosparse \ /vmfs/volumes/reliable/rolante/worm-backup.vmdkスナップショットの取得が終わったらファイル名を確認して、別のマシンからコピーする。
ssh root@esxi "gzip -9c /vmfs/volumes/reliable/fs/worm-backup-s001.vmdk" >fs/worm-backup-s001.vmdk.gzscp root@esxi:/vmfs/volumes/reliable/fs/worm-backup.vmdk fs/worm-backup.vmdk不要になったスナップショットを削除する。
# vim-cmd vmsvc/snapshot.get 16Vmid Name File Guest OS Version Annotation...
# vim-cmd vmsvc/snapshot.remove 16 [snapshot id]# rm /vmfs/volumes/reliable/fs/worm-backup.vmdk# rm /vmfs/volumes/reliable/fs/worm-backup-s001.vmdkリストアする
Section titled “リストアする”試す機会は結局なかったが、バックアップで取得したファイルをESXiに戻して、たぶんこれで復旧できる。
vmkfstools -i /where/to/bkup.vmdk -d thin \ /vmfs/volumes/disk/guest/orig_not_flat.vmdk