KVM虚拟化

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 验证虚拟磁盘格式为qcow2 – qemu-img info /vdisk/winxp.img.qcow2
• 删除raw格式磁盘,重命名qcow2格式磁盘 – rm –rf /vdisk/winxp.img – mv /vdisk/winxp.img.qcow2 /vdisk/winxp.img
virsh define xxxx.xml 从一个xml配置文件生成一个虚拟机
virsh vncdisplay winxp 显示虚拟机的VNC连接信息
21/35
KVM部署
管理虚拟机
修改内存大小
• 关闭虚拟机 – virsh shutdown winxp
• 修改内存大小 – virsh setmem winxp 512 --current
24/35
管理虚拟机
添加新磁盘
• 安装virtio驱动
• 格式化新磁盘
KVM部署
25/35
KVM部署
管理虚拟机
删除新磁盘
• virsh detach-disk
winxp
/vdisk/newdisk1.img
26/35
KVM部署
管理虚拟机
修改引导顺序
• 关闭虚拟机 – virsh destroy winxp或者shutdown
19/35
安装虚拟机
使用VNC连接guest系统进行系统安装
Linux:
virt-view winxp
KVM部署
Windows:
20/35
KVM部署
管理虚拟机
使用virsh命令完成对虚拟机的管理
virsh list --all
显示所有虚拟机列表
virsh start winxp 启动虚拟机
virsh shutdown winxp 关闭虚拟机
KVM部署
管理虚拟机
在线迁移虚拟机
• KVM1和KVM2上设置静态解析/etc/hosts
192.168.1.51 kvm1 192.168.1.52 kvm2
• KVM1和KVM2重启netowrk服务 – /etc/init.d/NetworkManager stop – /etc/init.d/network restart
16/35
KVM部署
KVM部署
重启网络服务,查看桥接网卡是否正常工作
service Network-Manager stop service network restart brctl show
bridge name bridge id
STP enabled interfaces
br0
8000.0021cc6b6f2c no
grep “vmx” /proc/cpuinfo && echo “yes” grep “svm” /proc/cpuinfo && echo “yes”
10/35
KVM部署
KVM部署
安装KVM相关软件
• KVM、python-virtinst、libvirt、bridge-utils、virt-manager 、qemu-kvm-tools、virt-viewer、virt-v2v
virsh destroy winxp 强制关闭虚拟机
virsh undefine winxp 删除虚拟机
virsh reset winxp 重启虚拟机
virsh suspend winxp 挂起虚拟机
virsh resume winxp 恢复虚拟机
virsh edit winxp 修改虚拟机配置文件
--name 虚拟机名称 --ram 内存大小 --vcpus 虚拟CPU数量 --disk path=虚拟硬盘文件,size=虚拟硬盘大小 --cdrom 虚拟光盘文件 --graphics 图形显示方式,password=连接密码,port=连接端口 --network bridge=桥接网卡 --autostart 自动开机 --os-type 系统类型 --os-variant 发行版本 --boot 引导顺序
• 挂载virtio驱动ISO文件至虚拟机 – virsh attach-disk winxp /iso/virtio-win-0.1-100.iso hdc -type cdrom
• 生成新虚拟磁盘 – qemu-img create -f raw /vdisk/newdisk1.img 5G
• 挂载新虚拟磁盘至虚拟机 – virsh attach-disk winxp /vdisk/newdisk1.img vdb
14/35
KVM部署
加载虚拟化模块
modprobe kvm modprobe kvm-intel lsmod | grep “kvm”
kvm_intel kvm
53484 0 316506 1 kvm_intel
KVM部署
15/35
KVM部署
KVM部署
建立桥接网卡
vi /etc/sysconfig/network-scripts/ifcfg-eth0
3/35
虚拟化架构
架构
全虚拟化
不用修改客户操作系统内核
应用程序 客户操作系统 虚拟硬件 Hypervisor虚拟化层 宿主操作系统 物理硬件
虚拟硬件并不存在,由虚拟化层转化为对物理硬件的访问
对物理硬件的访问效率有损耗
4/35
架构
OS层半虚拟化
虚拟化架构
应用程序 客户操作系统 虚拟化层 宿主操作系统 物理硬件
• 克隆虚拟机 – virt-clone -o winxp -n winxp2
-f /vdisk/winxp2.img
• 开启新虚拟机 – virsh start winxp2
31/35
管理虚拟机
在线迁移虚拟机
KVM部署
192.168.1.51
TLS SSH TCP 192.168.1.52
32/35
DEVICE=eth0 TYPE=Ethernet HWADDR=XX:XX:XX:XX:XX:XX BRIDGE=br0 BOOTPROTO=none ONBOOT=yes
vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0 TYPE=Bridge BOOTPROTO=static IPADDR=xxx.xxx.xxx.xxx NETMASK=255.255.255.0 ONBOOT=yes
eth0
virbr0
8000.525400ac7ebe yes
virbr0-nic
17/35
KVM部署
KVM部署
准备安装ISO镜像
mkdir /iso dd if=/dev/cdrom of=/iso/xxxxx.iso
18/35
KVM部署
安装虚拟机
使用virt-install工具创建一个guest系统
• 设置临时域名 – 在KVM1计算机上执行hostname kvm1 – 在KVM2计算机上执行hostname kvm2
• 在KVM1上执行动态迁移 – virsh migrate --live winxp qemu+ssh://kvm2/system
33/35
KVM部署
管理虚拟机
在线迁移虚拟机
• 编辑虚拟机配置文件,修改raw格式为qcow2格式 – virsh edit winxp
28/35
KVMHale Waihona Puke Baidu署
管理虚拟机
制作快照
• 启动虚拟机 – virsh start winxp
• 制作快照 – virsh snapshot-create-as winxp winxp.snapshot1
虚拟机名称(域名) 快照名称
KVM虚拟化
主讲人:钟塔
虚拟化定义 虚拟化架构 KVM虚拟化特点 KVM部署
安装 管理 迁移
目录
2/35
虚拟化定义
虚拟化
虚拟化技术
• 使用软件方式重新定义划分硬件资源,实现硬件资源的动态分配 、跨系统共享,提高资源利用率,降低成本
通过虚拟化技术将一台计算机虚拟为多台逻辑计算机
• 同时运行多个不同的操作系统 • 相互独立运行 • 可以相互通信
虚拟机名称 光盘ISO文件 挂载目标 设备类型
23/35
KVM部署
管理虚拟机
添加新磁盘
• 获取virtio驱动镜像ISO文件 – http://alt.fedoraproject.org/pub/alt/virtio-win/archives/virtiowin-0.1-100/virtio-win-0.1-100.iso
SELINUX=disabled
reboot
12/35
KVM部署
设置QEMU侦听VNC IP地址
vi /etc/libvirtd/qemu.conf
vnc_listen = “0.0.0.0”
KVM部署
13/35
KVM部署
KVM部署
设置libvirtd服务开机启动
chkconfig --level 2345 libvirtd on service libvirtd restart
• 开启虚拟机 – virsh start winxp
对当前域进行修改
22/35
KVM部署
管理虚拟机
在线更换光盘镜像
• 卸载光盘 – virsh attach-disk winxp “” hdc --type cdrom
• 装载光盘 – virsh attach-disk winxp /iso/winxp.iso hdc --type cdrom
virt-install --name=winxp --ram 256 --vcpus=2 \ --disk path=/vdisk/winxp.img,size=30 --cdrom /iso/winxp.iso \ --boot hd,cdrom,network –os-type windows –os-variant winxp \ --graphics vnc,password=123456,port=5910 --network bridge=br0 \ --autostart
yum –y install kvm python-virtinst libvirt bridge-utils virt-manager qemu-kvm-tools virtviewer virt-v2v
11/35
KVM部署
KVM部署
关闭防火墙和SElinux
chkconfig --level 2345 iptables off service iptables stop vi /etc/sysconfig/selinux
5/35
架构
硬件层半虚拟化
虚拟化架构
应用程序 客户操作系统 虚拟化层 物理硬件
6/35
架构
半虚拟化
• ESXi、Xen
全虚拟化
• Vmware Workstation、KVM
虚拟化架构
7/35
KVM虚拟化特点
KVM
虚拟化模块集成到Linux内核中,效率更高 支持全虚拟化和半虚拟化
Linux(Host)
虚拟机1
虚拟机2
虚拟硬件
虚拟硬件
硬件系统
处理器
KVM模块
内存
输入输出设备
8/35
KVM部署
检查CPU是否支持虚拟化技术
• Intel VT-x • AMD-V
KVM部署
BIOS开启CPU虚拟化功能
9/35
KVM部署
KVM部署
确认Linux内核已经支持虚拟化技术
• 如果没有输出YES,请先确认BIOS中已经开启虚拟化功能
34/35
29/35
KVM部署
管理虚拟机
恢复快照
还原后运行
virsh snapshot-revert winxp winxp.snapshot1 --running
强制还原
--force
--paused
还原后挂机
30/35
KVM部署
管理虚拟机
克隆虚拟机
• 暂定/关闭虚拟机 – virsh shutdown winxp
• 在KVM2上保存且注册虚拟机XML配置文件 – virsh dumpxml winxp > /etc/libvirt/qemu/winxp.xml – virsh define /etc/libvirt/qemu/winxp.xml
• 注销KVM1上的虚拟机 – virsh destroy winxp – virsh undefine winxp
• 修改虚拟机配置文件 – virsh edit winxp
winxp
• 运行虚拟机 – virsh start winxp
27/35
KVM部署
管理虚拟机
制作快照
• 先关闭虚拟机 – virsh shutdown winxp
• 转换虚拟磁盘raw格式至qcow2格式 – qemu-img convert -f raw -O qcow2 /vdisk/winxp.img /vdisk/winxp.img.qcow2
相关文档
最新文档