发布时间:2011-07-18 14:39:45作者:知识屋
RedHat 的下一代旗舰产品RedHat Enterprise Linux 6只包含 KVM,这一点 RedHat 官方已经在很久以前、在不同场合都确认过。KVM 发展很快,稳定性有了很大提高,随着 RHEL 6 的正式到来,KVM 应用到生产环境的日子应该不远了。目前 KVM 应用比较少,一个是根据一些测试和学术论文显示,KVM在网络性能、扩展和稳定性方面和Xen还有差距,另一个原因就是对硬件要求高(CPU 需要 Intel VT 或 AMD SVM 的支持)。不过现在硬件发展速度很快,以后应该不会有这个问题。
我们可以用KVM做什么
由于 KVM 支持全虚拟,所以可以在上面安装各类操作系统,再加上它跟FreeBSD的jail一样,属于系统自带的,我们可以用其搭建属于自己的开发展测试环境。
安装前的准备工作,我们先看看硬件配置情况,CPU和内存:
图 这个配置玩虚拟化足够了
强烈建议以下操作在真实服务器上进行,全虚拟化对CPU负载还是比较大的。如果学习的话可以拿台式机代替。
以下步骤将在CentOS 5.6上搭建起你的KVM虚拟机。
首先要保证你的CPU支持虚拟化。执行以下命令查看CPU的flag信息,里面包含svm的flag就说明支持虚拟化:
[root@localhost ~]# 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 mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy misalignsse
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy misalignsse安装KVM运行所需要的软件包:[!--empirenews.page--]副标题[/!--empirenews.page--] yum install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager ibvirt libvirt-python python-virtinst另外,如果后面想用virt-manager图形化安装和管理虚拟机的话,CentOS 5.6需要作一些配置和改动。由于我在安装前就选择了gnome图形化界面,所以我想用Xmanager 3.0图形化管理此机器,过程如下:
一、添加XDMCP协议支持,让服务器打开177端口
我们可以更改/etc/gdm/custom.conf文件,在
[xdmcp]项下添加
Enable=1
二、服务器自身关闭iptables及SElinux
三、保证服务器以图形化界面启动,即运行在5模式下
这个我们可以能过更改/etc/inittab文件来实现,参考Linux运行级概述。
做完这些后重启服务器即可,然后我们就可以通过Xmanager 3的X-browser来远程管理CentOS 5.6的桌面了。
相关阅读:Xmanager 3.0企业版实用技巧集锦
当然了,如果要用root登录,对于GDM添加:
vi /etc/gdm/custom.conf [security] AllowRemoteRoot=true#vim /etc/securetty 结尾增加
pts/0 pts/1 pts/2 pts/3 pts/4以下是更改CentOS 5.6的认证模块
vim /etc/pam.d/login 注释第一行 #auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so vim /etc/pam.d/remote 注释第一行 #auth required pam_securetty.so重新启动服务器即可,可用lsof -i:177命令查看端口是否开放。
在服务器上增加一个br0网桥设备,方便与虚拟机直连,步骤如下:
一、首先修改网卡文件,vim /etc/sysconfig/network-scripts/ifcfg-eth0,作如下修改:
DEVICE=eth0
#BOOTPROTO=static
#BROADCAST=192.168.1.255
HWADDR=00:E0:62:12:7B:65
#IPADDR=192.168.1.101
#NETMASK=255.255.255.0
#NETWORK=192.168.1.0
ONBOOT=yes
BRIDGE=br0
二、增加网桥设备的文件,如vim /etc/sysconfig/network-scripts/ifcfg-br0,代码如下:
DEVICE=eth0
#BOOTPROTO=static
#BROADCAST=192.168.1.255
HWADDR=00:E0:62:12:7B:65
#IPADDR=192.168.1.101
#NETMASK=255.255.255.0
#NETWORK=192.168.1.0
ONBOOT=yes
BRIDGE=br0
修改完毕后重启网络
service network restart或者
/etc/init.d/network restart查看一下网络设置是否生效:
[root@localhost ~0m]# ifconfig
br0 Link encap:Ethernet HWaddr 00:E0:62:12:7B:65
inet addr:192.168.1.101 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:29 errors:0 dropped:0 overruns:0 frame:0
TX packets:53 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2034 (1.9 KiB) TX bytes:10052 (9.8 KiB)
eth0 Link encap:Ethernet HWaddr 00:E0:62:12:7B:65
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:494 errors:0 dropped:0 overruns:0 frame:0
TX packets:554 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:43921 (42.8 KiB) TX bytes:67020 (65.4 KiB)
Interrupt:50
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:16 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3208 (3.1 KiB) TX bytes:3208 (3.1 KiB)
virbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
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:26 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:4094 (3.9 KiB)
接下来的话,我们就可以直接在服务器上用图形化命令Virt-manager来创建一个CentOS 5.6的虚拟机了。由于要用到物理机本身的光驱,所以这里需要挂载下:
mount /dev/cdrom /mnt记得将CentOS 5.6的DVD光盘放进光驱里。[!--empirenews.page--]副标题[/!--empirenews.page--] 然后在终端下执行命令virt-manager创建虚拟机,由于操作与vmware server类似,都是基于图形化的操作。过程比较简单,我这里也不用文字详细说明了,相关说明可以参考RHEL 6上搭建KVM虚拟机一文。virt-manager效果图如下:
创建第一台虚拟机的图如下:
我们成功创建完第一个虚拟机后,我由于测试的需要,还需要创建三个虚拟机,我们可以在终端下依次输入命令,复制虚拟机:
virt-clone --connect=qemu:///system -o centos1 -n centos2 -f /datata/kvm/centos2.img
virt-clone --connect=qemu:///system -o centos1 -n centos3 -f /datata/kvm/centos3.img
virt-clone --connect=qemu:///system -o centos1 -n centos4 -f /datata/kvm/centos4.img-o表示旧的虚拟机名称,-n表示新的虚拟机名称,-f表示新的虚拟机路径。
我们全部运行后,可以看下virt-manager的效果图,如下:
系统稳定运行一段时间后,我们可以通过uptime命令观测系统负载,它们不是特别大。
[root@kvm centos10m]# uptime
00:43:08 up 2:04, 1 user, load average: 0.92, 0.77, 0.81这样的话,我们就在这台服务器上成功运行了四台64bit CentOS 5.6的机器,KVM环境搭建成功。
作者简介:余洪春(博客),网名抚琴煮酒,英文名Andrew.Yu,武汉某外企高级Linux/Unix系统管理员、项目实施工程师,红帽RHCE讲师,擅长负载均衡高可用和中小型证券类和商务网站架构,目前关注网站架构研究及网络安全。
本文来源:电脑技术吧[http://www.zhishiwu.com]
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能