2018-06-19_Nutanixのディスクイメージをvdi形式に変換する

このページで分かること

  • Nutanix上で管理しているディスクイメージをvdi形式に変換する方法

会社で使っていたnutanixというハイパーコンバージドインフラストラクチャ(vmwareなどと同じ仮想アプライアンス)が ハード障害で起動不可になったため動いていたゲストOSをVirtualboxへ移行した際の備忘録です。

結論

CVM上から対象ディスクをnfsマウントしてをコピーします。nfsマウントするLinux環境が別に必要。

参考:http://blog.ntnx.jp/entry/2016/06/09/081212

CVM上で対象のディスクイメージを特定

使用しているコンテナの特定

1
2
3
4
5
6
#r 使用しているコンテナの特定
$ ncli container list | grep Name
[Thu Apr 26 11:58:41.702 2018]     Name                      : default-container-81148704361867
[Thu Apr 26 11:58:41.702 2018]     VStore Name(s)            : default-container-81148704361867
[Thu Apr 26 11:58:41.704 2018]     Name                      : NutanixManagementShare
[Thu Apr 26 11:58:41.708 2018]     VStore Name(s)            : NutanixManagementShare

今回は2つコンテナが存在していることが分かります。対象の環境はdefault-container-81148704361867に格納されています。

コンテナの中身を確認

コンテナの中身を確認。vmdiskがディスクイメージファイルとなっています。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
##c コンテナの中身を確認
#r nfs_ls -a -R /default-container-81148704361867
[Thu Apr 26 11:59:00.692 2018] .acropolis
[Thu Apr 26 11:59:00.692 2018] .acropolis/image
[Thu Apr 26 11:59:00.692 2018] .acropolis/snapshot
[Thu Apr 26 11:59:00.692 2018] .acropolis/snapshot/2b89a156-1e2b-47c6-bb77-16fa448dde2a
[Thu Apr 26 11:59:00.692 2018] .acropolis/snapshot/2b89a156-1e2b-47c6-bb77-16fa448dde2a/vmdisk
[Thu Apr 26 11:59:00.692 2018] .acropolis/snapshot/2b89a156-1e2b-47c6-bb77-16fa448dde2a/vmdisk/c36b56e5-affe-48e7-966e-4211b7a71b65
[Thu Apr 26 11:59:00.692 2018] .acropolis/snapshot/34150625-e664-408d-820e-5e2088dc46da
[Thu Apr 26 11:59:00.692 2018] .acropolis/snapshot/34150625-e664-408d-820e-5e2088dc46da/vmdisk
[Thu Apr 26 11:59:00.692 2018] .acropolis/snapshot/34150625-e664-408d-820e-5e2088dc46da/vmdisk/ec51c56e-770b-472b-88d4-0cf52a7e849c
[Thu Apr 26 11:59:00.692 2018] .acropolis/snapshot/3f546926-0232-4655-aeac-286b38c2d913
[Thu Apr 26 11:59:00.707 2018] .acropolis/snapshot/3f546926-0232-4655-aeac-286b38c2d913/vmdisk
[Thu Apr 26 11:59:00.707 2018] .acropolis/snapshot/5d4a248e-930f-4301-971d-e2cc255677fa
[Thu Apr 26 11:59:00.707 2018] .acropolis/snapshot/5d4a248e-930f-4301-971d-e2cc255677fa/vmdisk
[Thu Apr 26 11:59:00.707 2018] .acropolis/snapshot/5d4a248e-930f-4301-971d-e2cc255677fa/vmdisk/c36b56e5-affe-48e7-966e-4211b7a71b65
[Thu Apr 26 11:59:00.707 2018] .acropolis/snapshot/838554aa-5030-48ff-8fd5-53326d1aa8d5
[Thu Apr 26 11:59:00.707 2018] .acropolis/snapshot/838554aa-5030-48ff-8fd5-53326d1aa8d5/vmdisk
[Thu Apr 26 11:59:00.707 2018] .acropolis/snapshot/9874633a-e84a-43b2-80a8-8b36b86763ba
[Thu Apr 26 11:59:00.707 2018] .acropolis/snapshot/9874633a-e84a-43b2-80a8-8b36b86763ba/vmdisk
[Thu Apr 26 11:59:00.707 2018] .acropolis/snapshot/d2ff3601-704d-43d6-808a-e033dd3b997d
[Thu Apr 26 11:59:00.707 2018] .acropolis/snapshot/d2ff3601-704d-43d6-808a-e033dd3b997d/vmdisk
[Thu Apr 26 11:59:00.707 2018] .acropolis/snapshot/d2ff3601-704d-43d6-808a-e033dd3b997d/vmdisk/5477c310-ec2c-4f3b-9c7d-ec337e013cde
[Thu Apr 26 11:59:00.707 2018] .acropolis/vmdisk
[Thu Apr 26 11:59:00.707 2018] .acropolis/vmdisk/088f8a13-6cea-4115-b912-dd5a1c0eac6f
[Thu Apr 26 11:59:00.707 2018] .acropolis/vmdisk/3440756b-1d8a-405b-8d2e-f1fc3723d1cf
[Thu Apr 26 11:59:00.707 2018] .acropolis/vmdisk/466015b0-711f-4dca-ab5e-665c9d8f0631
[Thu Apr 26 11:59:00.707 2018] .acropolis/vmdisk/57b09a5e-e5bd-4687-9c72-b416e43c232a
[Thu Apr 26 11:59:00.707 2018] .acropolis/vmdisk/8acf635f-acd3-483b-a8c8-c04152bda710
[Thu Apr 26 11:59:00.720 2018] .acropolis/vmdisk/aa660700-0ce1-4356-b45d-f472e4f6d92e
[Thu Apr 26 11:59:00.720 2018] .acropolis/vmdisk/c0fe9841-4e9e-42fb-a73c-70a397adc8a9
[Thu Apr 26 11:59:00.720 2018] .acropolis/vmdisk/c36b56e5-affe-48e7-966e-4211b7a71b65
[Thu Apr 26 11:59:00.720 2018] .acropolis/vmdisk/c3a0101b-4817-438b-9ec5-e57bb1fccba6
[Thu Apr 26 11:59:00.720 2018] .acropolis/vmdisk/cb40a595-82ea-4ec5-a1a6-f08987249aaa
[Thu Apr 26 11:59:00.720 2018] .acropolis/vmdisk/cdbc11f3-2f31-4122-a842-8f935efc19f1
[Thu Apr 26 11:59:00.720 2018] .acropolis/vmdisk/e7e2da64-062a-4ad7-8832-5451e475b5b7

