原文 https://www.linuxidc.com/Linux/2016-10/136164.htm 在已有系统基础上,安装KVM所需软件 yum -y groupinstall "Desktop" //安装GNOME桌面环境 yum -y install qemu-kvm.x86_64 //KVM模块 yum -y install qemu-kvm-tools.x86_64 //KVM调试工具,可不安装(3)验证。重启系统后,查看CPU是否支持虚拟化,对于Inter服务器可以 通过一下命令查看,只要有输出就说明CPU支持虚拟化;AMD服务器可用cat /proc/cpuinfo | grep smv命令查看 [root@localhost ~]# cat /proc/cpuinfo | grep vmx flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi ept vpid fsgsbase bmi1 avx2 smep bmi2 invpcid 检查KVM模块是否安装: [root@localhost ~]# lsmod | grep kvm kvm_intel 55496 0 kvm 337772 1 kvm_intel 2、设置KVM网络 宿主服务器安装完成KVM,首先要设定网络,在libvirt中运行KVM网络有两种方法:NAT和Bridge,默认是NATyum -y install python-virtinst.noarch //python组件,记录创建VM时的xml文件 yum -y install qemu-img.x86_64 //qemu组件,创建磁盘、启动虚拟机等 yum -y install bridge-utils.x86_64 //网络支持工具 yum -y install libvirt //虚拟机管理工具 yum -y install virt-manager //图形界面管理虚拟机 yum -y install libguestfs* //virt-cat等命令的支持软件包
(1)用户模式,即NAT方式,这种方式是默认网络,数据包由NAT方式通过主机的接口进行传送,可以访问外网,但是无法从外部访问虚拟机网络 (2)桥接模式,这种模式允许虚拟机像一台独立的主机一样拥有网络,外部的机器可以直接访问到虚拟机内部,但需要网卡支持,一般有线网卡都支持 这里以Bridge(桥接)为例 [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=00:0C:29:4C:0C:24 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=none BRIDGE="br0" [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0 TYPE=Bridge ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=dhcp 重启network服务 [root@localhost ~]# service network restart 正在关闭接口 br0: [确定] 正在关闭接口 eth0: [确定] 关闭环回接口: [确定] 弹出环回接口: [确定] 弹出界面 eth0: [确定] 弹出界面 br0: 正在决定 br0 的 IP 信息...完成。 [确定] 确认IP地址信息 [root@localhost ~]# ifconfig br0 Link encap:Ethernet HWaddr 00:0C:29:4C:0C:24 inet addr:192.168.0.106 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe4c:c24/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:70 errors:0 dropped:0 overruns:0 frame:0 TX packets:25 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:69660 (68.0 KiB) TX bytes:3066 (2.9 KiB) eth0 Link encap:Ethernet HWaddr 00:0C:29:4C:0C:24 inet6 addr: fe80::20c:29ff:fe4c:c24/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:28413 errors:0 dropped:0 overruns:0 frame:0 TX packets:20243 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:37239885 (35.5 MiB) TX bytes:1683986 (1.6 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:140 errors:0 dropped:0 overruns:0 frame:0 TX packets:140 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:12096 (11.8 KiB) TX bytes:12096 (11.8 KiB) virbr0 Link encap:Ethernet HWaddr 52:54:00:0B:01:73 inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) 出现以上信息,说明网卡桥接成功了 3、KVM管理 [root@localhost ~]# virt-manager virt-manager是基于libvirt的图像化虚拟机管理软件。请注意,不同的发行版上virt-manager的版本可能不同,图形界面和操作方法可能不同。本文使用了Centos 6企业版。创建KVM虚拟机最简单的方法是通过virt-manager接口。从控制台窗口启动这个工具,以root身份输入virt-manager命令 虚拟机管理界面 虚拟机管理步骤如下 (1)创建存储池,双击localhost(QEMU),选择“存储选项卡”,然后单击“+”按钮新建存储池。单击“前进”按钮,根据提示输入或浏览以设置存储目录,如/data_kvm/store,最后单击“完成”按钮即可 创建存储池 (2)以同样的操作创建一个镜像存储池,命名为linux_iso,目录为/data_kvm/iso即可。在安装操作系统时,我们把镜像上传到服务器目录/data_kvm/iso 创建镜像存储池 (3)创建存储卷,单击刚创建好的“linux”,单击对话框右下角的“新建卷”按钮建立一个存储卷,并设置最大容量与分配容量 创建存储卷 (4)单击“完成”按钮后,回到虚拟系统管理器。右击“localhost(QEMU)”,然后选择“新建”选项,在弹出的对话框中将虚拟机名称命令为“Centos-6.6”,然后单击“前进”按钮 新建虚拟机(1) 单击“浏览”按钮选择镜像文件,再选择操作系统类型及版本 新建虚拟机(2) 单击“前进”按钮,在对话框中适当分配内存和CPU资源,如1核CPU、512MB内存 新建虚拟机(3) 单击“前进”按钮,在对话框中勾选“立即分配整个磁盘”复选框,点选“管理的或者其他现有存储”单选按钮,单击“浏览”按钮选择文件,然后单击“前进”按钮 新建虚拟机(4) 在所示的对话框中勾选“在安装前自定义配置”复选框,单击“完成”按钮,弹出对话框 新建虚拟机(6) 在“Overview”视图中,定位到“机器设置”,把机器设置-时钟偏移-改为“localtime”,单击“应用”按钮即可。定位到“Boot Options”,勾选“主机引导时启动虚拟机”复选框,这样在物理宿主机启动后,这个VM也会启动,最后单击“应用”按钮。如果要远程管理,需要在“显示VNC”中,将Keymap设置为“Copy Local Keymap” 新建虚拟机(7) 最后单击“Begin Installation”按钮即可,整个虚拟机配置过程完成。下面就是安装操作系统的工作,和平时安装Linux系统一样 案例:使用KVM命令集管理虚拟机 一、案例分析 案例环境使用一台物理机器,一台服务器安装Centos 6.6的64位系统(即Stranded), Centos-6.6是在宿主机Stranded中安装的虚拟机 主机 操作系统 IP地址 主要软件 Stranded Centos-6.6 x86_64 192.168.1.100 Xshell Centos-6.6 Centos-6.6 x86_64 192.168.1.103 Xmanager 二、案例实施 1、安装Linux虚拟机 安装过程同上一案例,使用Xshell远程控制Stranded主机 2、KVM基本功能管理 (1)查看命令帮助 [root@localhost ~]# virsh -h ...... //省略输出内容 (2)查看KVM的配置文件存放目录(Centos-6.6.xml是虚拟机系统实例的配置文件) [root@localhost ~]# ls /etc/libvirt/qemu autostart Centos-6.6.xml networks (3)查看虚拟机状态 [root@localhost ~]# virsh list --all关于两种模式的说明:
Id 名称 状态
2 Centos-6.6 running (4)虚拟机关机与开机 首先要确认acpid服务安装并运行 [root@localhost ~]# virsh shutdown Centos-6.6 [root@localhost ~]# virsh start Centos-6.6 (5)强制实例系统关闭电源 [root@localhost ~]# virsh destroy Centos-6.6 (6)通过配置文件启动虚拟机系统实例 [root@localhost ~]# virsh create /etc/libvirt/qemu/Centos-6.6.xml [root@localhost ~]# virsh list --allId 名称 状态
3 Centos-6.6 running (7)挂起虚拟机 [root@localhost ~]# virsh suspend Centos-6.6 查看虚拟机状态 [root@localhost ~]# virsh list --allId 名称 状态
3 Centos-6.6 暂停 (8)恢复虚拟机 [root@localhost ~]# virsh resume Centos-6.6 [root@localhost ~]# virsh list --allId 名称 状态
3 Centos-6.6 running (9)配置虚拟机实例伴随宿主机自动启动 [root@localhost ~]# virsh autostart Centos-6.6 上述命令将创建/etc/libvirt/qemu/autostart/目录,目录内容为开机自动启动的系统 (10)导出虚拟机配置 [root@localhost ~]# virsh dumpxml Centos-6.6 >/etc/libvirt/qemu/Centos-02-6.6.xml (11)虚拟机的删除与添加 删除虚拟机 [root@localhost ~]# virsh shutdown Centos-6.6 [root@localhost ~]# virsh undefine Centos-6.6 查看删除结果,Centos-6.6的配置文件被删除,但磁盘文件不会被删除 [root@localhost ~]# ls /etc/libvirt/qemu autostart Centos-02-6.6.xml networks 通过virsh list -all查看不到Centos-6.6的信息,说明此虚拟机被删除 [root@localhost ~]# virsh list --allId 名称 状态
通过备份的配置文件重新定义虚拟机 [root@localhost ~]# cd /etc/libvirt/qemu [root@localhost qemu]# mv Centos-02-6.6.xml Centos-6.6.xml 重新定义虚拟机 [root@localhost qemu]# virsh define Centos-6.6.xml 查看虚拟机信息 [root@localhost qemu]# virsh list --allId 名称 状态
- Centos-6.6 关闭
- Centos-6.6 关闭
- Centos-02-6.6 关闭
- Centos-6.6 关闭
查看原文: http://www.chenqmc.com/?p=423