手动处理

1、进入工作目录

cd /vmfs/volumes/安装虚拟机的磁盘目录

如:

cd /vmfs/volumes/5ee55a7f-08765a54-fbe3-00e06b68081a

2、创建新虚拟机目录

mkdir CentOS7-K8S-01

3、复制 vmx 文件处理

cp CentOS7-Docker/CentOS7-Docker.vmx CentOS7-K8S-01/CentOS7-K8S-01.vmx

4、替换虚拟机名称(使用Vi/Vim)

%s/原名称/新名称/g

如:

vi CentOS7-K8S-01/CentOS7-K8S-01.vmx
%s/CentOS7-Docker/CentOS7-K8S-01/g

5、虚拟磁盘类型转换

vmkfstools -i 原名称.vmdk 新名称.vmdk

如:

vmkfstools -i CentOS7-Docker/CentOS7-Docker.vmdk CentOS7-K8S-01/CentOS7-K8S-01.vmdk

6、Web界面注册新虚拟机(.vmx 右键)并启动

脚本处理

需自行修改对应的变量,脚本如下:

#/bin/bash
# ESXI 虚拟机拷贝脚本
# author: Onovo

## 虚拟机磁盘目录
VIRTUAL_MACHINES_BASE_PATH=/vmfs/volumes/datastore2

## 虚拟机模板
VIRTUAL_MACHINES_TEMPLATE=CentOS7-Base
VIRTUAL_MACHINES_TEMPLATE_PATH=${VIRTUAL_MACHINES_BASE_PATH}/${VIRTUAL_MACHINES_TEMPLATE}

## 虚拟机目标
VIRTUAL_MACHINES_CLONE=$1
VIRTUAL_MACHINES_CLONE_PATH=${VIRTUAL_MACHINES_BASE_PATH}/${VIRTUAL_MACHINES_CLONE}

echo "虚拟机磁盘目录为:${VIRTUAL_MACHINES_BASE_PATH}";
echo "模板虚拟机为:${VIRTUAL_MACHINES_TEMPLATE_PATH}";
echo "克隆虚拟机为:${VIRTUAL_MACHINES_CLONE_PATH}";

mkdir ${VIRTUAL_MACHINES_CLONE_PATH}

echo "拷贝 VMX 文件 ...";
cp ${VIRTUAL_MACHINES_TEMPLATE_PATH}/${VIRTUAL_MACHINES_TEMPLATE}.vmx ${VIRTUAL_MACHINES_CLONE_PATH}/${VIRTUAL_MACHINES_CLONE}.vmx

echo "修改虚拟机名称为 ${VIRTUAL_MACHINES_CLONE} ...";
sed -i "s/${VIRTUAL_MACHINES_TEMPLATE}/${VIRTUAL_MACHINES_CLONE}/g" ${VIRTUAL_MACHINES_CLONE_PATH}/${VIRTUAL_MACHINES_CLONE}.vmx

echo "转换虚拟磁盘类型 ..."
vmkfstools -i ${VIRTUAL_MACHINES_TEMPLATE_PATH}/${VIRTUAL_MACHINES_TEMPLATE}.vmdk ${VIRTUAL_MACHINES_CLONE_PATH}/${VIRTUAL_MACHINES_CLONE}.vmdk

echo "克隆虚拟机 ${VIRTUAL_MACHINES_CLONE} 成功!"

添加可执行权限:

[root@localhost:~] chmod +x clone.sh

使用脚本克隆虚拟:

[root@localhost:~] ./clone.sh DogeCoin
虚拟机磁盘目录为:/vmfs/volumes/datastore2
模板虚拟机为:/vmfs/volumes/datastore2/CentOS7-Base
克隆虚拟机为:/vmfs/volumes/datastore2/DogeCoin
拷贝 VMX 文件 ...
修改虚拟机名称为 DogeCoin ...
转换虚拟磁盘类型 ...
Destination disk format: VMFS zeroedthick
Cloning disk '/vmfs/volumes/datastore2/CentOS7-Base/CentOS7-Base.vmdk'...
Clone: 100% done.
克隆虚拟机 DogeCoin 成功!

最后通过Web界面注册新虚拟机(.vmx 右键)并启动即可。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