Python 将文件从vCenter数据存储复制到VM
我使用salt stack和pyvmomi模块与vcenter通信并创建VM。在这个新创建的虚拟机上,我想从vcenter数据存储中复制文件(大约1 GB)。InitiateFileTransferToGuest可用于将文件上载到VM,但我们如何将文件从数据存储复制到VM?我能想到的最黑客的方法是:Python 将文件从vCenter数据存储复制到VM,python,salt-stack,vsphere,vcenter,pyvmomi,Python,Salt Stack,Vsphere,Vcenter,Pyvmomi,我使用salt stack和pyvmomi模块与vcenter通信并创建VM。在这个新创建的虚拟机上,我想从vcenter数据存储中复制文件(大约1 GB)。InitiateFileTransferToGuest可用于将文件上载到VM,但我们如何将文件从数据存储复制到VM?我能想到的最黑客的方法是: 将1GB文件另存为.iso{使用MagicIso或的内置工具 linux} 现在将文件放在数据存储中 现在,在创建vm时,需要将cdrom设置为指向文件数据,而不是空字符串 您可以编辑vmx文件或提
zXi我能想到的最黑客的方式是:
zXi运行rsync怎么样
- ESXi主机:启用SSH
- 对SSH密钥的一些理解
/usr/lib/vmware/openssh/bin
ssh keygen在~/.ssh
中生成2个文件:id\u rsa
和id\u rsa.pub
ssh-keygen -f ~/.ssh/id_rsa -q -P ""
在远程主机上,存储公钥
如果使用ESXi 5或更低版本,请在~/.ssh/authorized_keys
中放置id\u rsa.pub
。
如果使用ESXi 5.5或更高版本的公钥位于其他地方,则将id\u rsa.pub
放入/etc/ssh/keys-/authorized\u keys
请注意,您可以在此文件中存储多个密钥
要允许根用户访问,请在/etc/ssh/sshd_config
文件中将permitrotlogin no
更改为permitrotlogin yes
。
要禁用密码登录,请确保将ChallengeResponseAuthentication
和PasswordAuthentication
设置为no
重新启动SSH服务
ESXi-/etc/init.d/SSH重新启动
ESX-服务sshd重新加载
现在我们已经对身份验证进行了排序,现在我们可以通过加密通道将文件复制到目的地。
了解ssh密钥的工作方式将使远程执行任务更加容易,并优化部署和管理
Rsync
rsync的基本语法如下:rsync options source destination
SSH上的Rsync
一些选项-虚拟机作为本地
使用SSH将文件从远程服务器(ESXi)复制到本地服务器(VM)
rsync-avzhe ssh root@[vCenter]:/source\u dir\u to\u copy//dest\u dir\u location/
使用SSH将文件从本地服务器(VM)复制到远程服务器(ESXi)
rsync-avzhe ssh/source\u dest\u to\u copy/root@[vcentreIP]:/dest\u dir\u location/
某些选项-ESXi作为本地-ESXi未将rsync作为默认安装
使用SSH将文件从远程服务器(VM)复制到本地服务器(ESXi)
rsync-avzhe ssh root@[VMIP]:/source\u dir\u to\u copy//dest\u dir\u location/
使用SSH将文件从本地服务器(ESXi)复制到远程服务器(VM)
rsync-avzhe ssh/source_dest_to_copy/root@[VMIP]:/dest_dir_location/
另一种方式可能是你的选择
使用上述相同的逻辑和方法。您可以在两台机器之间生成一组密钥,并使用代理启动rsync命令
使用SSH将文件从VM复制到ESXi
rsync-avzhe ssh root@[VMIP]:/source\u dir\u to\u copy/root@[vcenterip]:/dest\u dir\u location/
使用SSH将文件从ESXi复制到VM
rsync-avzhe ssh root@[vCenter]:/source\u dir\u to\u copy/root@[VMIP]:/dest\u dir\u location/
运行rsync怎么样
- ESXi主机:启用SSH
- 对SSH密钥的一些理解
/usr/lib/vmware/openssh/bin
ssh keygen在~/.ssh
中生成2个文件:id\u rsa
和id\u rsa.pub
ssh-keygen -f ~/.ssh/id_rsa -q -P ""
在远程主机上,存储公钥
如果使用ESXi 5或更低版本,请在~/.ssh/authorized_keys
中放置id\u rsa.pub
。
如果使用ESXi 5.5或更高版本的公钥位于其他地方,则将id\u rsa.pub
放入/etc/ssh/keys-/authorized\u keys
请注意,您可以在此文件中存储多个密钥
要允许根用户访问,请在/etc/ssh/sshd_config
文件中将permitrotlogin no
更改为permitrotlogin yes
。
要禁用密码登录,请确保将ChallengeResponseAuthentication
和PasswordAuthentication
设置为no
重新启动SSH服务
ESXi-/etc/init.d/SSH重新启动
ESX-服务sshd重新加载
现在我们已经对身份验证进行了排序,现在我们可以通过加密通道将文件复制到目的地。
了解ssh密钥的工作方式将使远程执行任务更加容易,并优化部署和管理
Rsync
rsync的基本语法如下:rsync options source destination
SSH上的Rsync
一些选项-虚拟机作为本地
使用将文件从远程服务器(ESXi)复制到本地服务器(VM)