什么是虚拟化管理
将Linux真实主机里面的一些东西放到虚拟机上面去管理,虚拟机和真机二者功能差不多。真机为操作系统,占用磁盘空间大;虚拟机是一款软件,占用空间少,为了节省硬盘能源。
首先,确定所使用到的 CPU 必须支持 vmx 或 svm 这两个指令集中的一个,如果是英特尔的 CPU,则必须是 vmx,如果是AMD的CPU,则必须是svm。
查看本机CPU类型,发现本机CPU类型为Intel,并且支持指令集vmx
[kiosk@foundation50 ~]$ cat /proc/cpuinfo
1.2虚拟机的手动安装
前提条件:虚拟机的安装镜像已经下载好,并且要明确存放的路径
说明:安装的是图形化的虚拟机
在真机里面的shell用root用户在里面输入virt-manager,并点击如下图标
设置虚拟机的名字,并选择使用本地文件安装(本地文件即iso文件)
对虚拟机的内存和核数进行设置
打钩的地方为,安装虚拟机之前对硬件的信息进行查看和设定
硬件信息设定
设置完成后开始虚拟机的安装
完成后会弹出虚拟机的配置界面,选择7.3回车
语言选择
在日期时间,键盘,语言支持,安装源设置
软件选择和安装位置的设置
软件选择的设置
分区选择
添加新挂载点,主要有三个分别为/boot ,/swap ,/ ,当/的期望容量为空时,意为将剩余空间全部分配给/
在安装界面会有用户设置,可以在这个时候设置也可以在虚拟机安装完成启动后设置,进度完成虚拟机就装配完成,并会在virt-manager指令的界面显示出来
查看正在运行的虚拟机
[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 文件拷贝过来,可以使用图形界面进行虚拟机的配置
若两个文件都有,安装时,需将/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 删除虚拟机硬盘文件
虚拟机快照是什么?
磁盘“快照”是虚拟机磁盘文件(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
将生成的快照文件导入虚拟机
之后的操作与创建虚拟机类似,可配置硬件信息,最终将得到一台新的快照虚拟机。
若快照虚拟机被破坏,则只需在virt-manager 中将该虚拟机强制关机,然后将 .qcow2 文件删除,再重新生成快照,重新启动虚拟机后,快照虚拟机被恢复
建立虚拟机配置的脚本文件: vim /mnt/vm_creat.sh
在配置脚本文件中编辑:
脚本执行后会弹出虚拟机设置界面,就需要进行如上边的操作了
建立虚拟机配置的脚本文件: vim /mnt/vm_snapshoot.sh
[root@foundation50 mnt]# chmod +x /mnt/vm_snapshoot.sh
[root@foundation50 mnt]# /mnt/vm_snapshoot.sh ahtl ccc