VMwareESX/ESXi 精簡置備(thin)與厚置備(thick)虛擬機磁盤之間轉換安全
VMwareESX/ESXi
虛擬機磁盤thin與thick之間轉換
注意:轉換前請先關閉虛擬機!!!
一. Thin to Thick轉換
Thin to Thick
轉換比較簡單,在圖形界面便可操做;
1.
瀏覽數據存儲
點擊虛擬機所在的ESX/ESXi主機,在」配置」選項卡下的」存儲器」內,瀏覽數據存儲,
2.
進入相應虛擬機目錄,選擇相應磁盤的vmdk文件,右鍵」擴充」;
擴充的過程真心的慢!基本上擴了一天==!
二. Thick to Thin轉換
Thick
轉換爲Thin模式沒有直接的圖形操做方式,須要使用SSH登陸ESX/ESXi主機,默認ESX/ESXi主機沒有開啓SSH服務,須要先打開SSH;
1.
開啓SSH服務
選擇虛擬機所在的ESX/ESXi主機,點擊」配置」選項卡,點擊」安全配置文件」,點擊服務面板的」屬性」;
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
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
而後將虛擬機從清單中移除
![](http://static.javashuo.com/static/loading.gif)
在數據存儲裏將
vmx文件添加到清單
![](http://static.javashuo.com/static/loading.gif)
保持默認下一步
![](http://static.javashuo.com/static/loading.gif)
按照原來的配置下一步
![](http://static.javashuo.com/static/loading.gif)
完成
![](http://static.javashuo.com/static/loading.gif)
此時打開虛擬機的
」編輯配置」選項
![](http://static.javashuo.com/static/loading.gif)
查看剛轉換的磁盤
,已經變成了精簡置備模式
![](http://static.javashuo.com/static/loading.gif)
而原來的虛擬磁盤由於沒有轉換
,仍爲厚置備模式;