VMwareESX/ESXi 精簡置備(thin)與厚置備(thick)虛擬機磁盤之間轉換

VMwareESX/ESXi 精簡置備(thin)與厚置備(thick)虛擬機磁盤之間轉換[Yerik原創]

VMwareESX/ESXi 虛擬機磁盤thinthick之間轉換

注意:轉換前請先關閉虛擬機!!!

一.  Thin to Thick轉換

Thin to Thick轉換比較簡單,在圖形界面即可操作;

1.    瀏覽數據存儲

點擊虛擬機所在的ESX/ESXi主機,在”配置”選項卡下的”存儲器”內,瀏覽數據存儲,

c415a644d688d43fbd2e8ebe7d1ed21b0ff43b89


2.    進入相應虛擬機目錄,選擇相應磁盤的vmdk文件,右鍵擴充”;

77d4e1638535e5dd14c8ba9376c6a7efcf1b62a9

擴充的過程真心的慢!基本上擴了一天==!


二.  Thick to Thin轉換

Thick轉換爲Thin模式沒有直接的圖形操作方式,需要使用SSH登錄ESX/ESXi主機,默認ESX/ESXi主機沒有開啓SSH服務,需要先打開SSH;

1.開啓SSH服務

選擇虛擬機所在的ESX/ESXi主機,點擊配置選項卡,點擊安全配置文件”,點擊服務面板的屬性”;

5ac6c302918fa0ec92957b41269759ee3c6ddbc7

e125fc94d143ad4b8660598c82025aafa50f06c2

addce5c9a786c91759aa4d75c93d70cf3ac757e3



2.使用SSH工具登陸並生成Thin磁盤

用戶名:root

密碼:使用vSphere Client登錄ESX/ESXi的密碼


<1> 進入虛擬機所在的datastore目錄

# cd /vmfs/volumes/datastore1/

# ls

Data_base_SQL

RHEL-5.5-x64-temp

SQLServer2008

SUSE11

thick2thin

vCenter Server


該datastore目錄下可能有很多與虛擬機同名的目錄,本次轉換的虛擬機爲thick2thin,進入該虛擬機目錄


# cd thick2thin/

# ls

thick2thin-c27753e1.vswp          thick2thin.vmxf

thick2thin-flat.vmdk              thick2thin_1-flat.vmdk

thick2thin.nvram                  thick2thin_1.vmdk

thick2thin.vmdk                  vmware.log

thick2thin.vmsd                  vmx-thick2thin-3262600161-1.vswp

thick2thin.vmx


該虛擬機目錄下有許多以虛擬機名開頭的文件,其中轉換過程中需要用到的文件是vmdk磁盤文件,vmdk有兩種,一種是虛擬機名.vmdk”,另一種是虛擬機名-flat.vmdk”,vmdk文件很小,存放了虛擬磁盤的一些配置信息(如虛擬磁盤數據文件等),實際數據都存放在flat.vmdk文件中,轉換時需要使用vmdk文件而不是flat.vmdk文件;此例中有兩個虛擬磁盤,所以vmdk和flat.vmdk文件各有兩個;


<2>開始轉換

轉換思路:

A.       先使用vmkfstools將厚模式的vmdk文件克隆爲精簡的vmdk磁盤文件,克隆出的精簡磁盤文件將包括vmdk和flat.vmdk文件;

B.       將原來的厚模式磁盤文件vmdk和flat.vmdk文件備份或刪除(建議使用mv命令將其重命名備份,以免因轉換失敗而誤刪數據);

C.       將新生成的vmdk和flat.vmdk磁盤文件分別重命名爲與原磁盤同名的磁盤文件

D.       重新從虛擬機清單中刪除添加虛擬機


Vmkfstools命令格式

# vmkfstools -i<source-disk-name.vmdk>-d {thin|thick}<destination-disk-name.vmdk>

參數解釋:

-i <source-disk-name.vmdk>參數:原vmdk磁盤名

-d {thin|thick}<destination-disk-name.vmdk> :目標磁盤的格式,thin或thick; <destination-disk-name.vmdk>爲要生成的目標vmdk磁盤名;



1)       轉換磁盤

# vmkfstools -i thick2thin.vmdk -d thin thin.vmdk

Destination diskformat: VMFS thin-provisioned

Cloning disk'thick2thin.vmdk'...

Clone: 100% done.


克隆完成將生成兩個新的vmdk和flat.vmdk文件

# ls

thick2thin-flat.vmdk    thick2thin.vmx          thin-flat.vmdk

thick2thin.nvram        thick2thin.vmxf         thin.vmdk

thick2thin.vmdk         thick2thin_1-flat.vmdk  vmware.log

thick2thin.vmsd         thick2thin_1.vmdk


使用mv重命名將原磁盤vmdk和flat.vmdk備份

# mvthick2thin.vmdk  thick2thin.vmdk.bak

# mvthick2thin-flat.vmdk  thick2thin-flat.vmdk.bak


將新生成的精簡vmdk文件重命名爲原厚模式的磁盤名稱

# mv thin.vmdk  thick2thin.vmdk

注意:在vSphere Client中啓動虛擬機,做到此步基本已經完成了Thick to Thin的轉換,並且虛擬機已經可以正常啓動,但是我們發現flat.vmdk文件並沒有更改名字虛擬機也可以正常啓動,因爲新生成vmdk文件裏指定了新的flat.vmdk文件,我們可以通過vi手動更改文件名來修改虛擬機的flat.vmdk名稱以便於後期虛機的維護和管理;此時可以啓動虛擬機進行測試一下;



更改磁盤名:

首先關閉虛擬機,使用ssh進入主機的虛擬機目錄下,使用mv命令將新生成的thin-flat.vmdk文件更改成原來的虛機磁盤名稱thick2thin-flat.vmdk

# mvthin-flat.vmdk thick2thin-flat.vmdk


此時如果在vSphere Client啓動虛擬機將報”找不到磁盤文件”類似的錯誤,因爲虛擬機啓動時需要通過vmdk文件找到flat.vmdk文件,所以需要修改vmdk文件中的磁盤文件名;

使用vi修改其中一行含有flat.vmdk的參數,將該部分修改成新的磁盤文件名

# vi thick2thin.vmdk

# Extentdescription

RW 83886080 VMFS"thick2thin-flat.vmdk"       #注意,此處原來爲轉換成的thin-flat.vmdk



然後將虛擬機從清單中移除


2dd802d2d539b600fc4310fbe950352ac75cb780

在數據存儲裏將vmx文件添加到清單

2726dd25b899a901c4db447a1d950a7b0308f5a3


保持默認下一步

9bda48d88d1001e9dfb50b43b80e7bec55e7978c


按照原來的配置下一步

cbc8808e8c5494ee0fcb10552df5e0fe98257eac


完成

ce15478ca9773912c0ad9a2df8198618377ae28e


此時打開虛擬機的”編輯配置”選項

999db3d7277f9e2f85de02441f30e924b999f3ae

查看剛轉換的磁盤,已經變成了精簡置備模式

5f1ffd3c70cf3bc7b4ead2a0d100baa1cc112aae


而原來的虛擬磁盤因爲沒有轉換,仍爲厚置備模式;

ce325f610c3387445e2f3030510fd9f9d62aa0af


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章