天天看点

Day12 KVM构建与管理(Service01)一、虚拟化概述二、搭建KVM环境三、KVM管理命令四、快速创建虚拟机五、离线访问虚拟机六、搭建新的教学环境

通过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,如需转载请自行联系原作者