首要你要明白,高可靠并不是“绝对可靠”。请参考:
本文要讨论的是相对可靠,或者在投入性价比允许的情况构建尽可能可靠的云环境。
第一步:建立共享存储
保持高可用最好的办法首先是磁盘的高可用,我们用统一存储来实现。
为所有服务器统一连接FC-SAN或者ISCSI-SAN。
FC-SAN 直接可以在Ubuntu中识别为磁盘
ISCSI-SAN 需要配置一下:
apt-get install open-iscsi
记录下iqn InitiatorName
root@lion-SNS:~# cat /etc/iscsi/initiatorname.iscsi
## DO NOT EDIT OR REMOVE THIS FILE!
## If you remove this file, the iSCSI daemon will not start.
## If you change the InitiatorName, existing access control lists
## may reject this initiator. The InitiatorName must be unique
## for each iSCSI initiator. Do NOT duplicate iSCSI InitiatorNames.
InitiatorName=iqn.1993-08.org.debian:01:1caa813ba5d
root@lion-SNS:~#
偿试连接SAN
iscsiadm -m discovery -t sendtargets -p 100.10.10.51
fdisk -l
发现并登录
iscsiadm -m discovery -t sendtargets -p 100.10.10.55
iscsiadm -m node -T iqn.1993-08.org.debian:01:1caa813ba5d -p 100.10.10.55:3260 -l
再通过fdisk -l 应该可以找到磁盘了
一般SAN分配的磁盘都会相当大(超过2T),而fdisk 是不支持超过2T的磁盘的,
这时可以使用另一个分区工具GNU parted
parted /dev/sdf
help
print
mklabel gpt
mkpart primary 0 6555G #也可以用百分比 0% 100%
print
quit
mkfs -t ext4 /dev/sdf1
mkfs.ext4 /dev/sdf1
mkfs.ext4 -b 8192 /dev/sdf1 (超过16T需要设置格式化块为8k)
mkdir /smartStorage
mount /dev/sdf1 /smartStorage
将mount信息写入fstab 以防止启动时失效
echo "/dev/sdg1 /smartStorage ext4 defaults 0 0" >> /etc/fstab
第二步 移动glance 存储
sed -i 's/var/lib/glance/smartStorage/glance/g' /etc/glance/glance-api.conf
service glance-api restart
当然如果配置了swift,可以用swift做为glance的存储以达到高可用性.
第三步 移动nova 存储
NOVA有好几个组件构成nova-compute, nova-scheduler, nova-api等
Openstack的每个计算节点可以运行nova-scheduler和nova-api来分担负载。
当然我们先把instance的存储移动到SAN上来
在nova.conf的默认配置中,大部分配置的存储位置依赖于
#state_path=/var/lib/nova
改为你的SAN位置即可.
重启nova-compute,新的虚拟机就可以创建在存储上了.
第四步 rabbitq的高可用性
(未完待续.)