主页 > 学习 > Proxmox高可用(HA)群集配置

Proxmox高可用(HA)群集配置

硬件配置:

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.gz

root@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.91

root@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.1

root@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 123456

root@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上的fencingHigh Availability Cluster这两篇翻译过来。

三叶草

2012-09-03 22:55

原创文章,转载请注明: 转载自三叶草

本文链接地址:http://www.anjing.me/1417.html

特别声明:商业网站转载需经作者同意,否则视为侵权!

, , , , ,

评论:4

参与评论
  1. 回复 www1.anjing.me 12/09/03

    差不多实验完毕了,正常切换…如果对节点1所有虚拟机(vm)配置了高可用(HA)那么节点1关机,节点1里面的所有虚拟机vm会关机,然后在其他节点上启动起来。

  2. 回复 jiechic 12/09/04

    路过看看。哈哈。

  3. 回复 para 12/10/23

    最近一直在搞PVE,刚做了一个PVE+CEPH的环境进行试验。
    博主方便把qq发我下,今后多多交流;)
    谢谢

    • 回复 三叶草 12/10/23

      公司有规定,平时不上q,你直接联系我邮箱好了…admin#ajcheng.com

发表评论

电子邮件地址不会被公开。

*

引用:0

下面所列的是引用到本博客的链接
Proxmox高可用(HA)群集配置 来自 三叶草
顶部