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
|
1
|
pvecm add IP-ADDRESS
|
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功能.
关于fence设备,是用于集群出现网络故障或机器异常时的隔离处理,这样有效防止HA运行时启动了多个vm访问同一个虚拟磁盘,避免破坏数据.
官方有更详细的说明http://pve.proxmox.com/wiki/Fencing.
由于对其他的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
|
以上设置在集群内每台机器执行
编辑/etc/default/redhat-cluster-pve,下面语句去掉注释
1
|
FENCE_JOIN=
"yes"
|
1
|
fence_tool
join
|
1
|
fence_tool
ls
|
1
|
fence_ipmilan -l root -p 123456 -a 192.168.1.91 -o status 1 -
v
#这个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
<
/fencedevices
>
<
/method
>
<
/fence
>
<
/clusternode
>
<
/method
>
<
/fence
>
<
/clusternode
>
<
/method
>
<
/fence
>
<
/clusternode
>
<
/clusternodes
>
<
rm
>
<
/rm
>
<
/cluster
>
|
1
|
ccs_config_validate -
v
-f
/etc/pve/cluster
.conf.new
|