在系统中,想要使用虚拟化,首先要确定你现在所用到的CPU,它必须支持vmx/svm指令集当中的一个
如果是inter的cpu,那必须是vmx
如果是amd的cpu,那必须是svm
cat /proc/cpuinfo ##查看CPU类型
安装系统的基本原理(步骤)首先激活硬件,然后往硬件里面安装我们的软件包
如果要使用虚拟化,系统当中要安装的软件有以下三个
Virtualization Client ##虚拟化客户端
Virtualization Tools ##虚拟化工具
Virtualization Hypervisor ##虚拟化核心套件
用软件组安装方式一次安装:
dnf group install "Virtualization Client" "Virtualization Hypervisor" "Virtualization Tools" -y
服务名称:libvirtd
虚拟化核心:qemu-kvm、qemu-img
虚拟化存储目录(虚拟机硬盘) /var/lib/libvirt/images/vmname.qcow2
虚拟化硬件信息:/etc/libvirt/qemu/vmname.xml
(1)调出虚拟化管理工具,点击图标新建一个虚拟机
(2)选择本地镜像安装
(3)选择镜像资源路径,系统版本
(4)选择内存大小和CPU处理器核数
注意:如果选择要安装图形,内存必须大于768M,否则图形开不起来,768M是图形在运行时的最小内存
(5)选择硬盘大小
注意:安装图形至少5G以上,给它10G,这10G并不是表示给它10G以后,这10G的空间立马会在硬盘中锁定,是用多少占多少,但是最多只能用10G,这是一个动态的分布
(6)设置虚拟机名称,网络源选择桥接
(7)前面的步骤是对虚拟机的一个管理,就是虚拟机的一个建立,进入到系统安装界面后选择第一行安装8.0,之后安装系统当中必须的软件,硬盘分区
virt-manager ##打开虚拟机控制器
virsh list ##列出运行的虚拟机
virsh list --all ##列出所有虚拟机
virsh start rhel8.0 ##开启虚拟机
virt-viewer rhel8.0 ##显示 rhel8.0虚拟机
virsh shutdown rhel8.0 ##正常关闭虚拟机
virsh destroy rhel8.0 ##断电 rhel8.0虚拟机
virsh define rhel8.0.xml ##通过硬件信息文件恢复虚拟机
virsh create rhel8.0.xml ##通过硬件信息文件打开虚拟机
virsh undefine rhel8.0 ##删除虚拟机硬件信息
如果想把一台主机上的虚拟机copy到另一台主机上,需要copy两个文件:/etc/libvirt/qemu/rhel8.0.xml、/var/lib/libvirt/images/rhel8.0.cow2
/etc/libvirt/qemu/rhel8.0.xml:虚拟机的硬件信息,(.xml)可扩展标记语言,用来做数据的封装
/var/lib/libvirt/images/rhel8.0.cow2:硬盘文件,就是系统所安装的位置(虚拟机真实的硬盘)
virsh undefine rhel8.0 ##删除虚拟机硬件信息,可恢复
rm -rf /var/lib/libvirt/images/rhel8.0.cow2 ##删除虚拟机硬盘(不可恢复)
虚拟机快照是为了保护母盘不受损坏
为什么保护母盘?因为安装虚拟机的过程很漫长,而且很不容易
如何做虚拟机快照,执行如下命令可制作出一个虚拟机快照
qemu-img create -f qcow2 -b /var/lib/libvirt/images/rhel8.0.qcow2 /var/lib/libvirt/
images/node1.qcow2
##creat 创建 -f指定文件类型 -b 要备份的文件
(1)脚本实现的是这个过程的自动化,做一个脚本实现图形管理虚拟机时的自动化
编辑完后给脚本一个执行权限+X
#! /bin/bash ##这个里面的所有命令的运行环境是/bin/bash
virt-install \
--name $1 \ ##$1表示脚本名称后的第一个字符
--cdrom /home/kiosk/Desktop/mirror/rhel-8.0-x86_64-dvd.iso \ ## 镜像的绝对路径位置
--vcpus 1 \ ##指定CPU
--memory 1024 \ ##指定内存
--disk /var/lib/libvirt/images/$1.qcow2,size=6,bus=virtio \ ##指定导入硬件信息的位置,大小,总线类型
--network bridge=br0,model=virtio &> /dev/null & ##指定网络类型
vim vm_snapshoot.sh ##编辑脚本(程序设计分为两个部分,一个是数据,一个是逻辑)
#!/bin/bash ##指定命令运行环境
##create snapshoot file##(数据)
qemu-img create -f qcow2 -b /var/lib/libvirt/images/$1.qcow2 \
/var/lib/libvirt/images/$2.qcow2 &> /dev/null ##($1表示脚本名称后的第一串字符,已建立好的虚拟机;$2表示脚本名称后的第二串字符,将要建立的虚拟机快照)
##import snapshoot to vm##(逻辑)
virt-install \ ##快照导入命令
--name $2 \ ##指定快照名称
--memory 1024 \ ##指定内存大小
--vcpus 1 \ ##指定CPU
--disk /var/lib/libvirt/images/$2.qcow2 \ ##指定导入硬件信息的位置
--os-variant rhel8.0 \ ##指定系统类型
--import &> /dev/null & ##导入已安装好的系统磁盘信息