需求:工作中经常需要将已经在一台宿主机上面的文件/文件夹复制到另外一台Exsi宿主机上面,那具体怎么实现呢?
大致步骤如下:
- 启用SSH 并确保SSH Client是运行的状态
- 登录Exsi 宿主机上面开始复制文件
- 关闭SSH
- 启用SSH 并确保TSM-SSH在宿主机的防火墙是运行的状态(源Exsi宿主机和目的Exsi宿主机都要开启)
在vCenter 6.7,点击Exsi宿主机,在“配置”-“系统”-“服务”-”SSH“-"启动"(Exsi 5.5-6.5的步骤大致相似)
确认SSH-Client在防火墙是启用的状态(默认是禁用的):
esxcli network firewall get
esxcli network firewall ruleset list --ruleset-id sshClient
esxcli network firewall ruleset set --ruleset-id sshClient --enabled true
复制文件之后可以通过以下命令恢复其防火墙的设置:
esxcli networkfirewall ruleset list --ruleset-id sshClient
esxcli networkfirewall ruleset set --ruleset-id sshClient --enabled false
esxcli network firewall ruleset list --ruleset-id sshClient
- 登录Exsi 宿主机上面开始复制文件
可以使用putty或者其他工具远程连接到服务器,允许如下命令复制文件:
在源服务器上面:
例子:把当前服务器的Demo文件夹复制到192.168.1.1上面
scp -rp /vmfs/volumes/5a7c5684-0696249e-739c-246e969c2800/Demo root@192.168.1.11://vmfs/volumes/6127c9b4-834714d0-a6ee-78ac440d1000/
解释:
scp: 命令用于 Linux 之间复制文件和目录,而Exsi的底层是基于Linux的,所以可以使用此命令来复制文件/文件夹
-rp: -r 是复制整个目录的意思;-p表示保留原文件的修改时间,访问时间和访问权限。
/vmfs/volumes/5a7c5684-0696249e-739c-246e969c2800/:表示Demo所在的目录,这个目录路径可以通过以下方式查看到:
root@192.168.1.1://vmfs/volumes/6127c9b4-834714d0-a6ee-78ac440d1000/:root 是登录目的服务器的登录名;192.168.1.1 是目的服务器的IP地址,以同样的方式查到目的服务器的存储路径
回车之后会提示确认连接,如下图,输入“yes”, 然后输入目的服务器的密码,就可以复制文件了
以下截图是文件复制开始至完成的截图:
例子:将当前服务器的Demo下的iso文件复制到192.168.1.1上面:
命令如下:
scp /vmfs/volumes/5a7c5684-0696249e-739c-246e969c2800/Demo/demo.iso root@192.168.1.11://vmfs/volumes/6127c9b4-834714d0-a6ee-78ac440d1000/
- 关闭SSH
在vCenter 6.7,点击Exsi宿主机,在“配置”-“系统”-“服务”-”SSH“-"停止"
有任何问题,欢迎留言交流