硬件配置:
4台节点服务器:
KSCLOUD-K1 192.168.1.31
KSCLOUD-K2 192.168.1.32
KSCLOUD-K3 192.168.1.33
KSCLOUD-K4 192.168.1.34
Fence设备是IPMI
1台NFS共享存储服务器:
KSCLOUD-STORAGE 192.168.1.30
部署步骤:
1、首先创建群集,创建过程参见:http://www.anjing.me/1397.html,官方wiki:Proxmox VE 2.0 Cluster
2、其次配置NFS共享服务器,配置过程参见:http://www.anjing.me/32.html
3、添加NFS共享,具体操作如下图所示:
选择NFS share后弹出对话框,填写ID(只能填写英文字符)和NFS服务器IP后,在Export(挂载点)上选择共享的目录,内容那行可以将全部给点击选中
4、之后就可以上传ISO映像,然后安装虚拟机:
登陆WEB管理界面,点击右上角的“创建VM”进入创建对话框
完成步骤后,进入节点选中刚创建的虚拟机,点击右上角的“控制台”按钮
在弹出的页面完成虚拟机安装操作(需要JRE支持可安装1.6版本JRE
5、Fence设备配置
这一步骤花费了我很多时间,原因是一直没有实际配置fence设备经验,所以将会描述的比较详细。
本次服务器用的是SuperMicro(超微)的主板,并带有IPMI设备,进入主板bios的时候能看到并配置IPMI相关信息。 官方wiki上有Fencing的介绍:http://pve.proxmox.com/wiki/Fencing,但做这些操作的前提是配置好fence设备,比如IP地址,登陆帐户,密码等。
第一步配置fence设备信息:加载ipmi相关模块、安装ipmitool工具,下面代码除去了回显
以下操作步骤每个节点完全相同
root@KSCLOUD-K1:~# modprobe ipmi_msghandler
root@KSCLOUD-K1:~# modprobe ipmi_devintf
root@KSCLOUD-K1:~# modprobe ipmi_si
root@KSCLOUD-K1:~# modprobe ipmi_poweroff
root@KSCLOUD-K1:~# modprobe ipmi_watchdog
root@KSCLOUD-K1:~# wget http://nchc.dl.sourceforge.net/project/ipmitool/ipmitool/1.8.9/ipmitool-1.8.9.tar.gzroot@KSCLOUD-K1:~# apt-get update
root@KSCLOUD-K1:~# apt-get -y install vim
root@KSCLOUD-K1:~# apt-get -y install gcc
root@KSCLOUD-K1:~# apt-get -y install make
root@KSCLOUD-K1:~# tar zxvf ipmitool-1.8.9.tar.gz
root@KSCLOUD-K1:~# cd ipmitool-1.8.9
root@KSCLOUD-K1:~# ./configure –enable-intf-open=static
root@KSCLOUD-K1:~# make
root@KSCLOUD-K1:~# make install
用ipmitool查看硬件信息命令:
root@KSCLOUD-K1:~# ipmitool -I open sensor
root@KSCLOUD-K1:~# ipmitool -l open channel info 1
root@KSCLOUD-K1:~# ipmitool -l open lan print 1
Set in Progress : Set Complete
Auth Type Support : MD2 MD5 OEM
Auth Type Enable : Callback : MD2 MD5 OEM
: User : MD2 MD5 OEM
: Operator : MD2 MD5 OEM
: Admin : MD2 MD5 OEM
: OEM :
IP Address Source : DHCP Address
IP Address : 192.168.1.210
Subnet Mask : 255.255.255.0
MAC Address : 00:25:90:29:93:52
SNMP Community String : AMI
IP Header : TTL=0x00 Flags=0x00 Precedence=0x00 TOS=0x00
BMC ARP Control : ARP Responses Enabled, Gratuitous ARP Disabled
Gratituous ARP Intrvl : 0.0 seconds
Default Gateway IP : 192.168.1.10
Default Gateway MAC : 00:00:00:00:00:00
Backup Gateway IP : 0.0.0.0
Backup Gateway MAC : 00:00:00:00:00:00
802.1q VLAN ID : Disabled
802.1q VLAN Priority : 0
RMCP+ Cipher Suites : 1,2,3,6,7,8,11,12,0
Cipher Suite Priv Max : aaaaXXaaaXXaaXX
: X=Cipher Suite Unused
: c=CALLBACK
: u=USER
: o=OPERATOR
: a=ADMIN
: O=OEM
以下操作步骤每个节点IP配置不同
root@KSCLOUD-K1:~# ipmitool -l open lan set 1 ipsrc static
root@KSCLOUD-K1:~# ipmitool -l open lan set 1 ipaddr 192.168.1.91
Setting LAN IP Address to 192.168.1.91root@KSCLOUD-K1:~# ipmitool -l open lan set 1 netmask 255.255.255.0
Setting LAN Subnet Mask to 255.255.255.0
root@KSCLOUD-K1:~# ipmitool -l open lan set 1 defgw ipaddr 192.168.1.1
Setting LAN Default Gateway IP to 192.168.1.1root@KSCLOUD-K1:~# ipmitool user set name 1 root
root@KSCLOUD-K1:~# ipmitool user set password 1 123456
root@KSCLOUD-K1:~# ipmitool user set password 2 123456root@KSCLOUD-K1:~# ipmitool -l open user list 1
ID Name Callin Link Auth IPMI Msg Channel Priv Limit
1 root false false false NO ACCESS
2 ADMIN false false true ADMINISTRATOR
以下操作步骤每个节点完全相同
vim /etc/default/redhat-cluster-pve
# CLUSTERNAME=""
# NODENAME=""
# USE_CCS="yes"
# CLUSTER_JOIN_TIMEOUT=300
# CLUSTER_JOIN_OPTIONS=""
# CLUSTER_SHUTDOWN_TIMEOUT=60
# RGMGR_OPTIONS=""
FENCE_JOIN="yes"
root@KSCLOUD-K1:~# fence_tool join
第二步,测试fence设备是否生效
fence_ipmilan -l ADMIN -p 123456 -a 192.168.2.31 -o status 1 -v
fence_ipmilan -l ADMIN -p 123456 -a 192.168.1.31 -o reboot 1 -v
fence_node KSCLOUD-K4 -vv
fence KSCLOUD-K4 dev 0.0 agent fence_ipmilan result: error from agentagent args: nodename=KSCLOUD-K4 agent=fence_ipmilan ipaddr=192.168.1.94 lanplus=1 login=ADMIN passwd=123456 power_wait=5 fence KSCLOUD-K4 failed
超微的ipmi配置完毕后可以web页面登陆控制:
按proxmox官方wiki上IPMI配置,创建/etc/pve/cluster.config.new文件并编辑:
cp /etc/pve/cluster.conf /etc/pve/cluster.conf.new vim /etc/pve/cluster.conf.new 文件内容如下:
<?xml version="1.0"?>
<cluster config_version="20" name="KSCLOUD">
<cman keyfile="/var/lib/pve-cluster/corosync.authkey"/>
<fencedevices>
<fencedevice agent="fence_ipmilan" ipaddr="192.168.1.91" lanplus="1" login="ADMIN" name="SMC002590299352" passwd="123456" power_wait="5"/>
<fencedevice agent="fence_ipmilan" ipaddr="192.168.1.92" lanplus="1" login="ADMIN" name="SMC002590299350" passwd="123456" power_wait="5"/>
<fencedevice agent="fence_ipmilan" ipaddr="192.168.1.93" lanplus="1" login="ADMIN" name="SMC002590299351" passwd="123456" power_wait="5"/>
<fencedevice agent="fence_ipmilan" ipaddr="192.168.1.94" lanplus="1" login="ADMIN" name="SMC00259029934F" passwd="123456" power_wait="5"/>
</fencedevices>
<clusternodes>
<clusternode name="KSCLOUD-K1" nodeid="1" votes="1">
<fence>
<method name="1">
<device name="SMC002590299352"/>
</method>
</fence>
</clusternode>
<clusternode name="KSCLOUD-K2" nodeid="2" votes="1">
<fence>
<method name="1">
<device name="SMC002590299350"/>
</method>
</fence>
</clusternode>
<clusternode name="KSCLOUD-K3" nodeid="3" votes="1">
<fence>
<method name="1">
<device name="SMC002590299351"/>
</method>
</fence>
</clusternode>
<clusternode name="KSCLOUD-K4" nodeid="4" votes="1">
<fence>
<method name="1">
<device name="SMC00259029934F"/>
</method>
</fence>
</clusternode>
</clusternodes>
<rm>
</rm>
</cluster>
ccs_config_validate -v -f /etc/pve/cluster.conf.new #采用该命令验证配置文件特别注意:
<cluster config_version="20" name="KSCLOUD">这里加粗部分,每次更新一个new版本配置文件,数字均需+1;另外<clusternode …… />修改成<clusternode>……<clusternode/>的语法
mismatched tag at line 25, column 6, byte 1050 at /usr/lib/perl5/XML/Parser.pm line 187 (500) 出现这类的错误,都是配置文件的语法不对,通过ccs_config_validate -v -f /etc/pve/cluster.conf.new再次验证修改配置文件
6、创建KVM的故障切换,如果前面完全顺利的话,那么可以看这官方wiki:http://pve.proxmox.com/wiki/High_Availability_Cluster#Configure_VM_or_Containers_for_HA来操作,作者自己也录制了视频http://www.youtube.com/watch?v=aued5iDXcrc&feature=plcp(需爬下墙)
一切完成后,你将可以看到如下页面:
大致配置就这样啦,有空再整理下,并把官方wiki上的fencing和High Availability Cluster这两篇翻译过来。
三叶草
2012-09-03 22:55
原创文章,转载请注明: 转载自三叶草
特别声明:商业网站转载需经作者同意,否则视为侵权!
评论:4
参与评论