AHVで仮想マシンを作るときのドライブ選択とその変更方法
Nutanix独自のハイパーバイザーであるAHVは使えるものなんですが、使いだした方がよくはまるポイントがあります。
私もはまったポイントがあったので共有します。
今回のお話は、AHVで仮想マシンを作るときのドライブ選択とその変更方法についてです。
AHV上の仮想マシンのドライブ選択
ドキュメントによると次のような記載があります。SUPPORTED GUEST VM TYPES FOR AHV
-----OS types with SCSI (recommended) and IDE bus types
Windows 7, 8, 8.1, 10
Windows Server 2008 R2, 2012, 2012 R2, 2016
RHEL 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3
CentOS 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3
Ubuntu 12.04.5, 14.04.x, 16.04.x, 16.10, Server, Desktop (32-bit and 64-bit)
FreeBSD 9.3, 10.0, 10.1,10.2, 10.3, 11.0
SUSE Linux Enterprise Server 11 SP3 / SP4
SUSE Linux Enterprise Server 12
Oracle Linux 6.x, 7.x
OS types with PCI (recommended) and IDE bus types
RHEL 5.10, 5.11, 6.3
CentOS 5.10, 5.11, 6.3
Ubuntu 12.04
SUSE Linux Enterprise Server 12
-----
どのバスタイプを選択するとよいのでしょうか?
正解は、recommendと記載されている「scsi」です。
sataの場合、AsyncDR(Nutanix TimeStream)によるスナップショットをとると、
次のようなエラーにより静止点確保に失敗します。
「VSS snapshot is not supported for the VM <VM Name>, because VM has IDE disks attached. 」
NGTにIDEは非対応であることは認識していましたが、SATAもIDEの一種とみなされるようですね。
検証用の環境を作ってHotfixも当てて、スナップショットも取ってさあばっちり遊ぼう!
と思った矢先に気づきました。
静止点とれてない...。
なお、現状のAHVではPrismからバスタイプを変更することはできません。
一からやり直しか…とへこむ前に模索してみました。
busタイプの変更方法
GUIでダメならCLIで。ACLIで仮想マシンの構成を調査します。
$ acli vm.get <vm name>
nutanix@NTNX-2200ee4c-A-CVM:192.168.0.130:~$ acli <acropolis> vm.get nDC02 nDC02 { config { agent_vm: False allow_live_migrate: True disk_list { addr { bus: "ide" index: 0 } cdrom: True empty: True } disk_list { addr { bus: "sata" index: 0 } container_id: 4 container_uuid: "967bd4ac-1bce-4c97-843d-f8b8c0148f42" source_nfs_path: "/default-container-77139635402391/.snapshot/80/3509993304633724615-1513076510228572-180/.acropolis/vmdisk/1b535d83-8d56-4571-9050-17d25fdcef19" vmdisk_size: 64424509440 vmdisk_uuid: "0e83b0e4-b15d-42d9-8941-eda50bb5d487" } : |
「bus: "sata"」が「bus: "scsi"」に変わればSCSIとして認識するはずです。
acliにはディスクを作成するコマンドがあります。
<acropolis> vm.disk_create
TABで補完していくと、busタイプを選べます。
<acropolis> vm.disk_create <vm name> bus=scsi
さらにTABで補完していくと、既存のvdiskからクローンするコマンドを発見!
cdrom= Indicates if the disk is a CDROM drive clone_from_adsf_file= Path to an ADSF file clone_from_image= An image name/UUID clone_from_vmdisk= A vmdisk UUID clone_min_size= Minimum size of the resulting clone (only applies to cloned disks) container= Container (only applies to newly-created disks) create_size= Size of new disk empty= Whether the disk is empty (only applies to CDROMs) index= Device index on bus scsi_passthru= Passthrough disk? |
次のコマンドでクローニングに成功!
<acropolis> vm.disk_create nDC02 bus=scsi clone_from_vmdisk=vm:nDC02:sata.0
Prismからもscsiのボリュームがマウントされていることが確認できます。
xをクリックして不要なsataドライブを削除します。
あらためてacliで仮想マシンの構成を確認します。
<acropolis> vm.get nDC02 nDC02 { config { agent_vm: False allow_live_migrate: True disk_list { addr { bus: "ide" index: 0 } cdrom: True empty: True } disk_list { addr { bus: "scsi" index: 0 } container_id: 4 container_uuid: "967bd4ac-1bce-4c97-843d-f8b8c0148f42" source_vmdisk_uuid: "0e83b0e4-b15d-42d9-8941-eda50bb5d487" vmdisk_size: 64424509440 vmdisk_uuid: "f52092c8-918c-418d-9064-5dc6d8fd2978" } : /td> |
bus: "scsi"としてドライブがマウントされています。
仮想マシンを起動してみると…。起動しました!
デバイスマネージャーを確認しても、SCSIドライブとして認識されています。
SATAの場合
SCSIの場合
これで今日も安心して眠れます。
しくじり先生からのお約束:
・AHVで作成する仮想マシンのbusタイプはSCSIを選びましょう。
・間違った場合もacliで何とかなります。あきらめずにチャレンジしましょう!
次回のNutanix Advent Calendarは「nominiikou_net」さんによる、運用者目線の記事です。
コメント
コメントを投稿