linux系统的安装(在虚拟机管理器上)以及虚拟机的管理

  • linux系统的安装
  • 虚拟机的管理
  • 虚拟机自动安装脚本
  • 虚拟机的快照及重置
  • 自动化脚本实现虚拟机的快照
  • 自动安装脚本的制作
  • 一键安装脚本

linux系统的安装

准备材料: linux系统的镜像文件

具体操作如下图:

qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso


qcow2镜像 iso qcow2镜像安装虚拟机_xml_02


qcow2镜像 iso qcow2镜像安装虚拟机_xml_03


qcow2镜像 iso qcow2镜像安装虚拟机_自动安装_04


qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_05


qcow2镜像 iso qcow2镜像安装虚拟机_desktop_06


qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_07


qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_08


qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_09


qcow2镜像 iso qcow2镜像安装虚拟机_desktop_10


qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_11



qcow2镜像 iso qcow2镜像安装虚拟机_desktop_12



qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_13


qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_14


qcow2镜像 iso qcow2镜像安装虚拟机_自动安装_15


qcow2镜像 iso qcow2镜像安装虚拟机_xml_16


qcow2镜像 iso qcow2镜像安装虚拟机_自动安装_17


qcow2镜像 iso qcow2镜像安装虚拟机_xml_18


qcow2镜像 iso qcow2镜像安装虚拟机_xml_19


qcow2镜像 iso qcow2镜像安装虚拟机_desktop_20


qcow2镜像 iso qcow2镜像安装虚拟机_xml_21


qcow2镜像 iso qcow2镜像安装虚拟机_desktop_22


qcow2镜像 iso qcow2镜像安装虚拟机_xml_23


qcow2镜像 iso qcow2镜像安装虚拟机_自动安装_24


qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_25


qcow2镜像 iso qcow2镜像安装虚拟机_自动安装_26


qcow2镜像 iso qcow2镜像安装虚拟机_desktop_27


qcow2镜像 iso qcow2镜像安装虚拟机_xml_28


qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_29


qcow2镜像 iso qcow2镜像安装虚拟机_xml_30


qcow2镜像 iso qcow2镜像安装虚拟机_自动安装_31


qcow2镜像 iso qcow2镜像安装虚拟机_desktop_32


qcow2镜像 iso qcow2镜像安装虚拟机_xml_33


qcow2镜像 iso qcow2镜像安装虚拟机_自动安装_34


qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_35


qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_36

虚拟机的管理

虚拟机也是文件,分为硬件信息,系统信息
因此,其复制也要复制两部分

/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更改,应该也可以使用)

qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_37


qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_38


qcow2镜像 iso qcow2镜像安装虚拟机_desktop_39


qcow2镜像 iso qcow2镜像安装虚拟机_xml_40


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

qcow2镜像 iso qcow2镜像安装虚拟机_desktop_41


qcow2镜像 iso qcow2镜像安装虚拟机_desktop_42


qcow2镜像 iso qcow2镜像安装虚拟机_desktop_43


qcow2镜像 iso qcow2镜像安装虚拟机_自动安装_44


virt-manager 开启虚拟机管理器

virsh list显示正在运行的虚拟机

virsh list --all显示所有的虚拟机

virsh start desktop 打开desktop虚拟机

virsh shutdown desktop 正常关闭虚拟机(可以被阻塞)

(开机未完成的话,会被阻塞。需要开机之后,再使用该命令)

virsh destory desktop 强行关闭虚拟机(相当于强制关机)

virt-viewer desktop 显示虚拟机下图为例:

qcow2镜像 iso qcow2镜像安装虚拟机_自动安装_45

虚拟机自动安装脚本

虚拟机的安装虽然比较简单,但是当我们要对于成批量的主机进行此操作时,多次重复该操作仍然是很费时费力的。

下图为例:

将上面所新建的虚拟机test1,在虚拟机管理界面删除以后,编写自动化安装脚本重新安装了test1虚拟机。

首先,在/mnt/目录下建立并编辑脚本文件

其次,保存文件并退出后,为文件增加执行权限

最后,执行该脚本文件,即可自动实现上面手动新建虚拟机的过程

qcow2镜像 iso qcow2镜像安装虚拟机_xml_46


qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_47


qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_48


为了使我们的安装脚本更加的自动化,增加脚本的灵活性,我们在原脚本的基础上使用了占位符和test命令。文件的最后使用&> 将执行脚本后的错误提示都全部删除,并在文件的最后加上&将该进程在后台启动。

也因此,启动脚本文件后,需要等待一会,而不会有任何系统提示

