测试服务器,一台物理机用了esxi,以前须要新的虚拟机时,每次都想克隆,找了一些资料,都是导出ovf模版什么的
用的web控制端,导出超级慢,新建的时候又要导入,超级慢,花费时间还不如从新安装操做系统。html
无心间发现能够直接开启esxi机器的shell,而后使用命令克隆,找了一些资料以后,正好须要搭建一台与以前如出一辙的虚拟机,正好测试一下,通过一上午摸索,记录以下:web
操做步骤
开启 esxi的shell,操做见图一
使用ssh 工具登陆到exsi,见图二
在/vmfs/volumes/xxx下创建新的虚拟机的文件夹(或者用web管理端的存储-》数据存储浏览器)
执行命令 vmkfstools -i source.vmdk path/new.vmdk -d thin
web控制台新建虚拟机,其余配置自定义,删除默认磁盘,添加已存在磁盘,选择刚才命令复制的磁盘
打开电源,进入虚拟机设置网卡信息,例如ip,网卡uid等
注意事项
必定要肯定要克隆的虚拟机的磁盘路径,不知道为何从一台虚拟机中克隆的磁盘,启动后总是另一台机器的信息。后来发如今被克隆的虚拟机下面有两个磁盘文件,多是以前但愿经过可能方式建立虚拟机时留下的垃圾文件,一直克隆的是那个磁盘
修改网卡信息的时候必定要修改网卡uuid信息
碰到问题
系统启动后,一直在A start job is running for /etc/rc.d/rc.local
启动后,到最后一直卡在A start job is running for /etc/rc.d/rc.local,被克隆的系统设置了开机启动项,部分启动任务不能启动,又没有设置超时,形成不能进入到登陆窗口shell
解决办法:
进入救援模式,禁用rc.local的权限或删除启动任务centos
进入救援模式操做以下(centos7.6下经过):
重启,进入操做系统选择界面后,选择常进的操做系统,而后按e 进入启动项编辑浏览器
修改红线后面 内容,加入 init=/bin/sh
服务器
修改后,按住Ctrl+x执行
便可进入单用户模式
以上详细步骤参见 centos7进入单用户模式ssh
修改权限:chmod a-x rc.local
若是出现 chmod: changing permissions of ‘…’: Read-only file system
解决办法: mount -rw -o remount /工具
修改网卡地址为静态地址出错
修改网卡地址为静态地址后,从虚拟机能够ping 通局域网其余机器,ping不通网关,ping不通域名,可是dns已经配置
解决办法:esxi 客户端禁用该虚拟机网卡,保存。而后在启用,保存。ui