作者:Gefose-洋娃娃_357 | 来源:互联网 | 2014-05-27 21:08
最近项目中碰到需要在刀片服务器上安装虚拟机,以扩展每台刀片的能力,下面简单介绍一下我的配置使用。一安装CentOS首先需要安装支持KVM的CentOS,由于此系统主要用于管理虚拟机,因此没有新建用户。并且在项目中正好需要一个Mysql数据库,于是把数据库放
最近项目中碰到需要在刀片服务器上安装虚拟机,以扩展每台刀片的能力,下面简单介绍一下我的配置使用。
一 安装CentOS
首先需要安装支持KVM的CentOS,由于此系统主要用于管理虚拟机,因此没有新建用户。并且在项目中正好需要一个Mysql数据库,于是把数据库放到此主机上,使用root用户管理。
安装详细过程此处不详说了,大家可以在网上google一下,需要注意的地方是:安装时可以选择"Virtual
Host",并且选择“现在定制”,选择“虚拟化”并将所有下级程序安装。
二 验证安装环境
在安装虚拟机之前,需要先验证下当前主机是否支持虚拟化KVM。可以使用egrep 'vmx|svm'
/proc/cpuinfo
如果有信息输出,则可以确定现在使用的主机支持虚拟化。
接下来需要确认操作系统是否加载KVM模块
如果之前安装按照前文所述,恭喜你,本系统已安装的KVM相关的软件。
lsmod | grep kvm
如果显示输入信息,则主机已加载KVM模块
三 安装虚拟机
安装虚拟机首先要准备的是网络配置,由于虚拟主机需要与网络中其它主机进行双向通信,因此使用桥接方式轻松实现。
首先,创建用于安装虚拟操作系统的映像文件
qemu-img create -f qcow2 rhl5_6.img
150G //
创建一个rhl5_6.img文件,大小可扩展至150G,格式为qcow2
如果此时用ls -la查看文件的大小
,发现只有256K,这时不要关键安装,本人测试在安装虚拟主机操作系统时,格式化该IMG文件会报错。接下来需要将此IMG文件格式化为固定大小
(Important!)
dd if=/dev/zero of=rhl5_6.img bs=1G count=150
接下来将root用户添加到KVM组中
usermod -G kvm -a root
chown root:kvm /dev/kvm
chmod 0660 /dev/kvm
最好将这两条添加到/etc/rc.local中
编辑 /etc/udev/rules.d/80-vkm-rules
添加
KERNEL=="tun" GROUP="kvm" MODE="0660"
chown root:kvm /dev/net/tun
chmod 0660 /dev/net/tun
最好将上面两行添加到/etc/rc.local
配置虚拟机使用接口
添加桥接口,在/etc/sysconfig/network-scripts下添加ifcfg-br0
DEVICE="br0"
BOOTPROTO="static"
NM_COnTROLLED="no"
OnBOOT="yes"
TYPE="Bridge"
IPADDR=*******
NETMASK=******
GATEWAY=*******
接下来需要修改桥接实体,一般主机可以桥接到eth0,eth1等接口上,对于刀片服务器,由于使用了主备接口绑定,实际此处绑定的接口相当于一般主机的eth0,下面以一般主机方式修改eth0
vim /etc/sysconfig/network-scripts/ifcfg-eth0
添加
BRIDGE="br0"
接下来可以配置转发规则
iptables -A FORWARD -m physdev --physdev-si-bridged -j ACCEPT
tunctl -b -u root
(这个可根据个人情况,创建一个或多个tap*,创建的第一个是tap0,tap1, ....)
ifconfig tap0 up, (如果有多个,依此类推)
brctl addif br0 eth0 (如果使用绑定,则此处是bonding接口)
brctl addif br0 tap0
最好将以上命令添加到/etc/rc.local中
下面安装虚拟机
virt-install --network bridge:br0 --name rhl5_6 -r 16384
--vcpus=12\
--disk path=~/rhl5_6.img,size=150\
安装完成后使用如下命令启动虚拟机
virsh start rhl5_6