(所以在加上&> 和&之前,一定要先确保文件的可以无错执行)

qcow2镜像 iso qcow2镜像安装虚拟机_desktop_49


qcow2镜像 iso qcow2镜像安装虚拟机_desktop_50

虚拟机的快照及重置

经过了我们上面的虚拟机系统的安装,我们不难发现,系统的安装虽然并不麻烦,但是当我们操作完成,等待系统的安装却是一段比较漫长的时间。
因此呢,为了简化我们虚拟机的安装过程,节省时间,我们可以通过使用下面介绍的快照,快速的通过已经安装好的一台虚拟机,安装多个相同配置,相同环境的虚拟机。
快照的好处,不仅仅是上面的那一点,其好处还在于,当我们把快照生成的虚拟机弄坏了以后,我们可以重置快照,从而达到快速恢复系统环境的目的。

快照生成的命令如下:
qemu-img create -f qcow2 -b westos.qcow2(执行目标,即要复制的目标) node1.qcow2(要生成的快照)

重置快照的方法:
关闭快照建立的虚拟机,重新执行一遍快照的生成命令。
重新开启快照相应的的虚拟机,系统恢复正常。

具体步骤如下图:

qcow2镜像 iso qcow2镜像安装虚拟机_自动安装_51


qcow2镜像 iso qcow2镜像安装虚拟机_desktop_52


qcow2镜像 iso qcow2镜像安装虚拟机_自动安装_53


qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_54


qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_55


qcow2镜像 iso qcow2镜像安装虚拟机_xml_56


qcow2镜像 iso qcow2镜像安装虚拟机_xml_57


qcow2镜像 iso qcow2镜像安装虚拟机_xml_58

自动化脚本实现虚拟机的快照

虚拟机的快照脚本及执行如下图:

qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_59


qcow2镜像 iso qcow2镜像安装虚拟机_xml_60

自动安装脚本的制作

使用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这样的检验语法的工具,虽然能检测出文件中的语法错误,但是并不能纠正文件中的逻辑错误。因此,编辑文件时,仍然需要仔细编辑

设置如图:

qcow2镜像 iso qcow2镜像安装虚拟机_desktop_61


qcow2镜像 iso qcow2镜像安装虚拟机_xml_62


qcow2镜像 iso qcow2镜像安装虚拟机_自动安装_63


qcow2镜像 iso qcow2镜像安装虚拟机_desktop_64


qcow2镜像 iso qcow2镜像安装虚拟机_自动安装_65


qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_66


qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_67


qcow2镜像 iso qcow2镜像安装虚拟机_xml_68


qcow2镜像 iso qcow2镜像安装虚拟机_desktop_69


qcow2镜像 iso qcow2镜像安装虚拟机_xml_70


qcow2镜像 iso qcow2镜像安装虚拟机_xml_71


qcow2镜像 iso qcow2镜像安装虚拟机_desktop_72


qcow2镜像 iso qcow2镜像安装虚拟机_自动安装_73


qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_74


qcow2镜像 iso qcow2镜像安装虚拟机_自动安装_75


qcow2镜像 iso qcow2镜像安装虚拟机_desktop_76


qcow2镜像 iso qcow2镜像安装虚拟机_desktop_77


qcow2镜像 iso qcow2镜像安装虚拟机_xml_78


生成的自动安装脚本ks.cfg的使用:

在以上操作执行完毕以后,需要先检查是否具备安装条件:

1.提供镜像文件资源的主机,提供ks.cfg文件的主机的http服务均开启

2.主机的DHCP服务开启

(因为是从网络上获取资源的方式安装)

检查条件均具备后,即可执行以下操作

qcow2镜像 iso qcow2镜像安装虚拟机_desktop_79


qcow2镜像 iso qcow2镜像安装虚拟机_xml_80


qcow2镜像 iso qcow2镜像安装虚拟机_自动安装_81


qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_82


qcow2镜像 iso qcow2镜像安装虚拟机_desktop_83


qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_84


qcow2镜像 iso qcow2镜像安装虚拟机_xml_85


qcow2镜像 iso qcow2镜像安装虚拟机_自动安装_86


qcow2镜像 iso qcow2镜像安装虚拟机_自动安装_87


qcow2镜像 iso qcow2镜像安装虚拟机_xml_88

一键安装脚本

编辑脚本如下:

qcow2镜像 iso qcow2镜像安装虚拟机_qcow2镜像 iso_89


在以上kickstart等半自动化安装的基础上,执行该脚本,即可实现全自动一键安装

需要在root用户下执行该脚本

qcow2镜像 iso qcow2镜像安装虚拟机_xml_90