我使用salt-stack和pyvmomi模塊與vcenter進行通信並創建虛擬機。在這個新創建的虛擬機上,我想從vcenter Datastore複製文件(大約1 GB)。可以使用InitiateFileTransferToGuest將文件上傳到VM,但我們如何才能將文件從數據存儲複製到VM?將文件從Vcentre數據存儲複製到VM
回答
我能想到的hackiest方法是:
- 保存1GB的文件.ISO {要麼使用MagicIso或 的linux的內置工具}。
- 現在將文件放置在數據存儲中。
- 現在,在創建虛擬機時,需要將cdrom設置爲指向文件數據而不是空字符串。
- 您可以編輯VMX文件或提供VMX選項 同時創造本身
ide1:0.deviceType = "cdrom-image" ide1:0.fileName = "/vmfs/volumes/5034a864-xxxxxx/data.iso" ide1:0.present = "TRUE"
- 上的來賓,這取決於電後guest,你可以添加一個批處理/ shell來複制到它的磁盤。
- 如果需要,您可以使用Invoke-VMScript powercli cmdlet爲您執行操作5。
乾杯, ZXI
怎麼樣運行的rsync
- ESXi主機:啓動SSH
- SSH密鑰
的一些理解。如果這是一個一次性的文件轉移你可能可以跳過第一步。
爲vCentre設置公共SSH密鑰。 SSH-密鑰生成在/usr/lib/vmware/openssh/bin
SSH-密鑰生成發現生成2個文件中~/.ssh
:id_rsa
和id_rsa.pub
ssh-keygen -f ~/.ssh/id_rsa -q -P ""
在遠程主機,存儲所述公鑰 如果~/.ssh/authorized_keys
使用ESXi的5或以下的地方id_rsa.pub
。 如果使用的是ESXi 5.5或向上公共密鑰位於其它地方所以把id_rsa.pub
在/etc/ssh/keys-<username>/authorized_keys
正如你可以存儲在該文件中不止一個鍵一個音符。
要允許root訪問,請在/etc/ssh/sshd_config
文件中將PermitRootLogin no
更改爲PermitRootLogin yes
。 要禁用密碼登錄,請確保ChallengeResponseAuthentication
和PasswordAuthentication
設置爲no
。
重新啓動SSH服務 的ESXi - /etc/init.d/SSH restart
ESX - service sshd reload
現在,我們有認證分類,我們現在可以通過一個加密通道,我們的目的地複製文件。 瞭解ssh密鑰的工作方式將使遠程執行任務變得更加簡單,並簡化部署和管理。
的Rsync 的rsync的基本語法是通過SSH如下rsync的選項源目標
的Rsync
某些選項 - VM當地
複製從遠程服務器(ESXi的)到一個文件本地服務器(VM)與SSH
rsync -avzhe ssh [email protected][vcentreIP]:/source_dir_to_copy/ /dest_dir_location/
複製一個文件f ROM本地服務器(VM)到遠程服務器(ESXi的)與SSH
rsync -avzhe ssh /source_dest_to_copy/ [email protected][vcentreIP]:/dest_dir_location/
某些選項 - ESXi的地方 - 的ESXi沒有得到rsync的安裝爲默認值。
複製從遠程服務器(VM)到本地服務器(ESXi的)文件與SSH
rsync -avzhe ssh [email protected][VMIP]:/source_dir_to_copy/ /dest_dir_location/
複製從本地服務器(ESXi的)到遠程服務器(VM)的文件用SSH
rsync -avzhe ssh /source_dest_to_copy/ [email protected][VMIP]:/dest_dir_location/
另一種方式可能是適合你的選擇。
使用上述相同的邏輯和方法。您可以在兩臺機器之間生成一組密鑰並使用代理來啓動rsync命令。
複製從虛擬機文件與SSH ESXi的
rsync -avzhe ssh [email protected][VMIP]:/source_dir_to_copy/ [email protected][vCentreIP]:/dest_dir_location/
複製從ESXi的文件到VM與SSH
rsync -avzhe ssh [email protected][vcentreIP]:/source_dir_to_copy/ [email protected][VMIP]:/dest_dir_location/
- 1. 將數據從文件複製到數據存儲
- 2. 將現有數據庫(存儲文件)複製到存儲文件夾
- 3. 將文件複製到外部存儲或從外部存儲中複製
- 4. 將文件從Android存儲複製到資產文件夾
- 5. 從GAE數據存儲複製數據
- 6. 將sqlite數據庫從文件複製到:內存使用C#
- 7. fcopy使用tcl將文件從主機複製到vm
- 8. 在Android中將文件從內部複製到外部存儲
- 9. 主/從數據存儲vs高複製數據存儲
- 10. 如何將文件從獨立存儲複製到手機存儲WP8?
- 11. 將數據從一個CSV文件存儲到數據庫
- 12. 將數據存儲到文件 - Android
- 13. 將數據永久存儲到文件
- 14. 將數據存儲到配置文件
- 15. Android studio複製數據庫文件到內部存儲
- 16. 從svn存儲庫複製文件
- 17. 從Res/Xml文件夾複製Xml文件到設備存儲
- 18. 將數值從二進制文件存儲到數組中 - C++
- 19. MIPS:將整數數據從文件中存儲到數組中
- 20. HDFS複製 - 數據存儲
- 21. 將文件從一個Azure VM複製到另一個文件手錶
- 22. 將文件從應用程序安裝文件夾複製到本地存儲
- 23. 從文件將數據存儲到一個數組
- 24. 將應用程序數據文件夾複製到外部存儲器
- 25. 從存儲在BLOB存儲中的zip存檔中提取文件並將其複製到本地文件夾
- 26. Hive:數據沒有從.csv文件複製到Hive表中(存儲在hdfs上)
- 27. 將「結構」數據存儲到二進制文件
- 28. 如何將數據從txt文件複製到數組
- 29. 將閃存'複選框'數據存儲到本地文本文件
- 30. 將內存中的原始數據複製到文件中(cuda)
,我腦子裏想的(想避免這種情況進程)除此之外,我們還可以使用salt-get-file將文件從主文件複製到小文件 –
pyvmomi salt只允許VC對象支持的操作。 InitiateFileTransferToGuest是pyvmomi調用來在工具運行時將文件傳輸給guest虛擬機。但是,該API需要從ESXi服務器觸發。 您可以嘗試使用NFS數據存儲,並在運行 – zXi
的工具上添加掛載{{mount.mounted}}到guest虛擬機。請分享有關NFS的更多詳細信息並在虛擬機上掛載數據點。謝謝 –