Linux系统下脚本对虚拟机的安装重置

脚本对虚拟机的安装管理

摘要:本次博文主要涉及Linux系统主机使用脚本进行安装、快照和重置虚拟机,如此,克服了镜像法安装Linux系统虚拟机的步骤繁多的缺点,提高了工作效率。

一、安装虚拟机

  在这里主要介绍两种快速安装虚拟机的情况,第一种在孤立无援下,独立安装速度最快的方法。第二种是得到其他主机安装好虚拟机后产生的两个文件时,神速安装。

(一)普通脚本安装虚拟机

原材料:主机、安装源

脚本如下:

#empty#!/bin/bash                  命令运行环境的指定
virt-install                        安装虚拟机
--name $1 \                         虚拟机名称的指定,$1表示脚本后的第一串字符
--ram 1024 \                                内存
--file /var/lib/libvirt/images/$1.qcow2 \   硬盘文件
--file-size 8 \                             硬盘大小
--cdrom /home/kiosk/Desktop/work/rhel-server-7.2-x86_64-dvd.iso \   安装源指定
--vcpus 1  &    

举例演示:

首先转到超级用户

 

通过ps可以查看当前进程,使用which bash看出系统命令是储存在/usr/bin/下,最后也可以将写好的脚本,和系统命令放在一起,方便调用。


使用vim命令开始编程脚本,名称形如Creat_vm.sh其中.sh表示脚本的意思

如下,是我已经写好的安装虚拟机的脚本,其中反斜杠及其前的空格表示换行。

 

然后赋予该脚本可执行能力,即chmod +x Creat_vm.sh 

最后把Creat_vm.sh移动到/usr/bin/目录下,如此调用起来和原系统命令一样快捷

 

效果如下:


大功告成,表示虚拟机安装启动

 

(二)具有硬盘文件与前文件的超速安装虚拟机

原材料:

        (1)  vm.qcow2   硬盘文件

        绝对路径:/var/lib/libvirt/images

        (2)  vm.xml    前端文件

        绝对路径:/etc/libvirt/qemu

        (3)主机

:vm表示虚拟机名称

分别得到两个文件后,开始对主机超速安装:

步骤有三:

(1)将硬盘文件移动到主机 /var/lib/libvirt/images

(2)将硬盘文件移动到主机 /etc/libvirt/qemu

(3)显示虚拟机的存在:

暂时性:virsh create vm.xml  

永久性:virsh define vm.xml

举例演示:

注:这里我得到了某台主机虚拟机redhat的两个文件,并且保存在目录/mnt中。

移动redhat.qcow2到指定路径即mv redhat.qcow2 /var/lib/libvirt/images/  

可以看到,redhat.qcow2添加成功


移动redhat.xml到指定路径即mv redhat.xml /etc/libvirt/qemu


可以看到,redhat.xml添加成功

 

进行永久生效显示 


如此,成功。


二、虚拟机的管理

虚拟机管理命令如下,建议读者尝试,截图,不再赘述。

##########################################################################################

virt-manager                      开启图形管理工具

virt-viewer vmname                  显示虚拟机,vmname表示虚拟机名称

virsh list                       列出正在运行的vm

virsh list --all                   列出所有vm

virsh start vmname                  运行指定vm

virsh shutdown vmname                正常关闭指定vm

virsh destroy vmname                 强行结束指定vm

virsh create vmname.xml               临时恢复指定vm,vmname.xml表示前端管理文件

virsh define vmname.xml               永久恢复vm

virsh undefine vmname                删除vm的前端管理,但不会删除储存

##########################################################################################

三、虚拟机的快照

   虽然虚拟机身份卑微,但也是来之不易。因而对虚拟机进行快照操作,有了快照,大可以任意操作,玩坏了一个快照再弄一个就行,毕竟虚拟机母本平安无事。

 1、建议现在将母本虚拟机隐藏起来保护,避免被误删。

隐藏的方法:

方法一:直接undefine母本前端文件,并更改母本硬盘文件名称。

        (1)virsh undefine redhat

 

       (2)在指定同一路径下 mv redhat.qcow2 vm_storage.qcow2  等价于修改其名称


 

方法二:在virt-manager下慎重删除虚拟机但注意去掉硬盘选项,然后修改名字和上述(2)一样,不再赘述

  


 2、脚本快速实现虚拟机的快照

代码如下:

#!/bin/bash
qemu-img create -f qcow2 -b /var/lib/libvirt/images/vm_storage.qcow2 \
/var/lib/libvirt/images/$1.qcow2 &>/dev/null
 
virt-install \
--name $1 \
--ram 1024 \
--file /var/lib/libvirt/images/$1.qcow2 \
--file-size 8 \
--import  &>/dev/null  &

echo Successfully !!!

&>/dev/null表示不显示过程中的繁琐信息,& 表示后台运行,不占用终端,vm_storage.qcow2表示母本虚拟机的硬盘文件。

举例演示:

使用vim命令开始编程脚本,名称形如Creat_snap.sh其中.sh表示脚本的意思

如下,是我已经写好的安装虚拟机的脚本,其中反斜杠及其前的空格表示换行。


然后赋予该脚本可执行能力,即chmod +x Creat_snap.sh 

最后把Creat_snap.sh移动到/usr/bin/目录下,如此调用起来和原系统命令一样快捷



四、重置虚拟机快照

当一个虚拟机快照损坏时,我们可以直接调用一个脚本命令去重置它,省略不必要的麻烦。

程序如下:

#!/bin/bash
virsh destroy $1 &>/dev/null
rm -fr /var/lib/libvirt/images/$1.qcow2 \

qemu-img create -f qcow2 -b /var/lib/libvirt/images/vm_storage.qcow2 \
/var/lib/libvirt/images/$1.qcow2 &>/dev/null
 
virsh start $1   &>/dev/null
virt-viewer $1   &>/dev/null   &

echo Successfully !!!empty

&>/dev/null表示不显示过程中的繁琐信息,& 表示后台运行,不占用终端,vm_storage.qcow2表示母本虚拟机的硬盘文件。

(一)配置演示:

使用vim命令开始编程脚本,名称形如Reset_vm.sh其中.sh表示脚本的意思

命令:vim Rest_vm.sh

如下,是我已经写好的安装虚拟机的脚本,其中反斜杠及其前的空格表示换行。


然后赋予该脚本可执行能力,即chmod +x Reset_vm.sh 


最后把Reset_vm.sh移动到/usr/bin/目录下,如此调用起来和原系统命令一样快捷


(二)功能演示:

在终端试图调用快照node1

快照node1已经损坏,无法开机了!


利用写好的Resetvm.sh重置虚拟机快照,而后可以恢复其正常


如图,快照node1 可以正常开机使用,方便,简单。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值