対象vmのディスクuuidを確認

対象vmのディスクuuidを確認します。

1
2
3
4
5
##c 対象ディスクのuuid確認
#r acli vm.get hoge_vm | grep -e bus -e vmdisk_uuid
[Thu Apr 26 11:59:46.359 2018]         bus: "scsi"
[Thu Apr 26 11:59:46.359 2018]       source_vmdisk_uuid: "5477c310-ec2c-4f3b-9c7d-ec337e013cde"
[Thu Apr 26 11:59:46.359 2018]       vmdisk_uuid: "c36b56e5-affe-48e7-966e-4211b7a71b65"

nfsのマウント制御用のホワイトリスト確認

NFS Whitelist Inheritedがtrueの場合はホワイトリストに対象ネットワークを追加する必要があります。

1
2
3
4
5
6
##c NFSホワイトリストの確認
#r ncli container list | grep -e Nam e -e Whitelist
[Thu Apr 26 12:11:43.555 2018]     Name                      : default-container-81148704361867
[Thu Apr 26 12:11:43.568 2018]     NFS Whitelist Inherited   : true
[Thu Apr 26 12:11:43.568 2018]     Container NFS Whitelist   : 
[Thu Apr 26 12:11:43.568 2018]     VStore Name(s)            : default-container-81148704361867

