这期我们来探讨如何通过 ESXi SSH 连接访问到在该 ESXi 主机上的虚拟机,也就是怎么从ESXi访问到一个VM的内部。
有时做VMware运维会遇到这样一种情况:虚拟机的网络配置正常,但由于某些网络或系统问题,突然之间外部无法访问这台虚拟机,ping 也不通。这台虚拟机同样无法 ping 通外部网络,包括网关。此时,唯一可以正常访问该虚拟机的只有宿主机 ESXi 主机。在这种情况下,如果需要从这台虚拟机中提取一些文件或日志,就只能通过 ESXi 主机来进行操作。
那么,如何通过 ESXi 主机获取虚拟机内部的文件呢?
怎么通过ESXi获取虚拟机内部的文件
一些前提条件:
- 首先确认ESXi可以与该VM通讯,必须从ESXi可以ping通VM。
- ESXi启用SSh (最重要的是ESX的防火墙要开启ssh client访问
- VM内部网络和防火墙要打开,SSH服务要启用
假如我们这个虚拟机是一台ubuntu Linux,我们先检查防火墙和sshd服务,可以通过以下命令:
sudo ufw status
sudo systemctl status sshd
我们再SSH去到ESXi, 可以先看看ssh和scp命令有什么选项:
用以下ESXi命令,获取虚拟机内部的某一个文件(前提你要知道该文件在VM里面的完整路径)
scp 虚拟机用户名@<虚拟机的IP地址>:/完整路径/文件 /ESXi本地目录
完整的命令:scp root@10.x.x.x:/tmp/test.txt /vmfs/volumes/xxxx
注意:如果提示SSH连接超时Connection timed out的话:
ssh: connect to host 10.x.x.x port 22: Connection timed out
在ESXi防火墙启用ssh客户端ssh client
esxcli network firewall ruleset set --enabled=true --ruleset-id=sshClient
再次运行scp命令:
输入虚拟机的密码后,可以成功复制虚拟机的/tmp/test.txt到ESXi的目录
在ESXi环境中管理虚拟机时,特别是遇到外部网络访问受阻的情况下,从ESXi直接访问虚拟机内部文件是一项重要技能。无论是复制VM内部文件到本地,还是在ESXi主机上对VM文件进行操作,这些技巧能够帮助VMware管理员快速解决问题。以下是一些实用技巧的总结:
- 通过ESXi获取VM文件:当外部网络不可达时,通过ESXi主机的SSH访问虚拟机文件。
- ESXi复制VM文件到本地:使用SCP命令从虚拟机复制文件至ESXi主机。
- 无法从外部访问VM的解决方案:在ESXi启用SSH客户端,以确保能在外部无法连接时仍能访问虚拟机的内部数据。
在日常运维中,掌握从ESXi提取虚拟机文件的方法,不仅能够提升故障处理效率,还能确保数据的可用性和安全性。
Tag:
如何通过ESXi SSH连接访问虚拟机
ESXi主机如何获取虚拟机内部文件
ESXi通过SSH连接虚拟机提取日志
从ESXi访问VM内部的详细步骤
无法从外部访问虚拟机时如何用ESXi获取文件
通过ESXi主机的SSH访问虚拟机网络配置
使用ESXi的SSH和SCP命令访问虚拟机
ESXi与虚拟机SSH连接问题及解决方法
如何从ESXi主机传输虚拟机中的文件到本地
通过ESXi解决虚拟机网络连接失败的问题