linux系统的安装(在虚拟机管理器上)以及虚拟机的管理
- linux系统的安装
- 虚拟机的管理
- 虚拟机自动安装脚本
- 虚拟机的快照及重置
- 自动化脚本实现虚拟机的快照
- 自动安装脚本的制作
- 一键安装脚本
linux系统的安装
准备材料: linux系统的镜像文件
具体操作如下图:
虚拟机的管理
虚拟机也是文件,分为硬件信息,系统信息
因此,其复制也要复制两部分
/var/lib/libvirt/images/vmname.qcow2(虚拟机名.qcow2)
存储虚拟机的硬盘信息(就是系统信息)
/etc/libvirt/qemu/vmname.xml(虚拟机名.xml)
存储虚拟机的硬件信息
(q:qemu cow:copy on write写实复制 2:第二版本)
vim /etc/libvirt/qemu/westos.xml更改里面的虚拟机name
再restart重启虚拟机在管理界面的运行服务: systemctl restart libvirtd
会发现在虚拟机的管理界面中,相应的虚拟机的名字改变了
下图为例:
我们将别人的虚拟机直接复制过来的话,只需要将上面两个相关的文件复制,将vmname.qcow2文件放到/var/lib/libvirt/images/目录下即可以使用该虚拟机(与目标的别人的虚拟机相同)。
但是我在这里是将自己的虚拟机文件复制了一下,又添加了一个相同的虚拟机。
我在更该虚拟机的硬件信息xml文件时,一开始没改全,改了三次。依次如下:
(三次更改,分别为:name,source file,uuid三个属性,(uuid,我只更改了其最后两位数字)不过我想只要把name和uuid更改,应该也可以使用)
virsh create filename.xml用硬件信息文件直接恢复虚拟机(一次性的恢复)
(重启主机后,使用该命令在虚拟机管理界面添加的虚拟机不见了,但是相关文件都在)
virsh define filename.xml永久的恢复虚拟机
virsh undefine filename删除虚拟机(在虚拟机管理界面中删除了虚拟机图标)
下图为例:
图一中,显示virsh create filename.xml命令在重启后的效果
图二中,使用virsh define filename.xml命令添加test1
图三中,使用virsh undefine filename命令删除test1
图四中,我使用绝对路径执行virsh define filename.xml
virt-manager 开启虚拟机管理器
virsh list显示正在运行的虚拟机
virsh list --all显示所有的虚拟机
virsh start desktop 打开desktop虚拟机
virsh shutdown desktop 正常关闭虚拟机(可以被阻塞)
(开机未完成的话,会被阻塞。需要开机之后,再使用该命令)
virsh destory desktop 强行关闭虚拟机(相当于强制关机)
virt-viewer desktop 显示虚拟机下图为例:
虚拟机自动安装脚本
虚拟机的安装虽然比较简单,但是当我们要对于成批量的主机进行此操作时,多次重复该操作仍然是很费时费力的。
下图为例:
将上面所新建的虚拟机test1,在虚拟机管理界面删除以后,编写自动化安装脚本重新安装了test1虚拟机。
首先,在/mnt/目录下建立并编辑脚本文件
其次,保存文件并退出后,为文件增加执行权限
最后,执行该脚本文件,即可自动实现上面手动新建虚拟机的过程
为了使我们的安装脚本更加的自动化,增加脚本的灵活性,我们在原脚本的基础上使用了占位符和test命令。文件的最后使用&> 将执行脚本后的错误提示都全部删除,并在文件的最后加上&将该进程在后台启动。
也因此,启动脚本文件后,需要等待一会,而不会有任何系统提示
(所以在加上&> 和&之前,一定要先确保文件的可以无错执行)
虚拟机的快照及重置
经过了我们上面的虚拟机系统的安装,我们不难发现,系统的安装虽然并不麻烦,但是当我们操作完成,等待系统的安装却是一段比较漫长的时间。
因此呢,为了简化我们虚拟机的安装过程,节省时间,我们可以通过使用下面介绍的快照,快速的通过已经安装好的一台虚拟机,安装多个相同配置,相同环境的虚拟机。
快照的好处,不仅仅是上面的那一点,其好处还在于,当我们把快照生成的虚拟机弄坏了以后,我们可以重置快照,从而达到快速恢复系统环境的目的。
快照生成的命令如下:
qemu-img create -f qcow2 -b westos.qcow2(执行目标,即要复制的目标) node1.qcow2(要生成的快照)
重置快照的方法:
关闭快照建立的虚拟机,重新执行一遍快照的生成命令。
重新开启快照相应的的虚拟机,系统恢复正常。
具体步骤如下图:
自动化脚本实现虚拟机的快照
虚拟机的快照脚本及执行如下图:
自动安装脚本的制作
使用kickstart制作自动安装脚本:
先安装生成工具:
yum install system-config-kickstart -y
再启动system-config-kickstart,开始设置生成脚本的参数
设置完毕后,单击file —> save,保存ks.cfg文件
保存后,编辑ks.cfg文件:
将timezone改为Asiz/Shanghai
在文件最后加上:
%packages(后面接的是你在安装系统时要安装的软件)
@base(要在安装系统时安装的程序组)
dhcp
%end
编辑完了ks.cfg文件,使用ksvalidator ks.cfg 命令检测文件是否有语法错误
若有,会提示;没有,则输出为空
注意:
像ksvalidator这样的检验语法的工具,虽然能检测出文件中的语法错误,但是并不能纠正文件中的逻辑错误。因此,编辑文件时,仍然需要仔细编辑
设置如图:
生成的自动安装脚本ks.cfg的使用:
在以上操作执行完毕以后,需要先检查是否具备安装条件:
1.提供镜像文件资源的主机,提供ks.cfg文件的主机的http服务均开启
2.主机的DHCP服务开启
(因为是从网络上获取资源的方式安装)
检查条件均具备后,即可执行以下操作
一键安装脚本
编辑脚本如下:
在以上kickstart等半自动化安装的基础上,执行该脚本,即可实现全自动一键安装
需要在root用户下执行该脚本