虚拟化概述、创建/还原/删除快照

手动安装一台RHEL7.2虚拟机
1.虚拟机名称 nsd1703
2.硬盘大小 10G
3.网络的类型选择 private1
4.软件包选择,带GUI的服务器
5.分区 选择 自动分区
6.关闭kdump

######################################################
真机搭建Yum仓库,软件包仓库

服务端:提供众多的软件包

一 完成开机自动挂载
1. 创建 目录 /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.所有虚拟机强制关机
2.保留 classroom server desktop win2008,其他全部删除


服务端A
[root@room9pc14 /]# clone-vm7
Enter VM number: 8

客户端B
[root@room9pc14 /]# clone-vm7
Enter VM number: 9

#####################################################
虚拟机A,密码为 Taren1

1.主机名 svr7.tedu.cn
2.配置eth0网卡IP地址为 192.168.4.7/24
3.与真机 192.168.4.254 进行通信
4.将防火墙默认区域修改为trusted
5.永久关闭SELinux

虚拟机B,密码为 Taren1

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 #声明私钥

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

原文地址:https://www.cnblogs.com/fuzhongfaya/p/8952324.html