ホワイトリストにネットワーク帯域を追加

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
##c ホワイトリストにネットワーク帯域の追加
##c NFSマウントするPCが所属するネットワーク帯域を指定する
#r ncli container add-to-nfs-whiteli st name=default-container-81148704361867 ip-subnet-masks=192.168.11.0/255.255. 255.0
[Thu Apr 26 12:13:11.115 2018] The containers listed below are storage containers
[Thu Apr 26 12:13:11.115 2018] 
[Thu Apr 26 12:13:11.115 2018]     Id                        : 00054a58-361a-cad8-740e-68b5996eab1e::4
[Thu Apr 26 12:13:11.115 2018]     Uuid                      : 0487ead1-a417-46ae-abe3-5f0970ac8262
[Thu Apr 26 12:13:11.115 2018]     Name                      : default-container-81148704361867
[Thu Apr 26 12:13:11.115 2018]     Storage Pool Id           : 00054a58-361a-cad8-740e-68b5996eab1e::3
[Thu Apr 26 12:13:11.115 2018]     Storage Pool Uuid         : 1b126c8e-10a0-463d-9220-090f092f023d
[Thu Apr 26 12:13:11.115 2018]     Free Space (Logical)      : 1.47 TiB (1,613,963,937,157 bytes)
[Thu Apr 26 12:13:11.115 2018]     Used Space (Logical)      : 57.22 GiB (61,441,343,488 bytes)
[Thu Apr 26 12:13:11.115 2018]     Allowed Max Capacity      : 1.52 TiB (1,675,405,280,645 bytes)
[Thu Apr 26 12:13:11.115 2018]     Used by other Containers  : 0 bytes
[Thu Apr 26 12:13:11.115 2018]     Explicit Reservation      : 0 bytes
[Thu Apr 26 12:13:11.115 2018]     Thick Provisioned         : 0 bytes
[Thu Apr 26 12:13:11.115 2018]     Replication Factor        : 1
[Thu Apr 26 12:13:11.115 2018]     Oplog Replication Factor  : 1
[Thu Apr 26 12:13:11.115 2018]     NFS Whitelist Inherited   : false
[Thu Apr 26 12:13:11.120 2018]     Container NFS Whitelist   : 192.168.11.0/255.255.255.0
[Thu Apr 26 12:13:11.120 2018]     VStore Name(s)            : default-container-81148704361867
[Thu Apr 26 12:13:11.120 2018]     Random I/O Pri Order      : SSD-PCIe, SSD-SATA, DAS-SATA
[Thu Apr 26 12:13:11.120 2018]     Sequential I/O Pri Order  : SSD-PCIe, SSD-SATA, DAS-SATA
[Thu Apr 26 12:13:11.121 2018]     Compression               : off
[Thu Apr 26 12:13:11.121 2018]     Fingerprint On Write      : off
[Thu Apr 26 12:13:11.121 2018]     On-Disk Dedup             : none
[Thu Apr 26 12:13:11.121 2018]     Erasure Code              : off

移行対象vmの状態確認

kOffであればvm停止状態です。

1
2
#r acli vm.get hoge_vm | grep state
  state: "kOff"

NFSマウントする側の準備

必要パッケージのダウンロード

nfsマウントにnfs-utils、イメージ変換にqemu-imgを使用します。yumで一発で導入できます。。

1
#r yum install -y nfs-utils qemu-img

CVMの対象コンテナをnfsマウント

コンテナの内容確認で確認したコンテナ名を指定します。

1
2
3
4
##c mount 192.168.xxx.xxx:/default-container-81148704361867 /mnt

##c 対象のuuidを探す
##c ls -la /mnt/.acropolis/vmdisk/

qemuコマンドで変換

ディスイメージをVirtualboxで扱えるvdi形式に変換します。 nfsでマウントしているので、作業していたマシンのローカルに変換後のディスクが作成されます。 ディスク容量は使用している部分のみが実容量になるみたいです。

1
#r qemu-img convert -O vdi /mnt/.acropolis/vmdisk/c36b56e5-affe-48e7-966e-4211b7a71b65 /run/media/hoge/HDD-001/hoge_vm.vdi