一、虚拟化概述
虚拟计算机的硬件
virtualization 资源管理
x个物理资源 --> y个逻辑资源
实现程度:完全虚拟化、部分虚拟化、硬件辅助虚拟化(CPU)
查看CPU是否支持虚拟化指令:
[root@room9pc01 ~]# lscpu | grep vmx
二、搭建KVM服务器
2.1 搭建KVM服务器的主要软件
虚拟化模拟器 —— qemu-kvm
虚拟化客户端软件 —— libvirt-client
虚拟化服务 —— libvirt-daemon
虚拟系统管理器 —— virt-manager
相关虚拟化驱动 —— libvirt-daemon-driver-qemu
2.2 安装虚拟化软件
~]# yum -y install libvirt*
~]# systemctl restart libvirtd.service //虚拟化服务名:libvirtd
~]# systemctl status libvirtd.service
2.3 虚拟化常用命令
2.3.1 查看KVM节点(服务器)信息
virsh nodeinfo
2.3.2 列出虚拟机
virsh list [--all]
2.3.3 查看指定虚拟机的信息
virsh dominfo 虚拟机名称
2.3.4 设置虚拟机开机自起
virsh autostart 虚拟机名称
virsh dominfo 虚拟机名称
2.3.5 设置虚拟机禁止开机自起
virsh dominfo 虚拟机名称
virsh autostart --disable 虚拟机名称
virsh dominfo 虚拟机名称
2.3.6 在控制台链接虚拟机
[root@room9pc01 ~]# virsh list --all
[root@room9pc01 ~]# virsh start 虚拟机名字
[root@room9pc01 ~]# virsh console 虚拟机名字
三、KVM虚拟机的组成
3.1 xml配置文件(虚拟机描述文件)
存放目录: /etc/libvirt/qemu
定义虚拟机的名称、UUID、CPU、内存、虚拟磁盘、网卡等各种参数设置
3.2 磁盘镜像文件
存放目录:/var/lib/libvirt/images/
保存虚拟机的操作系统及文档数据,镜像路径取决于xml配置文件中的定义
四、手动新建虚拟机
4.1 创建模版机器
附:如果有*.qcow2文件,这一步可以跳过
通过Yum源,直接手动安装虚拟机系统
新建虚拟机------->选择 “网络安装”-----> URL 书写网络Yum源
虚拟机系统要求:
1.内存2G
2.系统为 CentOS7
3.分区 自动分区
4.软件包 最小安装
4.2 创建新的磁盘文件
[root@room9pc01 ~]# cp /var/lib/libvirt/images/CentOS7.qcow2 /var/lib/libvirt/images/test01.qcow2
4.3 创建新的xml配置文件(虚拟机描述文件)
[root@room9pc01 ~]# cd /etc/libvirt/qemu/
[root@room9pc01 qemu]# cp CentOS7.xml test01.xml
[root@room9pc01 qemu]# vim test01.xml
修改虚拟机名字、删除UUID整行、修改磁盘文件路径、删除整行MAC地址
4.4 验证
# virsh define /etc/libvirt/qemu/test01.xml #导入虚拟机
# virsh list --all
# virsh start test01 #开启虚拟机
# virsh list --all
五、快速新建虚拟机
5.1 写时复制
快速新建虚拟机用到的技术:Copy On Write,写时复制
1.直接映射原始盘的数据内容
2.当原始盘的旧数据有修改时,在修改之前自动将旧数据存入前端盘
3.对前端盘的修改不回写到原始盘
5.2 快速新建虚拟机
5.2.1 生成前端盘
qemu-img create -f qcow2 -b 原始盘 前端盘
# cd /var/lib/libvirt/images/
# qemu-img info CentOS7.qcow2
# qemu-img create -f qcow2 -b CentOS7.qcow2 test02.qcow2
# qemu-img info test02.qcow2
5.2.2 创建新的xml配置文件(虚拟机描述文件)
# cd /etc/libvirt/qemu/
# cp CentOS7.xml test02.xml
# vim test02.xml
修改虚拟机名字、删除UUID整行、修改磁盘文件路径、删除整行MAC地址
5.3.3 验证
# virsh define /etc/libvirt/qemu/test02.xml #导入虚拟机
#virsh start test02 #启动虚拟机
#####################################################
下面是快速新建虚拟机所需的镜像、.xml文件和创建虚拟机的脚本
rhel7镜像下载地址:https://pan.baidu.com/s/14dC0FhaFLlyyuVgaEuLXiw
rhel7.xml下载地址: https://download.csdn.net/download/qq_36441027/10597050
快速创建虚拟机脚本 create-vm-auto.sh
[root@room9pc01 ~]# ./create-vm-auto.sh
[root@room9pc01 ~]# ssh -X [email protected] //可以快速创建虚拟机,并实现免密登录