VMware虛擬化容災備份程式設計(二)

2021-09-29 01:45:33 字數 2915 閱讀 5771

二、**

使用方法:vixdisklibsample command [options] diskpath

-meta:顯示虛擬磁碟元資料表中所有的項

-clone sourcepath:將源 vmdk 轉殖到指定的遠端站點

-readbench blocksize:使用指定的 i/o blocksize (以扇區為單位),在虛擬磁碟上讀取標籤。

-writebench blocksize:使用指定的 i/o blocksize (以扇區為單位),在虛擬磁碟上寫入標籤。警告:這可能會覆蓋磁碟上原有的資料

要用例程連線到esxi主機,必須指定選項-host、-user、-password,並在esxi主機的資料儲存(datastore)上提供磁碟路徑(diskpath)。例如:

vix-disklib-sample -info -host esx5 -user root -password secret "[datastore1] /.vmdk"
如果要連線到 vcenter server,還需要指定 -libdir 和 -vm 選項,disklibplugin 需要通過這兩個選項來連線到 vcenter server 並定位到指定 vm。例如:

vix-disklib-sample -info -host vc5 -user administrator -password secret -libdir -vm vmpath=" /.vmdk"
vmpath是在vsphere client裡由vcenter為首,並在虛擬機器名稱前插入/vm/構成。可以通過vcenter server中 edit setting > hard disk 並複製disk file名稱來確定diskpath。

vix-disklib-sample -info -host vc5 -user administrator -password secret -libdir /usr/lib/vmware-vix-disklib/lib64 -vm vmpath=datacenter/vm/rhel5 "[datastore1] rhel5/rhel5.vmdk"
如果希望使用高階傳輸進行連線,就必須指定 -mode 和 -ssmoref 選項。這兩個選擇的值會被傳遞到 vixdisklib_connectex。要找到 ssmoref,可以登入到vcenter server的託管物件瀏覽器,然後單擊content > rootfolder > datacenter > datastore > vm > snapshot。注意,虛擬機器的快照必須存在,因為開啟正在執行的虛擬機器的 bask disk 是非常危險的。例如:

vix-disklib-sample -info -host vc5 -user administrator -password secret -mode san -libdir /usr/lib/vmware-vix-disklib/lib64 -vm vmpath=datacenter/vm/rhel5  -ssmoref snapshot-72 "[datastore1] rhel5/rhel5.vmdk"
如果希望測試 vcenter/esx(i) 的讀寫效能可以應用 -readbench/writebench 選項,注意需要關閉虛擬機器電源後執行。

./vix-disklib-sample -readbench 40960 -host 192.168.10.103 -user root -password sysadmin -initex /usr/etc/vddk.conf -thumb 'd9:7a:e8:e3:d2:75:0b:23:ef:7c:44:91:bd:c5:6f:15:4b:7b:ea:0b' "[datastore1 (1)] edr-centos7_1/edr-centos7-000006.vmdk"
其中如果使用了 ssl 的連線方式,那麼你必須提供 vcenter/esx(i) 的指紋或者虛擬機器的 managed object reference 資訊,下列兩個小指令碼能夠獲取這些資訊。

func

get_obj

(ctx context.context, client govmomi.client, name string

, vmname string),

true

)if err !=

nildefer v.

destroy

(ctx)

var vms [

]mo.virtualmachine

err = v.

retrieve

(ctx,

string,[

]string

,&vms)

if err !=

nilfor

_, vm :=

range vms }}

func

main()

ctx := context.

background()

u.user = url.

userpassword

(user, password)

client, err := govmomi.

newclient

(ctx, u,

true

)if err !=

nilget_obj

(ctx,

*client,

"virtualmachine"

, vmname)

//print(vm)

}

echo -n | openssl s_client -connect ***.***.***.***:*** 2>/dev/null | openssl x509 -noout -fingerprint -sha1 |

cut -d '=' -f 2

3 3 備份容災

1 備份視窗 它是指在使用者正常使用的業務系統不受影響的情況下,能夠對業務系統中的業務資料進行資料 備份的時間間隔,或者說是用於備份的時間段。2 異構儲存 不同結構的儲存裝置組合起來的乙個儲存池,達到效能和穩定性的乙個很好的折中點 並且應用了虛擬化技術,使得其使用起來就像乙個整體,降低維護投入。不同...

mysql 容災 災備 備份

1 使用mysqldump命令備份 mysqldump命令將資料庫中的資料備份成乙個文字檔案。表的結構和表中的資料將儲存在生成的文字檔案中。mysqldump命令的工作原理很簡單。它先查出需要備份的表的結構,再在文字檔案中生成乙個create語句。然後,將表中的所有記錄轉換成一條insert語句。然...

容災備份技術 容災備份的等級和技術

容災備份的等級和技術 容災備份是通過在異地建立和維護乙個備份儲存系統,利用地理上的分離來保證系統和資料對災難性事件的抵禦能力。根據容災系統對災難的抵抗程度,可分為資料容災和應用容災。資料容災是指建立乙個異地的資料系統,該系統是對本地系統關鍵應用資料實時複製。當出現災難時,可由異地系統迅速接替本地系統...