一.前言

proxmox是一个开源的虚拟化管理平台,支持集群管理和HA.在存储方面,proxmox除了支持常用的lvm,nfs,iscsi,还支持集群存储glusterfs和ceph,这也是我们选择它的原因.

proxmox官方提供ISO下载,因此安装变得非常简单,安装后浏览器打开https://x.x.x.x:8006/ 就可以看到管理平台了.本文基于目前最新版本3.1测试,动工吧.

二.集群配置

集群由多台虚拟化主机组成,创建集群后就可以统一管理多台机器了.

1.创建一个集群,登陆其中一台机器,为集群起个名字

?
1
pvecm create YOUR-CLUSTER-NAME
2.依次登陆其余的机器,加入到上面的集群(IP地址为上面机器的IP)
?
1
pvecm add IP-ADDRESS
3.查看集群状态
?
1
2
3
4
5
6
7
pvecm status
 
CID----IPADDRESS----ROLE-STATE--------UPTIME---LOAD----MEM---ROOT---DATA
  1 : 192.168.7.104   M     A    5 days 01:43   0.54    20%     1%     4%
  2 : 192.168.7.103   N     A    2 days 05:02   0.04    26%     5%    29%
  3 : 192.168.7.105   N     A           00:13   1.41    22%     3%    15%
  4 : 192.168.7.106   N     A           00:05   0.54    17%     3%     3%

4.查看集群内的节点

?
1
2
3
4
5
6
7
pvecm nodes
 
Node  Sts   Inc   Joined               Name
    1   M    156   2011-09-05 10:39:09  hp1
    2   M    156   2011-09-05 10:39:09  hp2
    3   M    168   2011-09-05 11:24:12  hp4
    4   M    160   2011-09-05 10:40:27  hp3

经过很简单的配置,集群已经创建完成了,如果要使用故障自动切换功能,接下来还需要配置HA功能.

三.HA配置

配置HA需要满足下面条件:
1)集群已经创建好
2)添加好集中/共享存储(nfs,glusterfs,ceph等)
3)fence设备 (IPMI,APC Switch Rack PDU等)

关于fence设备,是用于集群出现网络故障或机器异常时的隔离处理,这样有效防止HA运行时启动了多个vm访问同一个虚拟磁盘,避免破坏数据.

官方有更详细的说明http://pve.proxmox.com/wiki/Fencing.

1.IPMI配置

由于对其他的fence设备都不了解,看起来最入门的就是IPMI了,刚好我们的IBM测试机器也有这个功能,就用它了!

先确认ipmitool已经安装

?
1
2
apt-get update
apt-get install ipmitool

加载需要的模块

?
1
2
3
4
5
modprobe ipmi_msghandler
modprobe ipmi_devintf
modprobe ipmi_si
modprobe ipmi_poweroff
modprobe ipmi_watchdog

测试ipmitool是否正常工作

?
1
2
3
ipmitool -I open sensor
ipmitool -l open channel info 1
ipmitool -l open lan print 1

为ipmi添加管理IP和登陆账号,密码(这个IPMI功能我们公司一直在用,机器交到我手上已经设置好了)

?
1
2
3
4
5
6
7
8
9
10
11
ipmitool -l open lan set 1 ipsrc static
ipmitool -l open lan set 1 ipaddr 192.168.1.91
ipmitool -l open lan set 1 netmask 255.255.255.0
ipmitool -l open lan set 1 defgw ipaddr 192.168.1.1
ipmitool user set name 1 root
ipmitool user set password 1 123456
ipmitool user set password 2 123456
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

以上设置在集群内每台机器执行

2.fence配置

编辑/etc/default/redhat-cluster-pve,下面语句去掉注释

?
1
FENCE_JOIN= "yes"
把机器加入fence域,命令行执行
?
1
fence_tool join
以上操作在集群每台机器上执行
检查状态:
?
1
fence_tool ls
 
测试fence设备是否生效
?
1
fence_ipmilan -l root -p 123456 -a 192.168.1.91 -o status 1 - v   #这个ip是刚才ipmi设置的ip
 修改集群配置,注意下面IP是IPMI设置的IP地址
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
cp /etc/pve/cluster .conf /etc/pve/cluster .conf.new;nano  /etc/pve/cluster .conf.new
<?xml version= "1.0" ?>
<cluster config_version= "16" name= "pve-wx-cluster" >
   <cman keyfile= "/var/lib/pve-cluster/corosync.authkey" />
   <fencedevices>
     <fencedevice agent= "fence_ipmilan" ipaddr= "192.168.1.91" lanplus= "1" login= "root" name= "ipmi1" passwd = "123456" power_wait= "5" />
     <fencedevice agent= "fence_ipmilan" ipaddr= "192.168.1.92" lanplus= "1" login= "root" name= "ipmi2" passwd = "123456" power_wait= "5" />
     <fencedevice agent= "fence_ipmilan" ipaddr= "192.168.1.93" lanplus= "1" login= "root" name= "ipmi3" passwd = "123456" power_wait= "5" />
   < /fencedevices >
   <clusternodes>
     <clusternode name= "pve-5711003" nodeid= "1" votes= "1" >
       <fence>
         <method name= "1" >
           <device name= "ipmi1" />
         < /method >
       < /fence >
     < /clusternode >
     <clusternode name= "pve-5711008" nodeid= "2" votes= "1" >
       <fence>
         <method name= "1" >
           <device name= "ipmi2" />
         < /method >
       < /fence >
     < /clusternode >
     <clusternode name= "pve-5711009" nodeid= "3" votes= "1" >
       <fence>
         <method name= "1" >
           <device name= "ipmi3" />
         < /method >
       < /fence >
     < /clusternode >
   < /clusternodes >
   < rm >
 
   < /rm >
< /cluster >
 
注意,每次修改这个配置文件,里面 config_version= 都要加1
 
验证配置文件
?
1
ccs_config_validate - v -f /etc/pve/cluster .conf.new
 
全部准备就绪,激活新配置文件
  
 

3.将vm加入HA

(添加后记得点击activate)
 
可以看到已经加入HA的虚拟机了
 
参考文献:

 

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