1. 程式人生 > >轉:esxi6.7使用命令列克隆vmdk檔案

轉:esxi6.7使用命令列克隆vmdk檔案

esxi使用命令列克隆vmdk檔案

2018年5月14日 0條評論 1,338次閱讀 1人點贊

前言

最近VMware釋出了vsphere6.7,找個機會測試下。自己筆記本的workstation記憶體太小,只能搞個esxi先試試,等有機會用家裡的桌上型電腦測試下vCenter Server和VCSA。(因為現在這兩個東西安裝都要檢測記憶體,達不到要求裝不了。。最小記憶體10GB!  我吃檸檬!!)安裝esxi這個就不要說了吧,網上大把傻瓜教程,裝好後忽然發現esxi主機沒有虛擬機器克隆功能。。。可能是原來一直都使用VC,從來沒有關注過這個。好吧,既然介面沒有,那麼就使用命令吧。

vmkfstools介紹

vmkfstools工具esxi主機自帶的一個操作vmdk檔案和vmfs檔案系統的工具,類似於KVM中的qemu-img工具。我們可以通過它來建立、修改、克隆、刪除vmdk檔案等一系列操作。具體的使用方法參加vmkfstools -H

 

[root @localhost:~] vmkfstools -H OPTIONS FOR FILE SYSTEMS: vmkfstools -C --createfs [vmfs5|vmfs6|vfat] -S --setfsname fsName -Y --unmapGranularity #[bBsSkKmMgGtT] -O --unmapPriority <none|low|medium|high> -Z --spanfs span-partition -G --growfs grown-partition deviceName -P --queryfs -h --humanreadable -T --upgradevmfs vmfsPath -y --reclaimBlocks vmfsPath [--reclaimBlocksUnit #blocks] OPTIONS FOR VIRTUAL DISKS: vmkfstools -c --createvirtualdisk #[bBsSkKmMgGtT] -d --diskformat [zeroedthick |thin |eagerzeroedthick ] -a --adaptertype [deprecated] -W --objecttype [file|vsan|vvol|pmem|upit] --policyFile <fileName> -w --writezeros -j --inflatedisk -k --eagerzero -K --punchzero -U --deletevirtualdisk -E --renamevirtualdisk srcDisk -i --clonevirtualdisk srcDisk -d --diskformat [zeroedthick |thin |eagerzeroedthick |rdm:<device>|rdmp:<device> |2gbsparse] -W --object [file|vsan|vvol] --policyFile <fileName> -N --avoidnativeclone -X --extendvirtualdisk #[bBsSkKmMgGtT] [-d --diskformat eagerzeroedthick] -M --migratevirtualdisk -r --createrdm /vmfs/devices/disks/... -q --queryrdm -z --createrdmpassthru /vmfs/devices/disks/... -v --verbose # -g --geometry -x --fix [check|repair] -e --chainConsistent -Q --objecttype name/value pair --uniqueblocks childDisk --dry-run [-K] vmfsPath OPTIONS FOR DEVICES: -L --lock [reserve|release|lunreset|targetreset|busreset|readkeys|readresv ] /vmfs/devices/disks/... -B --breaklock /vmfs/devices/disks/... OPTIONS FOR VMFS MODULE: --traceConfig [0|1] --dataTracing [0|1] --traceSize <x> (MB)
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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 [root @localhost:~] vmkfstools -H   OPTIONS FOR FILE SYSTEMS:   vmkfstools -C --createfs [vmfs5|vmfs6|vfat]                -S --setfsname fsName                -Y --unmapGranularity #[bBsSkKmMgGtT]                -O --unmapPriority <none|low|medium|high>            -Z --spanfs span-partition            -G --growfs grown-partition    deviceName              -P --queryfs -h --humanreadable            -T --upgradevmfs    vmfsPath            -y --reclaimBlocks vmfsPath [--reclaimBlocksUnit #blocks]   OPTIONS FOR VIRTUAL DISKS:   vmkfstools -c --createvirtualdisk #[bBsSkKmMgGtT]                -d --diskformat [zeroedthick                                |thin                                |eagerzeroedthick                                ]                -a --adaptertype [deprecated]                -W --objecttype [file|vsan|vvol|pmem|upit]                --policyFile <fileName>            -w --writezeros            -j --inflatedisk            -k --eagerzero            -K --punchzero            -U --deletevirtualdisk            -E --renamevirtualdisk srcDisk            -i --clonevirtualdisk srcDisk                -d --diskformat [zeroedthick                                |thin                                |eagerzeroedthick                                |rdm:<device>|rdmp:<device>                                |2gbsparse]                -W --object [file|vsan|vvol]                --policyFile <fileName>                -N --avoidnativeclone            -X --extendvirtualdisk #[bBsSkKmMgGtT]                [-d --diskformat eagerzeroedthick]            -M --migratevirtualdisk            -r --createrdm /vmfs/devices/disks/...            -q --queryrdm            -z --createrdmpassthru /vmfs/devices/disks/...            -v --verbose #            -g --geometry            -x --fix [check|repair]            -e --chainConsistent            -Q --objecttype name/value pair            --uniqueblocks childDisk            --dry-run [-K]    vmfsPath   OPTIONS FOR DEVICES:              -L --lock [reserve|release|lunreset|targetreset|busreset|readkeys|readresv                      ] /vmfs/devices/disks/...            -B --breaklock /vmfs/devices/disks/...     OPTIONS FOR VMFS MODULE:              --traceConfig [0|1]            --dataTracing [0|1]            --traceSize <x> (MB)

 

