通过X个物理资源生成Y个逻辑资源
系统服务名:libvirtd
完全
部分
硬件辅助(CPU):主流CPU都集成了虚拟化技术如VT、VD
虚拟化厂商 虚拟化产品
VMware VMware Workstation、vSphere
Microsoft VirtualPC、Hypre-V、Azure
RedHat KVM、RHEV(收费版)
Citrix Xen
Oracle Oracle VM VirtualBox
LANG=en
yum grouplist hidden |grep Virtual #rhel7查看可用的虚拟化相关的软件包组
Virtualization Host
Virtualization Client
Virtualization Hypervisor
Virtualization Platform
Virtualization Tools
yum grouplist hidden |grep Virtual #rhel6查看可用的虚拟化相关的软件包组
Virtualization
yum -y group install Virtualization\ Client Virtualization\ Hypervisor Virtualization\ Platform Virtualization\ Tools
cd /usr/share/applications
cp virt-manager.desktop ~/桌面/
虚拟机的XML配置文件所在路径。XML配置文件定义虚拟机的名称、UUID、内存、虚拟磁盘、网卡等各种参数设置
虚拟机的磁盘镜像文件所在路径。磁盘镜像文件用来保存虚拟机的操作系统及文档等数据
图形化管理工具
查看实体机的CPU、内存等信息
查看正在运行的虚拟机,--all表示显示所有的虚拟机
查看虚拟机的详细信息
设置开机自动运行虚拟机,--disable表示取消开机自动运行功能
启动、重启和关闭虚拟机
强制关闭虚拟机
导入虚拟机
删除虚拟机的XML文件,不在KVM管理器里面显示
导出虚拟机的XML文件重定向到新虚拟机的XML文件
导出修改再导入虚拟机的XML文件
查看虚拟机现有的快照信息
为server创建快照名为nullmail
删除虚拟机快照
修改虚拟机快照的名称
server恢复快照,快照名称为nullmail,恢复后运行虚拟机
在线修改server的使用内存为8192000KB
修改server的最大可用内存为8192000KB,无法在线修改,只能关机后修改,下一次开机后应用该设置
查看镜像的相关信息
virsh destroy example#强制关机example
cd /var/lib/libvirt/images#虚拟机的XML配置文件所在路径
qemu-img info example.qcow2#查看虚拟机磁盘镜像文件的信息
cp example.qcow2 test01.qcow2#拷贝镜像文件
cd /etc/libvirt/qemu#虚拟机的磁盘镜像文件所在路径
cp example.xml test01.xml#拷贝XML配置文件
vim test01.xml
删除两个<channel></channel>标记
修改虚拟机名称、虚拟机磁盘文件、网卡MAC地址、UUID
注意!UUID和网卡MAC地址都是16进制,修改的时候字母只有a~f可用
uuidgen#专业生成UUID的小工具
virsh define /etc/libvirt/qemu/test01.xml#导入test01虚拟机
virsh undefine /etc/libvirt/qemu/test01.xml#删除test01虚拟机
COW(Copy on Write)写(变化)时复制
直接映射原始盘的数据内容,当原始盘的旧数据有修改时,在修改之前将旧数据存入前端盘,对前端盘的修改将不再回写到原始盘
原始盘(后端盘):需要备份的原始数据
增量盘(前端盘):永远储存,在制作前端盘的那一瞬间,原始盘的数据内容
可以这么理解:
假设原始盘的容量很大,创建增量盘需要10分钟。那么在创建增量盘的这10分钟内,一旦原始盘的数据有写操作(修改、删除等),通过COW机制,原始盘会把要操作的数据实体,拷贝到增量盘中,以保证增量盘永远储存,在创建增量盘的那一瞬间原始盘的数据内容
举例来说:
原始盘有1.txt、2.txt、3.txt等文件
创建增量盘的时候,前端盘实际存储的是1.txt、2.txt、3.txt的快捷方式
用户访问增量盘的1.txt的时候,实际查看的是原始盘里面的1.txt的内容
而如果原始盘的1.txt被删除时,会把将删除的1.txt的数据实体而不是快捷方式,拷贝到增量盘。拷贝完毕后。用户再访问增量盘的1.txt的时候,就是查看存储在增量盘里面的数据,不再是原始盘里面的数据,因为原始盘里面以及没有数据了。
RAW:原始数据格式,被rhel7抛弃
QCOW2:rhel7新使用的格式
cd /var/lib/libvirt/images/
qemu-img create -f qcow2 -b example.qcow2 test02.qcow2
cd /etc/libvirt/qemu/
cp example.xml test02.xml
vim test02.xml
修改虚拟机名、磁盘镜像名、UUID、MAC地址
virsh define test02.xml#导入test02虚拟机
virsh list --all|grep test02
virsh start test02
记得关闭SELinux,可以在虚拟机关机的情况下离线修改,但是花费的时间比较长
资源端:由实体机提供
服务端:虚拟机A
客户端:虚拟机B
用clone-vm7脚本创建两台虚拟机8、9
虚拟机A:
主机名:svr7.tedu.cn
网卡:eth0
IP:192.168.4.7/24
帐号:root
密码:123456
虚拟机B:
主机名:pc207.tedu.cn
IP:192.168.4.207/24
yum仓库搭建
yum服务端:实体机
yum客户端:虚拟机
实体机:
clone-vm7 8
clone-vm7 9
echo svr7.tedu.cn >/etc/hostname
hostname
nmcli c m eth0 ipv4.method manual ipv4.addresses '192.168.4.7/24' connection.autoconnect yes
nmcli c up eth0
ping 192.168.4.254
echo pc207.tedu.cn >/etc/hostname
nmcli c m eth0 ipv4.method manual ipv4.addresses '192.168.4.207/24' connection.autoconnect yes
systemctl restart httpd
systemctl enable httpd
mkdir -p /var/www/html/rhel7
echo '/ISO/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhel7 iso9660 defaults 0 0' >>/etc/fstab
tail -1 /etc/fstab
mount -a
虚拟机A,B:
vim /etc/yum.repos.d/dvd.repo
[dvd]
name=rhel7
enabled=1
gpgcheck=0
yum clean all
yum repolist
本文转自 goldwinner 51CTO博客,原文链接:http://blog.51cto.com/355665/2068775,如需转载请自行联系原作者