博客网站的优化二
概述:在原有优化的基础上,实现了web服务的高并发和负载均衡,数据库分离,网站内容同步共享
- 一台Haproxy代理+DNS服务器 192.168.4.5
- 三台web服务器 192.168.4.11/12/13
- 一台数据库服务器 192.168.2.21
- 一台NFS文件共享服务器 192.168.2.31
防止了web服务的单点故障,但仍存在代理服务的单点故障,共享存储的单点故障及容量限制,数据库服务的单点故障
本次优化针对代理服务的单点故障,和共享存储的单点故障进行高可用优化,保证网站稳定可靠的运行
方案:
- 采用keepalived 软件支持的vrrp功能,使代理服务高可用,保证用户体验
- 采用ceph分布式存储中cephFS文件系统,提供可扩展的存储服务,解决单点故障
新增规划:
haproxy2 192.168.4.6/24 192.168.2.6/24 安装包:keepalived haproxy
node1 192.168.2.41/24 安装包: ceph-mds ceph-mon ceph-osd ceph-deploy
node2 192.168.2.42/24 安装包: ceph-mds ceph-mon ceph-osd
node3 192.168.2.43/24 安装包: ceph-mds ceph-mon ceph-osd
拓扑图:
优化概述:
1)haproxy代理配置
- 两台代理服务配置轮询算法进行集群调度
- vim /etc/haproxy/haproxy.conf
- keepalived配置虚拟路由vrrp
- VIP为192.168.4.80,
- 修改路由id,主从路由,优先级,网络接口
- 添加vrrp_iptables off;不添加防火墙规则
- 重启服务并开机自启
2)ceph存储集群配置
- 配置预装ceph环境
- 真机提供ceph.iso 的镜像yum源
- 节点主机无密码ssh连接
- 节点主机域名解析所有节点,/etc/hosts
- 节点主机yum仓库配置MON\OSD\Tools
- 节点主机都同步时间,NTP
- 节点主机都配置3块磁盘,提供存储空间,其中一块磁盘分成2个分区并分别作为另两块的缓存
- ceph集群环境
- 创建监视器monitor,向外提供访问服务,这里将mon与osd存储服务都设置在3节点服务器上,
- 生成配置文件,包含mon主机的信息,访问集群认证配置
- ceph-deploy new node1 node2 node3
- 安装软件包(3个节点)
- 初始化mon服务,生成用户client.admin和秘钥,/etc/ceph/目录下包含相关配置文件
- ceph-deploy mon create-initial
- 创建监视器monitor,向外提供访问服务,这里将mon与osd存储服务都设置在3节点服务器上,
- osd存储空间创建
- 3个节点第一块以磁盘GPT分区格式分两个区,作为第二三块的缓存,
- 对分区的所属者和所属组添加ceph用户,是该ceph用户有读写的权限,这是临时权限 ,
- 永久权限设置,/etc/udev/rules.d/添加*.rules文件,内容格式:ENV{DEVNAME}=="/dev/vdb1",OWNER="ceph",GROUP="ceph"
- 初始化存储磁盘空间
- ceph-deploy disk zap node1:vdc node1:vdd (3个节点主机)
- 创建osd空间
- ceph-deploy osd create node1:vdc:/dev/vdb1 node1:vdd:/dev/vdb2 (3个节点主机)
- 3个节点第一块以磁盘GPT分区格式分两个区,作为第二三块的缓存,
- 查看集群状态:ceph -s ;一般需要刷新NTP时间同步
3)创建cephFS,分布式文件系统
- 部署mds服务 ceph-deploy mds create node3
- 存储池创建2个,元数据池和数据池
- ceph osd pool create cephfs_data 128
- ceph osd pool create cephfs_metadata 128
- 文件系统创建,元数据在前,数据在后
- ceph fs new myfs1 cephfs_data cephfs_metadata
- 查看 ceph fs ls
4)挂载cephFS存储到所有web服务器的网页根目录下
mount -t ceph 192.168.2.41:6789:/ /usr/local/nginx/html/ -o name=admin,secret="ceph的admin用户秘钥"
将该条命令写入/etc/rc.local中,下次开机就会自启了哦,注意开机顺序先启ceph集群主机,否则会挂载失败
5)nfs共享文件博客网站的内容迁移到任意一台web服务器网页根目录下,即可完成分布式存储服务,解决存储服务的单点故障