這裡只需要我們只需要使用到vmkfstools -i <source-disk-name.vmdk> -d [zeroedthick |thin |eagerzeroedthick |rdm:<device>|rdmp:<device> |2gbsparse] <destination-disk-name.vmdk> 注:-d選項不是必須選項,如果不配置,則克隆出來的vmdk檔案與原檔案格式一樣。

克隆操作

首先建立一個新虛擬機器,建立步驟省略,但是這裡需要注意的是,建立虛擬機器時,不要建立虛擬硬碟,可以在自定義設定中將硬碟刪除;

《esxi使用命令列克隆vmdk檔案》

建立完成的虛擬機器沒有配置虛擬硬碟;

《esxi使用命令列克隆vmdk檔案》

開啟主機的SSH服務(預設關閉);

《esxi使用命令列克隆vmdk檔案》

SSH登入後,檢視需要克隆的現有虛擬機器虛擬硬碟;

 

[root @localhost:~] ls -l /vmfs/volumes/datastore1/Windows\ 7/ total 31458368 -rw------- 1 root root 32212254720 May 14 07:05 Windows 7-flat.vmdk -rw------- 1 root root 8684 May 14 07:05 Windows 7.nvram -rw------- 1 root root 503 May 14 07:01 Windows 7.vmdk -rw-r--r-- 1 root root 0 May 14 06:48 Windows 7.vmsd -rwxr-xr-x 1 root root 3204 May 14 07:05 Windows 7.vmx -rw------- 1 root root 47 May 14 07:01 Windows 7.vmxf -rw-r--r-- 1 root root 296408 May 14 07:05 vmware.log
1 2 3 4 5 6 7 8 9 [root @localhost:~] ls -l /vmfs/volumes/datastore1/Windows\ 7/ total 31458368 -rw-------    1 root     root     32212254720 May 14 07:05 Windows 7-flat.vmdk -rw-------    1 root     root          8684 May 14 07:05 Windows 7.nvram -rw-------    1 root     root           503 May 14 07:01 Windows 7.vmdk -rw-r--r--    1 root     root             0 May 14 06:48 Windows 7.vmsd -rwxr-xr-x    1 root     root          3204 May 14 07:05 Windows 7.vmx -rw-------    1 root     root            47 May 14 07:01 Windows 7.vmxf -rw-r--r--    1 root     root        296408 May 14 07:05 vmware.log

 

這裡我們克隆Windows 7.vmdk檔案至虛擬機器test虛擬機器目錄;

 

[root @localhost:~] vmkfstools -i /vmfs/volumes/datastore1/Windows\ 7/Windows\ 7.vmdk /vmfs/volumes/data store1/test/test.vmdk Destination disk format: VMFS zeroedthick Cloning disk '/vmfs/volumes/datastore1/Windows 7/Windows 7.vmdk'... Clone: 100% done.
1 2 3 4 5 [root@localhost:~] vmkfstools -i /vmfs/volumes/datastore1/Windows\ 7/Windows\ 7.vmdk /vmfs/volumes/data store1/test/test.vmdk Destination disk format: VMFS zeroedthick Cloning disk '/vmfs/volumes/datastore1/Windows 7/Windows 7.vmdk'... Clone: 100% done.

 

提示克隆完成,檢視test虛擬機器目錄下vmdk檔案;

 

[root@localhost:~] ls -l /vmfs/volumes/datastore1/test/ total 31457280 -rw------- 1 root root 32212254720 May 14 09:02 test-flat.vmdk -rw------- 1 root root 521 May 14 09:03 test.vmdk -rw-r--r-- 1 root root 0 May 14 08:29 test.vmsd -rwxr-xr-x 1 root root 1831 May 14 08:29 test.vmx
1 2 3 4 5 6 [root@localhost:~] ls -l /vmfs/volumes/datastore1/test/ total 31457280 -rw-------    1 root     root     32212254720 May 14 09:02 test-flat.vmdk -rw-------    1 root     root           521 May 14 09:03 test.vmdk -rw-r--r--    1 root     root             0 May 14 08:29 test.vmsd -rwxr-xr-x    1 root     root          1831 May 14 08:29 test.vmx

 

下面只要將新虛擬機器新增一塊虛擬硬碟,將路徑指向這個vmdk檔案即可。

《esxi使用命令列克隆vmdk檔案》

《esxi使用命令列克隆vmdk檔案》

《esxi使用命令列克隆vmdk檔案》

啟動虛擬機器,完成克隆。

《esxi使用命令列克隆vmdk檔案》

發現

這次還發現了workstation也能夠遠端管理ESXi主機或vCenter Server,可以直接將workstation與ESXi中的虛擬機器進行相互的上載和下載,不用以前費事的匯出ovf再匯入了。

《esxi使用命令列克隆vmdk檔案》

《esxi使用命令列克隆vmdk檔案》