KVM构建及管理

配置yum源

  1. mkdir /dvd 创建光盘挂载目录

  2. 挂载ISO镜象文件
    mount /ISO/rhel-server-7.2-x86_64-dvd.iso /dvd(镜像自己准备)

  3. 修改配置文件/etc/fstab
    /ISO/rhel-server-7.2-x86_64-dvd.iso /dvd iso9660 defaults 0 0

4.验证:

umount /dvd
mount -a


1.删除其它的客户端文件
[root@room9pc14 ~]# rm -rf /etc/yum.repos.d/*

2.利用命令生成客户端文件
[root@room9pc14 ~]# yum-config-manager --add file:///dvd

3.查看生成的文件
[root@room9pc14 ~]# ls /etc/yum.repos.d/

4.修改配置文件

[root@room9pc14 ~]# vim /etc/yum.repos.d/dvd.repo
文件最后添加
gpgcheck=0 #不检测软件包的签名认证

[root@room9pc14 ~]# yum repolist #列出仓库信息


> 虚拟化概述

• virtualization

[root@room9pc14 桌面]# cat /proc/cpuinfo | grep vmx

• 使用RHEL7软件仓库的预设分组

– yum groups list hidden

– yum groups install [组名]...

– yum groups remove [组名]

主要软件组
– 虚拟化平台 —— "Virtualization Platform"

– 虚拟化主机 —— "Virtualization Host"

– 虚拟化客户端 —— "Virtualization Client"

虚拟化服务

[root@room9pc14 桌面]# systemctl start libvirtd

######################################################

管理虚拟机的命令

virsh nodeinfo //查看KVM节点(服务器)信息

virsh list //列出正在运行的虚拟机

virsh list --all //列出所有虚拟机(包括未启动的)

virsh dominfo 虚拟机名称 //查看指定虚拟机的信息

virsh start 虚拟机名称 //将指定的虚拟机开机

virsh reboot 虚拟机名称 //将指定的虚拟机重启

virsh shutdown 虚拟机名称 //将指定的虚拟机正常关机

virsh destroy 虚拟机名称 //将指定的虚拟机强制关机

virsh autostart 虚拟机名称 //设置随KVM自动开机

virsh autostart --disable 虚拟机名称 //禁止自动开机

virt-manager //打开虚拟系统管理器

####################################################

[root@room9pc14 /]# virsh destroy nsd1703

注意删除 Channel 设备,会影响虚拟机快速重建

####################################################

一台KVM虚拟机的组成

– xml配置文件(虚拟机描述文件):定义虚拟机的名称、UUID、CPU、内
存、虚拟磁盘、网卡等各种参数设置

虚拟机描述文件路径:/etc/libvirt/qemu/

虚拟机标示信息:虚拟机的名称、UUID、虚拟磁盘文件、网卡MAC

– 磁盘文件:保存虚拟机的操作系统

磁盘文件路径: /var/lib/libvirt/images/
##################################################

虚拟机描述文件

1.切换路径到/etc/libvirt/qemu/

2.拷贝nsd1703.xml到/opt

3.修改/opt/nsd1703.xml

虚拟机标示信息:虚拟机的名称、UUID、网卡MAC
虚拟磁盘文件:
<source file='/var/lib/libvirt/images/test01.qcow2'/>

磁盘文件

1.切换路径到/var/lib/libvirt/images/

2.当前拷贝nsd1703.qcow2,放在当前路径下test01.qcow2

验证:导入虚拟机信息命令 virsh define /opt/nsd1703.xml

#####################################################

补充命令:
virsh undefine 虚拟机名称 #删除虚拟机,不会删除磁盘文件

virsh dumpxml 虚拟机名称 #输出虚拟机的描述信息

三合一命令 virsh edit 虚拟机名称 #导出、修改、导入

#####################################################

虚拟机快速重建技术

COW技术原理

• Copy On Write,写时复制
– 直接映射原始盘的数据内容
– 当原始盘的旧数据有修改时,在修改之前自动将旧数据存入前端盘
– 对前端盘的修改不回写到原始盘

1.查看qcow2磁盘文件信息
qemu-img info /var/lib/libvirt/images/nsd1703.qcow2

2.生成前端盘(增量盘),-f 指定磁盘文件类型 -b 指定后端盘(原始盘)

qemu-img create -f qcow2 -b /var/lib/libvirt/images/nsd1703.qcow2 /var/lib/libvirt/images/new01.qcow2

3.查看前端盘(增量盘)磁盘文件信息
qemu-img info /var/lib/libvirt/images/new01.qcow2

4.三合一修改
virsh edit nsd1703
修改四部分:虚拟机的名称、UUID、虚拟磁盘文件、网卡MAC

5.开启新虚拟机
virsh start new01
######################################################

创建/还原/删除快照
• 快照的作用
– 在虚拟机磁盘镜像内记录不同时间点的状态数据备份
– 必要时可将虚拟机恢复到指定的快照
– 虚拟机必须关机下进行

• 基本用法
– qemu-img snapshot -c 快照名 qcow2磁盘
– qemu-img snapshot -l qcow2磁盘
– qemu-img snapshot -a 快照名 qcow2磁盘
– qemu-img snapshot -d 快照名 qcow2磁盘

1.关闭nsd1703虚拟机, virsh destroy

2.切换路径/var/lib/libvirt/images

3.制作快照
qemu-img snapshot -c 01.snap nsd1703.qcow2

4.查看快照
qemu-img snapshot -l nsd1703.qcow2

5.还原快照
qemu-img snapshot -a 01.snap nsd1703.qcow2

6.删除快照
qemu-img snapshot -d 01.snap nsd1703.qcow2

7.查看快照
qemu-img snapshot -l nsd1703.qcow2
######################################################

搭建新的教学环境

1.所有虚拟机强制关机

虚拟机A,密码为 123456

1.主机名 svr7.tedu.cn

2.配置eth0网卡IP地址为 192.168.4.7/24

3.与真机 192.168.4.254 进行通信

4.将防火墙默认区域修改为trusted

5.永久关闭SELinux

虚拟机B,密码为 123456

1.主机名 pc207.tedu.cn

2.配置eth0网卡IP地址为 192.168.4.207/24

3.与真机 192.168.4.254 进行通信

4.将防火墙默认区域修改为trusted

5.永久关闭SELinux

在真机上,设置永久别名,验证在开一新的终端

[root@room9pc14 桌面]# vim /root/.bashrc

alias goa='ssh -X root@192.168.4.7'
alias gob='ssh -X root@192.168.4.207'
###################################################

无密码验证,远程管理

1.生成公私钥

[root@room9pc14 桌面]# ssh-keygen #一路回车

2.查看公私钥
[root@room9pc14 桌面]# ls /root/.ssh/

3.传递公钥到虚拟机A与虚拟机B
[root@room9pc14 桌面]# ssh-copy-id root@192.168.4.7
[root@room9pc14 桌面]# ssh-copy-id root@192.168.4.207

补充命令
[root@room9pc14 桌面]# ssh-add #声明私钥
##################################################