linux能秒创虚拟机吗,linux下5秒创建rhel7虚拟机

经常玩linux的朋友,有时候会不会为了创建虚拟机搭建环境而苦恼,接下来所展示的如何在5秒内创建一个可以使用的虚拟机。

实验环境:

[root@luc ~]# cat /etc/redhat-release

CentOS Linux release 7.4.1708 (Core)

准备的文件:

rh7_template.img和 rhel7.xml

如果没有两个文件的,可以直接使用下面的文件。

链接: https://pan.baidu.com/s/1ESlqw22wEY9HP2-kCFptpA 密码: etyh

链接: https://pan.baidu.com/s/1rm-sVkd3R7GtdVEyaFqeSQ 密码: myh3

把下载的文件放到/var/lib/libvirt/images/ 并保存为以.开头文件名

[root@luc ~]# mv rh7_template.img /var/lib/libvirt/images/.rh7_template.img

[root@luc ~]# mv rhel7.xml /var/lib/libvirt/images/.rhel7.xml

搭建虚拟环境:

[root@luc ~]# yum -y groups install 虚拟化平台 虚拟化主机 虚拟化客户端

// 真机是中文环境,如果是英文环境就安装 “Virtualization Platform” “Virtualization Host” “Virtualization Client” 每个部分之间要有空格隔开

[root@luc ~]# virt-manager //调出虚拟×××管理器,如下图

8239f46710c78e484c4c055adb9b22f1.png

进入编辑——>连接详情——>虚拟网络,如下图

59be92154f132744a2289ed15c4c5ddb.png

添加四个虚拟网络分别是

private1,private2,public1,public2

点击上图的左下脚加号,出现如图所示:(以private1为例子)

696da5929dc78b411b60ff43ef2dd0c9.png

522420b85427dd531160831ee59e5cd4.png

2faa1389dddfcf914395c4d0b15c2e24.png

完成即可。

private1,配置的ip网段是:192.168.1.0/24

private2,配置的ip网段是:192.168.2.0/24

public1,配置的ip网段是:100.0.1.0/24

public2,配置的ip网段是:100.0.1.0/24

创建虚拟机的脚本

下面连接可以直接下载使用:

链接: https://pan.baidu.com/s/1lx_murPn7U09hywyuWSFyw 密码: 4xq6

[root@luc ~]# vim clone-vm7

#! /usr/bin/bash

# 定义变量

IMG_DIR=/var/lib/libvirt/images

BASEVM=rh7_template

NUM=`tr -dc '0-9a-f' < /dev/urandom |head -c 2`

# 输入创建虚拟机的编号

read -p "Enter VM number: " VMNUM

# 判断输入编号

if [ -z "${VMNUM}" ]; then

echo "You must input a number."

exit 1

elif [ $(echo ${VMNUM}*1 | bc) = 0 ]; then

echo "You must input a number."

exit 2

elif [ ${VMNUM} -lt 1 -o ${VMNUM} -gt 99 ]; then

echo "Input out of range"

exit 3

fi

# 生成新的变量并判断文件是否存在

NEWVM=rh7_node${VMNUM}

if [ -e $IMG_DIR/${NEWVM}.img ]; then

echo "File exists."

exit 4

fi

# 创建新虚拟机的img文件

echo -en "Creating Virtual Machine disk image......\t"

qemu-img create -f qcow2 -b $IMG_DIR/.${BASEVM}.img $IMG_DIR/${NEWVM}.img &> /dev/null

echo -e "\e[32;1m[OK]\e[0m"

# 修改新虚拟机的xml文件

cat /var/lib/libvirt/images/.rhel7.xml > /tmp/myvm.xml

# 修改新虚拟机的主机名和uuid

sed -i "/${BASEVM}/s/${BASEVM}/${NEWVM}/" /tmp/myvm.xml

sed -i "/uuid/s/.*/$(uuidgen)/" /tmp/myvm.xml

# 修改新虚拟机的使用的img路径

sed -i "/${BASEVM}\.img/s/${BASEVM}/${NEWVM}/" /tmp/myvm.xml

# 模板给4个网卡,修改每个网卡的mac地址

sed -i "/mac /s/a1/${NUM}/" /tmp/myvm.xml

sed -i "/mac /s/a2/${NUM}/" /tmp/myvm.xml

sed -i "/mac /s/a3/${VMNUM}/" /tmp/myvm.xml

sed -i "/mac /s/b1/${NUM}/" /tmp/myvm.xml

sed -i "/mac /s/b2/${NUM}/" /tmp/myvm.xml

sed -i "/mac /s/b3/${VMNUM}/" /tmp/myvm.xml

sed -i "/mac /s/c1/${NUM}/" /tmp/myvm.xml

sed -i "/mac /s/c2/${NUM}/" /tmp/myvm.xml

sed -i "/mac /s/c3/${VMNUM}/" /tmp/myvm.xml

sed -i "/mac /s/d1/${NUM}/" /tmp/myvm.xml

sed -i "/mac /s/d2/${NUM}/" /tmp/myvm.xml

sed -i "/mac /s/d3/${VMNUM}/" /tmp/myvm.xml

# 导入虚拟机配置

echo -en "Defining new virtual machine......\t\t"

virsh define /tmp/myvm.xml &> /dev/null

echo -e "\e[32;1m[OK]\e[0m"

创建虚拟机

[root@luc ~]# ./clone-vm7

Enter VM number: 1

Creating Virtual Machine disk image...... [OK]

Defining new virtual machine...... [OK]

bfee29ef85f289d57d7dc02234844a3a.png

注:用户名为root 密码为:123456 。 登陆结果如下:

c693e3c7c2f01b567f1e3f8124872b63.png

在命令行输入init 5 直接可以进入图形界面模式

0e1d0a1104cda728a0dcfa2a6ad46eb0.png

注:运行级别

init 0 关闭主机

init 3 多用户命令行模式

init 5 图形界面模式

init 6 重启主机

init 1和2 分别是单用户和多用户(没有NFS)

centos7设置命令:

systemctl isolate multi-user.target

systemctl isolate graphical.target

systemctl set-default 目标级别

原理

简单说:

一台正常的KVM虚拟机的组成:

主机箱和外部设备 -------> 配置文件xml文件(name,uuid,disk位置,网卡mac等)

磁盘------> 虚拟机的镜像文件img文件

虚拟机的配置的导出和导入操作

virsh dumpxml 虚拟机名称 > 文件名.xml (打印配置文件)

virsh define 文件名.xml (组装机器)

KVM相关的命令

virt-manager //打开虚拟×××管理器

virsh list --all //列出所有虚拟机

virsh start 虚拟机名称 //虚拟机开机

virsh destroy 虚拟机名称 //强制断电关机

virsh autostart 虚拟机名称 //虚拟机开机自启 --disable 取消开机自启

virsh console 虚拟机名 //不需要ip地址登陆虚拟机

virsh nodeinfo //查看虚拟机服务器的cpu信息

virsh dominfo 虚拟机名称 //查看虚拟机配置

virsh edit 虚拟机名称 //修改虚拟机额配置

共勉:I hear and I forget. I see and I remember. I do and I understand!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值