测试服务器,一台物理机用了esxi,之前需要新的虚拟机时,每次都想克隆,找了一些资料,都是导出ovf模版什么的
用的web控制端,导出超级慢,新建的时候又要导入,超级慢,花费时间还不如重新安装操作系统。

无意间发现可以直接开启esxi机器的shell,然后使用命令克隆,找了一些资料之后,正好需要搭建一台与之前一模一样的虚拟机,正好测试一下,经过一上午摸索,记录如下:

操作步骤

  1. 开启 esxi的shell,操作见图一,只需要启用安全的shell(SSH)
  2. 使用ssh 工具登录到exsi,见图二
  3. 在/vmfs/volumes/xxx下建立新的虚拟机的文件夹(或者用web管理端的存储-》数据存储浏览器),xxx为数据存储的名称(在web控制台可以看到),如图三
  4. 执行命令 vmkfstools -i source.vmdk path/new.vmdk -d thin
  5. web控制台新建虚拟机,其他配置自定义,删除默认磁盘,添加已存在磁盘,选择刚才命令复制的磁盘
  6. 打开电源,进入虚拟机设置网卡信息,例如ip,网卡uid等

图一

图二

图三

注意事项

  1. 一定要确定要克隆的虚拟机的磁盘路径,不知道为什么从一台虚拟机中克隆的磁盘,启动后老是另外一台机器的信息。后来发现在被克隆的虚拟机下面有两个磁盘文件,可能是之前希望通过可能方式创建虚拟机时留下的垃圾文件,一直克隆的是那个磁盘
  2. 修改网卡信息的时候一定要修改网卡uuid信息
  3. 如果使用xshell等工具连接时弹出用户验证,直接选择使用键盘输入身份验证

image.png

碰到问题

系统启动后,一直在A start job is running for /etc/rc.d/rc.local

启动后,到最后一直卡在A start job is running for /etc/rc.d/rc.local,被克隆的系统设置了开机启动项,部分启动任务不能启动,又没有设置超时,造成不能进入到登录窗口

解决办法:
进入救援模式,禁用rc.local的权限或删除启动任务

进入救援模式操作如下(centos7.6下通过):
重启,进入操作系统选择界面后,选择常进的操作系统,然后按e 进入启动项编辑

clipboard.png
修改红线后面 内容,加入 init=/bin/sh
clipboard.png

clipboard.png

修改后,按住Ctrl+x执行
即可进入单用户模式
以上详细步骤参见 centos7进入单用户模式

修改权限:chmod a-x rc.local
如果出现 chmod: changing permissions of ‘…’: Read-only file system
解决办法: mount -rw -o remount /

权限不足的问题参考:
解决问题:chmod: changing permissions of ‘...': Read-only file system和/dev/sda1 is write-protected but ex

修改网卡地址为静态地址出错

修改网卡地址为静态地址后,从虚拟机可以ping 通局域网其他机器,ping不通网关,ping不通域名,但是dns已经配置
解决办法:esxi 客户端禁用该虚拟机网卡,保存。然后在启用,保存。


soft_xiang
38 声望5 粉丝