测试服务器,一台物理机用了esxi,之前需要新的虚拟机时,每次都想克隆,找了一些资料,都是导出ovf模版什么的
用的web控制端,导出超级慢,新建的时候又要导入,超级慢,花费时间还不如重新安装操作系统。
无意间发现可以直接开启esxi机器的shell,然后使用命令克隆,找了一些资料之后,正好需要搭建一台与之前一模一样的虚拟机,正好测试一下,经过一上午摸索,记录如下:
操作步骤
- 开启 esxi的shell,操作见图一,只需要启用安全的shell(SSH)
- 使用ssh 工具登录到exsi,见图二
- 在/vmfs/volumes/xxx下建立新的虚拟机的文件夹(或者用web管理端的存储-》数据存储浏览器),xxx为数据存储的名称(在web控制台可以看到),如图三
- 执行命令
vmkfstools -i source.vmdk path/new.vmdk -d thin
- web控制台新建虚拟机,其他配置自定义,删除默认磁盘,添加已存在磁盘,选择刚才命令复制的磁盘
- 打开电源,进入虚拟机设置网卡信息,例如ip,网卡uid等
注意事项
- 一定要确定要克隆的虚拟机的磁盘路径,不知道为什么从一台虚拟机中克隆的磁盘,启动后老是另外一台机器的信息。后来发现在被克隆的虚拟机下面有两个磁盘文件,可能是之前希望通过可能方式创建虚拟机时留下的垃圾文件,一直克隆的是那个磁盘
- 修改网卡信息的时候一定要修改网卡uuid信息
- 如果使用xshell等工具连接时弹出用户验证,直接选择使用键盘输入身份验证
碰到问题
系统启动后,一直在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 进入启动项编辑
修改红线后面 内容,加入 init=/bin/sh
修改后,按住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 客户端禁用该虚拟机网卡,保存。然后在启用,保存。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。