基于负载均衡和高可用性冗余的需要,又申请了一台云主机,一台机器自诞生到最终可使用需要经过几个环节:
1、选配置付款购买
记得刚开始买的时候都是用的默认镜像,基本和裸机差不多,从建小权限账户到配置安全策略及内核优化都需要一步步从头做,后来自己做了镜像省去了这些繁琐的设置工作,确实节省了很多时间,也保证了系统环境的一致性。
在生成云主机的时候出现了难产的情况,根据初始化的密码怎么也无法远程连接主机,是因为镜像中的安全策略中给密码文件加了锁,所以从控制台看到密码修改成功了实际上并没有成功,只能从后台解锁后才能生效,查这个问题浪费了一些时间,这件事说明了一个道理,安全性本身就是把双刃剑,除了伤人有时也会伤己。
2、磁盘挂载
默认情况下磁盘是不挂载的,需要手动操作,有了以前的博客做参照节省了不少时间(更增加了记录博客的信心),参照http://www.liuxiangtao.com/?post=33
磁盘挂载完毕后的盘符是/mnt,为了部署的便捷性和各系统之间目录的一致性,需要在挂载到alidata目录下,因为其他系统当时使用了一键安装功能,自动创建了alidata,涉及的命令:mv或mount
3、环境检查
虽然用了镜像,但是一些必要的检查还是不可少的,
一、环境变量是否如预想,命令:env;
二、java环境是否可用,命令:java -version
三、各种权限的用户是否满足要求,命令:cat /etc/passwd
四、安全优化配置及端口号是否仍是默认的,
命令:sysctl -a | grep ipv4
cat /etc/ssh/sshd_config
五、字体库是否正确安装,命令fc-cache -f -v
六、
4、应用部署
从既有的环境中备份生产的应用放到目标路径下,涉及命令
tar -zcvf /data/lastbak/product.war.tgz ./product.war
scp ./product.war.tgz root@115.30.191.181:/alidata/jboss/server/product/deploy
tar -zxvf ./product.war.tgz
5、编写服务启动脚本 需要熟悉shell脚本,awk命令
6、创建日志输出路径,确认应用的日志输出级别和路径
7、jboss多实例端口统一管理配置的有效性service-bindings.xml、jboss-service.xml
8、数据库配置的正确性
9、RDS的白名单增加云主机IP,确保应用可以正常连接数据库
10、启动实例检查应用是否可以正常访问
11、为确保负载均衡对静态资源的操作一致性需要应用nfs服务对两台机器的静态资源挂载第三方目录,
启动nfs服务
/etc/rc.d/init.d/portmap start
/etc/rc.d/init.d/nfs start
配置exports
exportfs -rf
跨服务器挂载磁盘mount -t nfs -o rw 10.10.53.143:/alidata/test/alidata/test
同服务器目录挂载mount --bind /alidata/test /test
12、负载均衡测试,重点确认接口调用的一致性,需关闭Content- Encoding chunked的开关,避免出现org.apache.axis2.AxisFault: Transport error: 411 Error: Length Required的错误
13、应用接口配置调整,做好切换准备
14、联系合作伙伴登记新增IP加入防火墙策略确保可以正常交互数据
15、新服务器上线,加入应用集群,用于负载均衡和失效转移
任何一个高可用、可伸缩、负载均衡的的系统除了架构上支持,还需要做很多不为人知的准备工作,以上15步是必不可少的,大部分都是需要深入研究和花费很多的精力去调试和调整的,一次性完成也几乎是不可能的,任何事都是在不断的摸索中总结和优化,逐步提升的,机器是这样,人也是!
- 上一篇: 网站优化之指定“Vary: Accept-Encoding”标头的意义
- 下一篇: 我筛选简历的标准
评论