一.什么是虚拟化 1.硬件虚拟化 -一台物理计算机虚拟出多台逻辑计算机 -cpu,内存可分配给多个虚拟机 2.软件虚拟化 -一个LAMP平台支撑多个网站 -桌面虚拟化 3.通过软件平台模拟出的计算机 -对最终用户来说,感受不到与物理计算机的差异 -根据虚拟化程度不同,所需的修改也不同 4.虚拟化的实现程度 完全虚拟化,Full Virtualization -由平台软件模拟实现 -客户机的操作系统代码几乎不做修改 半虚拟化,Para Virtualization -平台软件只提供最核心的虚拟机功能 -需要修改客户机的系统内核,兼容性较差 硬件辅助虚拟化,Hardware-Assisted Virtualization -将实现虚拟化技术的部分功能硬件化 -主要指Intel/AMD等CPU支持 5.常见的虚拟化软件 VMware VSphere平台,VMware Workstation Microsoft VirtualPC,Hyper-V RedHat KVM,RHEV平台 Citrix Xen Oracle Oracle VM VirtualBox 二.KVM介绍 Kernel-based Virtualization Macheine -基于内核的完全虚拟花解决方案 -Red Hat5.4版本开始推出,可替代早先的Xen产品 -需要Inter VT 或 AMD V 处理器技术支持 -支持Linux/Unix/Windows客户机 三.Host OS 与 Guest OS 1.Host OS --> 物理机/宿主机 -运行KVM虚拟机平台的物理机的操作系统 -比如CentOS6.7 ,RHEL6.7 2.Guest OS --> 虚拟机/客户机 -虚拟机上运行的操作系统 -比如:RHEL6.7 windows7 ... 四.虚拟网络 1.桥接模式 -Guest 与 Host 连接到同一个交换机上 -通过桥接物理网卡,相当于自连到Host所在网络 2.隔离网络 -Guest 可访问同一虚拟交换机上的其他Guest -但无法访问Host所在外部网络 五.网络访问类型 1.NAT模式(默认) -Guest的网关指向Host的virbr0的IP address -允许虚拟机共享宿主机的网络连接 2.路由模式 -由Host充当路由器,开启转发 -需要额外设置外网与Guest之间互访的路由
六.安装虚拟化相关包组 1.确保已安装的包组 -Virtualization,Virtualization clinet -Virtualization Tools, Virtualization Platform 2.启动libvirtd服务,并设为开机自启动 [[email protected] ~]# service libvirtd restart [[email protected] ~]# chkconfig libvirtd on 七.virsh命令工具介绍 1.提供管理各虚拟机的命令接口 -支持交互模式,查看/创建/停止/关闭... -格式:virsh 控制指令 [虚拟机名称] [参数] [[email protected] ~]# virsh 2.查看KVM节点的信息 [[email protected] ~]# virsh nodeinfo 3.列出所有的虚拟机 [[email protected] ~]# virsh list --all 4.列出指定虚拟机信息 [[email protected] ~]# virsh dominfo 虚拟机名称 5.运行|重启|关闭指定的虚拟机 [[email protected] ~]# virth start|reboot|shutdown 虚拟机名称 6.强制关闭指定的虚拟机 [[email protected] ~]# virsh destory 虚拟机名称 7.将指定的虚拟机设为开机自启动 [[email protected] ~]# virsh autostart [--disable] 虚拟机名称 八.xml配置文件 -定义了一个虚拟机的名称,UUID,CPU,内存,虚拟磁盘,网卡等各种参数设置 -默认位于/etc/libvirt/qemu/虚拟机名.xml 九.导出xml配置文件 -查看:virsh dumpxml 虚拟机名 -备份:virsh dumpxml 虚拟机名 > 虚拟机名.xml 十.编辑虚拟机设置 -编辑:virsh edit 虚拟机名 -若修改name,uuid,disk,mac,可自动保存为新虚拟机配置 [[email protected] ~]# virsh edit RHEL6 十一.导入虚拟机 -根据修改后的独立xml文件定义后新虚拟机 :virsh define XML描述文件 十二.删除虚拟机 -必要时可去除去多余的xml配置 -比如虚拟机改名的情况 -避免出现多个虚拟机的磁盘或MAC地址冲突 -virsh undefine 虚拟机名 十三.常用镜像类型 1.虚拟机的磁盘镜像文件格式 特点 RAW QCW2 kvm默认 否 是 I/O效率 大 小 占有空间 不支持 支持 后端盘复用 不支持 支持 快照 不支持 支持 十四.创建虚拟机磁盘镜像 1.创建新的镜像盘文件 -qemu-img create -f 格式 磁盘路径 大小 2.查询镜像文件的信息 -qemu-img info 磁盘路径 十五.创建/还原/删除快照 1.快照的作用 -在虚拟机磁盘镜像内记录不同时间点的状态数据备份 -必要时可将虚拟机恢复到指定的快照 2.基本用法 - qemu-img snapshot -c 快照名 qcow2磁盘 - qemu-img snapshot -l qcow2磁盘 - qemu-img snapshot -a 快照名 qcow2磁盘 - qemu-img snapshot -d 快照名 qcow2磁盘 十六.一台KVM虚拟机的组成 1.一台KVM虚拟机的组成 -xml配置文件:定义虚拟机的名称,UUID,CPU,内存,虚拟磁盘,网卡等各种参数设置 -磁盘镜像文件:保存虚拟机的操作系统及文档数据,镜像路径取决于xml配置文件中的定义 十七.COW技术原理 1.Copy On Write,写时复制 -直接映射原始盘的数据内容 -当原始盘的旧数据有修改时,在修改之前自动将旧数据存入前端盘 -对前端盘的修改不回写到原始盘 十八.快建新的虚拟机: 一.准备模版虚拟机 1.模版机的选择 -可以用现有的虚拟机,也可再安装一台新虚拟机 2.模版机的初始化 -预装软件/系统优化/关闭SELinux等 -生产环境可以标记/.unconfigured ,方便新虚拟机的配置(相当于出厂设置,提示用户初始化) 3.备份号模版磁盘,xml配置文件 4.删除模版机(undefine) 二.快速创建qcow前端盘 1.qemu-img 通过-b 选项复用指定后端盘 - qemu-img create -f qcow2 -b 后端盘 前端盘 - qemu-img create -f qcow2 -b RHEL6.qcow2 rhel6.qcow2 2.ls -lh | grep -i "rhel" 对比前端盘,后端盘大小 -rw-r--r--. 1 root root 193K 6月 26 18:48 rhel6.qcow2 -rw-r--r--. 1 qemu qemu 9.2G 6月 26 18:49 RHEL6.qcow2 三.配置新的虚拟机 1.拷贝模版机的xml配置 -按照需要修改,并据此定义新的虚拟机 cp /var/lib/libvirt/images/RHEL6.xml /root/ vim /root/RHEL6.xml virsh define /root/RHEL6.xml
时间: 2024-11-26 08:55:49