代码改变世界

如何构建高可靠的Openstack

2013-04-07 09:31  梁小白  阅读(599)  评论(0编辑  收藏
 
首要你要明白,高可靠并不是“绝对可靠”。请参考:
 
本文要讨论的是相对可靠,或者在投入性价比允许的情况构建尽可能可靠的云环境。
 
第一步:建立共享存储
 
保持高可用最好的办法首先是磁盘的高可用,我们用统一存储来实现。
为所有服务器统一连接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的高可用性
 
 
(未完待续.)