测试服务器,一台物理机用了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