1.虚拟机安装rhel7

什么是虚拟化管理

将Linux真实主机里面的一些东西放到虚拟机上面去管理,虚拟机和真机二者功能差不多。真机为操作系统,占用磁盘空间大;虚拟机是一款软件,占用空间少,为了节省硬盘能源。

虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_xml


首先,确定所使用到的 CPU 必须支持 vmx 或 svm 这两个指令集中的一个,如果是英特尔的 CPU,则必须是 vmx,如果是AMD的CPU,则必须是svm。

查看本机CPU类型,发现本机CPU类型为Intel,并且支持指令集vmx

[kiosk@foundation50 ~]$ cat /proc/cpuinfo

虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_xml_02

1.2虚拟机的手动安装

前提条件:虚拟机的安装镜像已经下载好,并且要明确存放的路径

说明:安装的是图形化的虚拟机

在真机里面的shell用root用户在里面输入virt-manager,并点击如下图标

虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_xml_03


设置虚拟机的名字,并选择使用本地文件安装(本地文件即iso文件)

虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_虚拟机要开启虚拟化吗_04


虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_Domain_05


对虚拟机的内存和核数进行设置若需要安装图形,则内存至少为768M

虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_Domain_06


存储空间设置若需要安装图形存储空间至少需要5G

虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_Domain_07


设置好的虚拟机硬件参数打钩的地方为,安装虚拟机之前对硬件的信息进行查看和设定

虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_虚拟机要开启虚拟化吗_08


硬件信息设定

虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_硬件信息_09


虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_虚拟机要开启虚拟化吗_10


设置完成后开始虚拟机的安装完成后会弹出虚拟机的配置界面,选择7.3回车

虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_xml_11


语言选择

虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_Domain_12


在日期时间,键盘,语言支持,安装源设置


虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_xml_13



软件选择和安装位置的设置

虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_硬件信息_14


软件选择的设置

虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_Domain_15


分区选择

虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_虚拟机要开启虚拟化吗_16


添加新挂载点,主要有三个分别为/boot ,/swap ,/ ,当/的期望容量为空时,意为将剩余空间全部分配给/

虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_硬件信息_17


虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_xml_18


虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_Domain_19


虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_xml_20


虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_xml_21


在安装界面会有用户设置,可以在这个时候设置也可以在虚拟机安装完成启动后设置,进度完成虚拟机就装配完成,并会在virt-manager指令的界面显示出来

虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_Domain_22


虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_Domain_23

2.虚拟机管理命令

查看正在运行的虚拟机

[root@foundation50 ~]# virsh list 
 Id    Name                           State
----------------------------------------------------

查看系统当中所有的虚拟机

[root@foundation50 ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     ahtl                           shut off
 -     desktop                        shut off
 -     server                         shut off

打开系统中的某个虚拟机

[root@foundation50 ~]# virsh start ahtl
Domain ahtl started

显示虚拟机

[root@foundation50 ~]# virt-viewer ahtl

正常关闭系统中的某个虚拟机

因为是正常关闭所以关机需要有一个过程

[root@foundation50 ~]# virsh shutdown ahtl
Domain ahtl is being shutdown

强制关闭系统中的某个虚拟机
相当于断电,所以虚拟机将立刻关闭

[root@foundation50 ~]# virsh destroy ahtl
Domain ahtl destroyed

将虚拟机从一台主机传到另一台主机
需要拷贝两个文件
主机1:
/etc/libvirt/qemu/ 下的 .xml 文件,为该虚拟机的硬件信息文件
/var/lib/libvirt/images/下的 .qcow2 文件,为该虚拟机的硬盘文件

主机2:

若没有将主机1中的 .xml 文件拷贝过来,可以使用图形界面进行虚拟机的配置

虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_虚拟机要开启虚拟化吗_24


若两个文件都有,安装时,需将/var/lib/libvirt/images/xxx.qcow2和/etc/libvirt/qemu/xxx.xml 移动到原有目录,再执行指令进行配置:

virsh create xxx.xml 为一次性创建,在进行force off强制关闭后将会消失

virsh define xxx.xml 为永久创建虚拟机

virsh undefine xxx.xml 删除虚拟机硬件信息

rm -fr /var/lib/libvirt/images/xxx.qcow2 删除虚拟机硬盘文件

3.虚拟机快照

虚拟机快照是什么?
磁盘“快照”是虚拟机磁盘文件(VMDK)在某个点及时的副本,系统崩溃或系统异常,可以通过使用快照来保持磁盘文件和系统存储。

虚拟机快照的原理
用一个文件放到真实文件的面前,看到的是真实文件的文件,使用的是快照,不对的时候舍弃快照,再用一个新的快照。一个节点相当于一台主机,有自己的功能。

使用快照的原因
虚拟机坏了不可恢复,需要重装,比较麻烦,不可逆,而快照是可逆的。

快照生成指令: qemu-img create -f qcow2 -b vmname.qcow2 node1.qcow2

[root@foundation50 ~]# cd /var/lib/libvirt/images/
[root@foundation50 images]# qemu-img create -f qcow2 -b ahtl.qcow2 node1.qcow2
Formatting 'node1.qcow2', fmt=qcow2 size=10737418240 backing_file='ahtl.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off

意思是,为ahtl.qcow2 创建名为node1.qcow2 的快照

du -sh node1.qcow2查看快照文件的大小,一般比真正的虚拟机文件要小

[root@foundation50 images]# du -sh node1.qcow2 
32M	node1.qcow2
[root@foundation50 images]# du -sh ahtl.qcow2 
3.5G	ahtl.qcow2

将生成的快照文件导入虚拟机

虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_硬件信息_25


虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_虚拟机要开启虚拟化吗_26


之后的操作与创建虚拟机类似,可配置硬件信息,最终将得到一台新的快照虚拟机。

若快照虚拟机被破坏,则只需在virt-manager 中将该虚拟机强制关机,然后将 .qcow2 文件删除,再重新生成快照,重新启动虚拟机后,快照虚拟机被恢复

4.自动化管理虚拟机脚本

建立虚拟机配置的脚本文件: vim /mnt/vm_creat.sh

虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_虚拟机要开启虚拟化吗_27


在配置脚本文件中编辑:

虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_xml_28


脚本执行后会弹出虚拟机设置界面,就需要进行如上边的操作了可以在virt-manager界面中看到新建的虚拟机

虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_Domain_29

5.使用脚本安装虚拟机快照

建立虚拟机配置的脚本文件: vim /mnt/vm_snapshoot.sh

[root@foundation50 mnt]# chmod +x /mnt/vm_snapshoot.sh 
[root@foundation50 mnt]# /mnt/vm_snapshoot.sh ahtl ccc

在配置脚本文件中编辑:

虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_Domain_30


脚本执行后会弹出虚拟机设置界面,就需要进行如上边的操作了可以在virt-manager界面中看到新建的虚拟机

虚拟机要开启虚拟化吗 虚拟机要开启cpu虚拟化吗_硬件信息_31