自动化安装的好处
自动化安装虚拟机是指编辑脚本文件,在文件中执行安装虚拟机和 生成快照的操作,不用再在图形界面一步步点击。
将安装虚拟机的步骤选项根据命令生成脚本,可以简化在一台主机上安装多个虚拟机或者根据一个虚拟机生成多个快照的步骤。
注意:
这里所说的自动化并不是在批量管理多台主机,而是在一台主机上操作。
自动化安装虚拟机
1.创建脚本文件
cd /usr/bin #一般命令程序文件都存储在这里
vim vm_create.sh #新建虚拟机安装脚本文件
1.编辑脚本文件
在vm_create.sh文件中
#! /bin/bash #幻数,幻数检查文件中是否具有特殊的固定格式的数据,当看到第一行字符就明白该文件的属性
virt-install \ #安装虚拟机
--cdrom /home/kiosk/Desktop/rhel-server-7.0-x86_64-dvd.iso \ #获取虚拟机镜像
--memory 1024 \ #内存大小
--vcpus 1 \ #使用几核cpu
--disk /var/lib/libvirt/images/$1.qcow2,size=9,bus=virtio \ #硬盘位置,硬盘大小,总线类型
--name $1 \ #指定虚拟机名称
--network bridge=br0,model=virtio #网络类型
补充:
1.在上述文件中“ \”表示将命令换行键入,但实质上还是一个命令,目的是保存输入的美观性和直观性。
2.“$1”相当于C里面的占位符,代表命令之后所跟的第一个单词,"$2"代表命令之后所带的第二个单词。
3在最后添加&
将程序打入后台运行。
4.当确定程序运行无误时,可以再最后添加&> /etc/null
将多余的输出屏蔽。
3.修改文件权限
chmod +x /usr/bin/vm_create.sh #添加可执行权限
4.执行脚本
vm_create.sh westos #运行脚本,安装名称为westos的虚拟机
sh vm_create.sh westos #当此脚本没有在/usr/bin下时,使用此命令来执行
图示:(实验均在真机里进行)
1.在 /usr/bin/vm_create.sh文件中输入以下命令
2.执行vm_create.sh redhat1,出现以下界面,选择第一个版本,继续安装就好了
3.安装后也要同手动安装虚拟机一样,进行相应的设置。
自动化生成虚拟机快照
1.创建脚本文件
cd /usr/bin
vim vm_sanpshot.sh
2.选择需要生成快照的母盘
cd /var/lib/libvirt/images/
ls
3.编辑脚本文件
#! /bin/bash
qemu-img create -f qcow2 -b \ #制作快照
/var/lib/libvirt/images/$1.qcow2 \
/var/lib/libvirt/images/$2.qcow2 \
virt-install \
--name $2 \ #第二个单词,即快照名称
--vcpus 1 \ #cpu几核
--memory 1024 \ #内存大小
--disk /var/lib/libvirt/images/$2.qcow2,bus=virtio #硬盘位置,硬盘类型
--import & #导入方式,在后台执行
4.修改文件权限
chmod +x vm_sanpshot.sh
5.执行脚本
vm_sanpshot.sh westos node #母盘为westos,快照为node
图示:
1.在 /usr/bin/vm_sanpshot.sh文件中输入以下命令
2.执行vm_sanpshot.sh redhat1 lucky 就会生成redhat1的快照lucky
执行接下来的安装步骤就好了。
选择语句与自动安装的结合
要求:
创建vm_ctrl.sh脚本
1.当输入vm_ctrl.sh install 时创建redhat虚拟机
2.当输入vm_ctrl.sh snapvm时,生成redhat虚拟机的快照 noded
3.当输入vm_ctrl.sh delete 时删除redhat虚拟机
4.当输入vm_ctrl.sh stop 时停止redhat虚拟机
5.当输入vm_ctrl.sh view时显示redhat虚拟机
6.当输入vm_ctrl.sh list 时查看正在活跃的虚拟机
7.当输入vm_ctrl.sh start 时启动redhat虚拟机
8.当输入其他时,输出error
图示:
结果:
1.
2.
3.执行vm_ctrl.sh delete redhat1 的时候,发现虚拟机被删除了