这篇文章主要介绍了CentOS6中KVM如何安装和运行,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
虚拟化,现在的CPU一般都支持,在BIOS中开启即可。关于服务器如何开启,可自行google,我是用个人本子玩KVM的。
我的硬件配置:公司的屌丝本(DELL Inspiron14, i5-3337U, 8G, 500G, 硬盘丫出来100G的ext3格式分区,其他都是NTFS分区) + CentOS6.5(请参考此文安装和基本设置:CentOS安装和基本设置,我在安装的时候选择的是Development Enviroment,并且安装了相应的虚拟化的package,大家可以自行决定)
用以下命令确认当前机器是否支持虚拟化,如果有输出结果,则表示支持,否则不支持。其中:vmx 标志位表示Intel VT 虚拟化技术,svm 标志位表示AMD-V虚拟化技术。
grep -E ’vmx|svm’ /proc/cpuinfo
下面的是我的输出,说明是 Intel VT 虚拟化技术
[mwu@morgan local]$ grep -E 'vmx|svm' /proc/cpuinfo flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
可以在安装的时候把KVM和虚拟化安装进去,也可以后续安装。
由于KVM与Xen不兼容,确保Linux没有运行一个Xen的Kernel,用uname -a 命令可以检测出,如果你发现类似"2.6.18-164.el5Xen"的输出,则需要先将该Xen Kernel停止.
安装KVM软件:
yum install kvm
安装虚拟化管理包
yum install virt-manager libvirt libvirt-python python-virtinst
载入KVM模块
modprobe kvm
载入芯片相关KVM模块
modprobe kvm-amd(svm标志位) modprobe kvm-intel(vmx标志位)
确认模块是否载入成功
[root@morgan local]# lsmod|grep kvm kvm_intel 54285 0 kvm 333172 1 kvm_intel
开启libvirtd后台服务并且
[root@morgan local]# /etc/init.d/libvirtd start Starting libvirtd daemon: [OK]
设置libvirtd服务自动启动
chkconfig libvirtd on
确保默认的虚拟网络正常工作。默认的隔离的虚拟网络有一个虚拟网桥:virbr0,默认使用192.168.122.x作为其子网。host机,即运行libvirtd服务的机器IP地址为192.168.122.1,您可以在guest虚拟机中安装系统过程中或者安装系统完毕后设置其IP。验证虚拟网桥设备的运行情况,与下述结果类似:
[root@morgan local]# ifconfig virbr0 virbr0 Link encap:Ethernet HWaddr 52:54:00:94:70:F4 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:5 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:290 (290.0 b)
您可以使用默认网络配置,或者重新设置一个Linux网桥。默认的网络只能从KVM虚拟机访和外面的网络通信。如果KVM虚拟机需要双向通信,则需要在host机设置一个Linux网桥。
在如下情况则使用默认的网络配置
只需要host机器和KVM虚拟机互相通信
只需要从KVM虚拟机访问外网络,而不需要反过来
确保网卡正常工作,KVM虚拟机也将使用该网卡和外界进行网络通信。输出和下面类似则为正常工作,表示有一个p1p2网卡。如果您的网卡工作不正常,则不在此文讨论范围内。
[root@morgan local]# ifconfig 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:16436 Metric:1 RX packets:13471 errors:0 dropped:0 overruns:0 frame:0 TX packets:13471 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:6107173 (5.8 MiB) TX bytes:6107173 (5.8 MiB) p1p2 Link encap:Ethernet HWaddr E0:DB:55:94:AB:15 inet addr:10.10.10.77 Bcast:10.10.10.255 Mask:255.255.255.0 inet6 addr: fe80::e2db:55ff:fe94:ab15/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:306724 errors:0 dropped:0 overruns:0 frame:0 TX packets:224917 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:252108544 (240.4 MiB) TX bytes:36948789 (35.2 MiB) virbr0 Link encap:Ethernet HWaddr 52:54:00:94:70:F4 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:5 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:290 (290.0 b)
注意:KVM不支持无线网卡!
备份对应的网卡脚本文件到另一个不同的文件夹下,千万不可拷贝到同一文件夹下面
[root@morgan local]# cp /etc/sysconfig/network-scripts/ifcfg-p1p2 /root/
复制现有网卡文件为br0网卡文件,我们将基于这个网卡文件进行修改
cp /etc/sysconfig/network-scripts/ifcfg-p1p2 /etc/sysconfig/network-scripts/if-cfg br0
配置网桥文件br0
# 静态IP情况 DEVICE=eth0 TYPE=Ethernet HWADDR=00:14:5E:C2:1E:40 ONBOOT=yes NM_CONTROLLED=no BRIDGE=br0 # 网桥设置,eth0里面需要设置MAC地址,br0里面需要设置IP地址,通过eth0里面的Bridge指向了br0来用eth0作为网桥。 DEVICE=br0 TYPE=Bridge NM_CONTROLLED=no BOOTPROTO=static IPADDR=10.10.1.152 NETMASK=255.255.255.0 ONBOOT=yes DEFROUTE=yes # 动态IP情况 DEVICE=eth0 TYPE=Ethernet HWADDR=00:14:5E:C2:1E:40 ONBOOT=yes NM_CONTROLLED=no BRIDGE=br0 # 网桥设置,eth0需要设置MAC地址,br0需要设置dhcp,通过eth0里面的Bridge指向了br0来用eth0作为网桥。 DEVICE=br0 TYPE=Bridge NM_CONTROLLED=no BOOTPROTO=dhcp ONBOOT=yes
注意将NetworkManager服务关闭。
重启网络使得网桥网卡配置生效。
service network restart
添加下述代码到文件 /etc/sysctl.conf 来禁止桥接网络中的 Netfilter (默认已经关闭)
net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0
确认网络设置正确。
[root@morgan etc]# ifconfig br0 Link encap:Ethernet HWaddr E0:DB:55:94:AB:15 inet addr:10.10.10.77 Bcast:10.10.10.255 Mask:255.255.255.0 inet6 addr: fe80::e2db:55ff:fe94:ab15/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:57088 errors:0 dropped:0 overruns:0 frame:0 TX packets:39839 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:36880981 (35.1 MiB) TX bytes:7833048 (7.4 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:16436 Metric:1 RX packets:2519 errors:0 dropped:0 overruns:0 frame:0 TX packets:2519 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:784954 (766.5 KiB) TX bytes:784954 (766.5 KiB) p1p2 Link encap:Ethernet HWaddr E0:DB:55:94:AB:15 inet6 addr: fe80::e2db:55ff:fe94:ab15/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:95378 errors:0 dropped:0 overruns:0 frame:0 TX packets:50049 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:46445815 (44.2 MiB) TX bytes:9686445 (9.2 MiB) virbr0 Link encap:Ethernet HWaddr 52:54:00:94:70:F4 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)
[root@morgan etc]# brctl show bridge name bridge id STP enabled interfaces br0 8000.e0db5594ab15 no p1p2 virbr0 8000.5254009470f4 yes virbr0-nic
virt-manager是一个用来创建和管理KVM虚拟机的GUI工具。下面的过程是使用virt-manager来安装SLES 11虚拟机系统。
开启X11环境
ssh -X root@127.0.0.1
执行virt-mananger命令以开启virt-manager管理GUI工具。
创建一个虚拟机,输入基本信息,一步步往下就行了,无需多说,反正鼠标点击点击。
内部网络采用NAT(在virt-manager中设置)方式,使得:
1. 虚拟机可以访问host机器和外网
2. 虚拟机的IP为内网192.168.122.*的IP
3. 虚拟机之间可以互相访问。
一个VM的网络配置的例子:
DEVICE=eth0 HWADDR=52:54:00:3A:F0:FA TYPE=Ethernet UUID=6332797f-a76a-43ea-97b9-729a96acaebd ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static IPADDR=192.168.122.2 NETMASK=255.255.255.0 DEFROUTE=yes GATEWAY=192.168.122.1
感谢你能够认真阅读完这篇文章,希望小编分享的“CentOS6中KVM如何安装和运行”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。