虚拟化概述
• Virtualization 资源管理 – x个物理资源 --> y个逻辑资源 – 实现程度:完全、部分、硬件辅助(CPU) 手动新建一台虚拟机: 虚拟机名字:example 网络类型选择:private1 ######################################################### • 使用 virt-manager 客户端工具 在真机上操作:• 查看KVM节点(服务器)信息
– virsh nodeinfo • 列出虚拟机 – virsh list [--all] • 查看指定虚拟机的信息 – virsh dominfo 虚拟机名称 • 将指定的虚拟机设为开机自动运行 – virsh autostart [--disable] 虚拟机名称• 运行|重启|关闭指定的虚拟机
– virsh start|reboot|shutdown 虚拟机名称 • 强制关闭指定的虚拟机 – virsh destroy 虚拟机名称#######################################################
在虚拟机example中搭建本地Yum1.挂载光盘
[root ~]# mount /dev/cdrom /dvd2.客户端文件
[root ~]# cat /etc/yum.repos.d/dvd.repo [dvd] name=dvd baseurl=file:///dvd enabled=1 gpgcheck=0#####################################################
• 使用RHEL7软件仓库的预设分组
– yum groups list [hidden] [组名]...
– yum groups info [组名]... – yum groups install [组名]... – yum groups remove [组名]... [root ~]# yum groups install Virtualization\ Client Virtualization\ Hypervisor Virtualization\ Platform Virtualization\ Tools########################################################
桌面图标/usr/share/applications/
右击-----图标--------->复制到---------->home------->桌面 ######################################################启动libvirtd服务端
• libvirtd 为管理虚拟机提供服务接口 ######################################################在Linux中KVM虚拟机,组成:
– xml配置文件(虚拟机描述文件):定义虚拟机的名称、UUID、CPU、内
存、虚拟磁盘、网卡等各种参数设置 /etc/libvirt/qemu/*.xml– 磁盘镜像文件:保存虚拟机的操作系统及文档数据,
镜像路径取决于xml配置文件中的定义 /var/lib/libvirt/images/[root@room9pc14 桌面]# ls /etc/libvirt/qemu/
[root@room9pc14 桌面]# ls /var/lib/libvirt/images/[root@room9pc14 桌面]# du -sh /var/lib/libvirt/images/
细节: 模版虚拟机example,注意删除 Channel 设备#######################################################
通过example虚拟机,生成新的虚拟机1.关闭example虚拟机
[root@room9pc14 桌面]# virsh destroy example 2.通过example虚拟机,磁盘文件复制一份 [root@room9pc14 桌面]# cd /var/lib/libvirt/images/ [root@room9pc14 images]# qemu-img info example.qcow2 [root@room9pc14 images]# cp example.qcow2 test01.qcow2 3.通过example虚拟机,复制虚拟机描述文件 [root@room9pc14 images]# cd /etc/libvirt/qemu/ [root@room9pc14 qemu]# ls [root@room9pc14 qemu]# cp example.xml test01.xml [root@room9pc14 qemu]# vim test01.xml 虚拟机名称、UUID、虚拟机磁盘文件、网卡MAC[root@room9pc14 qemu]# uuidgen
4. 导入新虚拟机信息
# virsh define /etc/libvirt/qemu/test01.xml #导入虚拟机信息 # virsh list --all##########################################################
导出xml配置文件 – 查看:virsh dumpxml 虚拟机名 – 备份:virsh dumpxml 虚拟机名 > 虚拟机名.xml 对虚拟机的配置进行调整 – 编辑: virsh edit 虚拟机名#########################################################
COW写时复制,快速重建虚拟机
1.虚拟机的磁盘文件,快速生成
• Copy On Write,写时复制
– 直接映射原始盘的数据内容 – 当原始盘的旧数据有修改时,在修改之前自动将旧数据存 入前端盘 – 对前端盘的修改不回写到原始盘2.qemu-img 通过 -b 选项复用指定原始盘
– qemu-img create -f qcow2 -b 原始盘 前端盘
1.关闭虚拟机
[root@room9pc14 /]# virsh destroy example2.生成前端盘
# qemu-img create -f qcow2 -b /var/lib/libvirt/images/example.qcow2 /var/lib/libvirt/images/test02.qcow23.生成新的虚拟机描述文件
[root@room9pc14 /]# cd /etc/libvirt/qemu/ [root@room9pc14 qemu]# cp example.xml test02.xml [root@room9pc14 qemu]# vim test02.xml虚拟机名称、UUID、虚拟机磁盘文件、网卡MAC
[root@room9pc14 qemu]# uuidgen
4. 导入新虚拟机信息
# virsh define /etc/libvirt/qemu/test02.xml #导入虚拟机信息 # virsh list --all###########################################################
离线访问虚拟机
• 使用 guestmount 工具 – 支持离线挂载 raw、qcow2 格式虚拟机磁盘 – 可以在虚拟机关机的情况下,直接修改磁盘中的文档 – 方便对虚拟机定制、修复、脚本维护# guestmount -a /var/lib/libvirt/images/example.qcow2 -i /mnt/
###################################################1)生产环境可以标记 /.unconfigured ,方便新虚拟机
的配置(相当于出厂设置,提示用户初始化) ####################################################### 搭建新的教学环境1.在真机生成两台虚拟机
[root@room9pc14 桌面]# clone-vm7 Enter VM number: 8 [root@room9pc14 桌面]# clone-vm7 Enter VM number: 92.修改虚拟机名称,一个A 另一个B
虚拟机A:
主机名:svr7.tedu.cn IP地址:192.168.4.7/24虚拟机B:
主机名:pc207.tedu.cn IP地址:192.168.4.207/243.Yum仓库的搭建
真机 Yum服务端,Web共享光盘所有内容
[root@room9pc14 桌面]# mkdir /var/www/html/rhel7 [root@room9pc14 桌面]# ls /var/www/html/rhel7 [root@room9pc14 桌面]# mount /ISO/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhel7[root@room9pc14 桌面]# ls /var/www/html/rhel7
[root@room9pc14 桌面]# firefox 127.0.0.1/rhel7 [root@room9pc14 桌面]# vim /etc/fstab/ISO/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhel7 iso9660 defaults 0 0
[root@room9pc14 桌面]# umount /var/www/html/rhel7/
[root@room9pc14 桌面]# ls /var/www/html/rhel7/ [root@room9pc14 桌面]# mount -a [root@room9pc14 桌面]# ls /var/www/html/rhel7/
客户端:虚拟机A与虚拟机B
虚拟机A
[root@svr7 ~]# vim /etc/yum.repos.d/dvd.repo [dvd] name=dvd baseurl=http://192.168.4.254/rhel7 enabled=1 gpgcheck=0[root@svr7 ~]# yum repolist
用与远程拷贝数据,网络的不同主机之间
scp 本地的路径 用户名@对方的IP地址:对方的路径
scp /etc/yum.repos.d/dvd.repo root@192.168.4.207:/etc/ yum.repos.d
########################################################## 虚拟机A 虚拟机B