1.3 VMware API
VMware 提供非常豐富的 API:
其中,我們可將與備份相關API分為兩類,一類是控制的API,主要用做管理vSphere 虛擬化環境;另一類是資料API,它們用於操作虛擬機的虛擬磁碟。
1.3.1 VMware API 和 SDK
VMware 透過Web Service 向用戶端提供訪問介面,可用於管理虛擬機和其他虛擬設施,包括資料中心(datacenter),資料存儲(datastore), 網路(network)等。同時提供了包括 Java, .NET, Python, Perl, REST, 以及 Ruby 等幾種語言在內 SDK。
對於其他語言,則需要通過 SOAP 協定訪問其 web service,gSoap是一種比較常見的用於C/C++語言編寫 web service 用戶端程式的套件。
詳細情況請閱讀https://www.vmware.com/support/pubs/sdk_pubs.html
1.3.2 VDDK 和 VADP
VDDK 全稱是 Virtual Disk Development Kit(虛擬磁碟 開發者套件),能幫助開發人員創建訪問虛擬機儲存應用。VDDK 基於 Virtual disk API。
Virtual disk API,即 VixDiskLib,是一組操作 VMDK 格式的虛擬磁碟檔案的函數。
主要功能包括:
• create, convert, expand, defragment, shrink, and rename 虛擬磁碟檔
• 創建 redo logs 和刪除 vmdk 檔
• 訪問 vmdk 檔中任意資料,以及讀取中繼資料
• 連接到遠端 vSphe 存儲,使用高級的傳輸方式,包括
1.SAN (備份程式所在的伺服器能夠直接通過 FC 或者 iSCSI 和虛機磁片所在的存儲連接)
2.hotadd(虛擬磁片附加到備份程式所在虛機成為其一個磁片)
3.LAN (備份程式通過 LAN 訪問虛擬磁片)。
VADP 全名為 VMware Storage APIs - Data Protection(VMware 存儲API-資料保護),它使用 virtual disk API 和部分 vSphre API 來創建和管理虛擬機快照,支援完整和增量備份。
參考資料:
How do Virtual Machine Snapshots work in VMware
Virtual Volumes – A new way of doing snapshots
VMware Transport Modes: Best practices and troubleshooting
Virtual Disk Transport Methods
How Volume Shadow Copy Service Works