为了在一台服务器上虚拟出多个Ubuntu server,用于集群。考虑了几个方案,Vmware因为价格被排除,VirtualBox不错,不过KVM由于是Linux内核层的,性能更好。优先考虑使用。
首先在一台实验机器上安装Ubuntu 12.04 amd64 server。升级系统补丁以及内核。hostname是kvmhost. IP是10.112.18.177. 主板上已经打开了虚拟化功能。
好。现在开始安装kvm。
sudo -s 切换到root权限。
用下面的命令检查cpu是否支持虚拟化:
root@kvmhost:~# egrep '(vmx|svm)' --color=always /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 nopl xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 popcnt lahf_lm dts tpr_shadow vnmi flexpriority ept vpid
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 nopl xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 popcnt lahf_lm dts tpr_shadow vnmi flexpriority ept vpid
什么都不显示的话,就不能玩了。还好,我可以继续了。
现在安装kvm和kvmbuilder脚本。这个脚本用来创建基于Ubuntu的虚拟机。
apt-get install ubuntu-virt-server python-vm-builder kvm-ipxe
将当前root用户加入到kvm和libvirtd组
adduser `id -un` libvirtd
adduser `id -un` kvm
退出后,再登录。
运行下面的命令检查kvm是否安装成功。
root@kvmhost:~# virsh -c qemu:///system list
Id Name State
----------------------------------没有错误信息。安装没问题。
下面设置网络,保证网络中的其他主机能够访问到kvm管理的虚拟机。
可能需要安装bridge-utils,我的实验机安装完操作系统的时候已经有了。没有的运行命令:
apt-get install bridge-utils
编辑/etc/network/interface文件,编辑前我的文件如下:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
修改为:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface (disable)
#auto eth0
#iface eth0 inet dhcp
# The primary network interface for kvm
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 10.112.18.177
network 10.112.18.0
netmask 255.255.255.0
broadcast 10.112.18.255
gateway 10.112.18.1
dns-nameservers 8.8.8.8 8.8.4.4
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off
重新启动网络服务
/etc/init.d/networking restart
然后检查一下网络配置
root@kvmhost:/etc/network# ifconfig
br0 Link encap:Ethernet HWaddr d0:67:e5:ef:5a:0a
inet addr:10.112.18.177 Bcast:10.112.18.255 Mask:255.255.255.0
inet6 addr: fe80::d267:e5ff:feef:5a0a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:58 errors:0 dropped:0 overruns:0 frame:0
TX packets:30 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5961 (5.9 KB) TX bytes:3662 (3.6 KB)
eth0 Link encap:Ethernet HWaddr d0:67:e5:ef:5a:0a
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:67318 errors:0 dropped:0 overruns:0 frame:0
TX packets:33515 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:91560174 (91.5 MB) TX bytes:2626976 (2.6 MB)
Interrupt:17
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: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)
virbr0 Link encap:Ethernet HWaddr 56:21:fd:02:02:35
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST 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)
重新启动计算机.
reboot
重新登录上去。第一部分结束。
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com