这两天有一个项目,客户只要求基于openstack平台上两个实例里跑web服务,实现HA。
我用nginx做的两个网站负载均衡,负载均衡里默认有宕机踢出机制。
至于web的数据存哪里?做的是负载均衡,两个web服务器数据必须是同步的,需要放在共享存储上边,nova-volumes只能一个实例对应一个逻辑卷,保证不了数据的一致性和永久性。
尝试用swift来存储web数据,利用cloudfuse客户端,把swift挂载到web主目录中去。
先来照着趣云的文档安装cloudfuse吧
http://blog.lightcloud.cn/?p=29
装完以后先备份web主目录中的数据
mkdir /web_backup
mv /var/www/* /web_backup/
cloudfuse -o allow_other /var/www/ #允许其他用户访问
cp -rp /web_backup/* /var/www/
去另外一个web服务器上做同样的操作,这样数据就同步了。
最好给web建立一个单独的tenant,用户之间不可见,免得和其它应用数据混淆。