15.1.3 集群节点的IP地址及主机名规划
您可以在百度里搜索“跟老男孩学Linux运维:Web集群实战 艾草文学(www.321553.xyz)”查找最新章节!
15.1.3 集群节点的IP地址及主机名规划
1.IP地址及主机名规划表
集群节点IP地址及主机名规划见表15-5和表15-6。
表15-5 集群节点IP地址及主机名规划
提示:表15-5中所有IP的子网掩码均为24位,即255.255.255.0。
表15-6 集群节点VIP地址及对应域名解析规划
2.IP地址及主机名规划思路说明
根据网站整体集群架构图所示的功能,本章将该架构分为5个功能区域,并结合项目的整体规划,简化了IP地址的规划,即采用两个C类地址段,一个C类地址段(10.0.0.0/24)作为外网用户所使用IP地址段;另一个C类地址段(172.16.1.0/24)作为内网用户所使用IP地址段。5个功能区域IP地址段具体的规划如下。
(1)前端负载均衡代理区域
采用的外网地址范围为10.0.0.1~10.0.0.3,内网地址范围为172.16.1.1~172.16.1.9。
根据架构图可知,要有两台设备作为反向代理服务器,因此,可规划10.0.0.1、10.0.0.2为两台服务器外网eth0网卡的实际地址,10.0.0.3为虚拟地址VIP,将来网站域名就需要解析到这个VIP上,内网地址172.16.1.1、172.16.1.2分别作为两台服务器的实际内网eth1网卡地址。
(2)Web服务应用区域
为Web服务器的内网eth1网卡预留的地址范围为172.16.1.10~172.16.1.29,根据架构图,当前只有两台设备作为Web服务器,因此,规划172.16.1.10、172.16.1.11为两台Web服务器内网eth1的实际地址,由于采用了反向代理的模式,因此,Web服务器无需外网IP地址。
(3)存储服务器应用区域
为存储服务器的内网eth1网卡预留的地址范围为172.16.1.30~172.16.1.49,根据架构图,有两台设备作为存储服务器,其中一台为NFS服务器,规划172.16.1.30作为NFS服务器的IP;另一台为rsync备份服务器,规划172.16.1.31作为rsync备份服务器IP。
为保证NFS服务的高可用性,在NFS存储服务器与rsync备份服务器之间架设Keepalived高可用服务,设置172.16.1.32作为虚拟地址,即VIP地址。
(4)数据库及缓存服务器应用区域
为MySQL服务器的内网eth1网卡预留的地址范围为172.16.1.50~172.16.1.59,目前有三台MySQL服务器,分别作为MySQL主数据库服务器、主数据库热备服务器、从数据库服务器,规划的地址分别为172.16.1.50、172.16.1.51、172.16.1.52。
为保证MySQL主数据库服务的高可用性,在MySQL主服务器之间架设了Keepalived服务,采用172.16.1.53作为主数据库虚拟VIP地址,如果有多台从库还可以为多台从库配置LVS负载均衡,使用额外的地址作为读数据库的VIP地址,此内容留给读者去拓展。
为Memcached缓存服务器的内网eth1网卡预留的地址范围为172.16.1.60~172.16.1.69,目前有2台服务器作为数据库的前端分布式缓存服务集群(分布式调度算法使用一致性哈希算法),在每个服务器上均配置2个实例分别作为缓存服务和session会话共享服务。
(5)管理服务器应用区域
内外IP地址在200以后的均作为监控管理服务器的地址。目前架构了两台服务器作为管理服务器,监控管理服务器内网eth1地址为172.16.1.200,无外网地址,配置的服务为Nagios监控服务和批量管理服务(sshkey或saltstack),跳板机服务器外网eth0地址为10.0.0.201,内网eth1地址为172.16.1.201,配置的服务为跳板机及VPN服务。
提示:所有服务器的地址都是由小到大进行规划的,有利于避免地址空余的浪费,内外网地址最后8位尽量相同,有利于运维人员对IP的管理,并且可根据功能区域进行地址规划,便于新增和对现有设备的管理。以上规划和设计是以老男孩工作环境为主的,读者在实际部署集群时可以参考上述设计规划,但在企业工作场景下,外网eth0对应的10.0.0.0/24地址段应该用真正的外部IP地址段替代。
3.主机名规划说明
根据业务功能对所有集群节点的主机名进行了详细规划,并采用英文缩写方式命名,采用的命名格式见表15-7。
表15-7 主机名规划命名参考格式
说明:在表15-7中,各字段名称之间用"-"进行连接。如果觉得名称太长,可以自行缩短。
下面分别来看看各名称的含义。
·功能区域名称:目前架构分为5个功能区域,分别命名为LB(负载)、WEB(网页访问)、STORE(存储)、DB(数据库)及Cache(缓存)、MAGE(管理)。
·服务器应用名称:根据服务器所装的核心应用服务命名。例如:Web服务器安装Nginx、PHP、MySQL软件一体的环境,可命名为LNMP。
·应用功能或角色名称:根据服务器的业务不同,会出现相同的应用软件实现不同的功能的情况,并且相同的功能软件,也会划分主从等不同角色等,因此也就有了根据功能或角色命名的方式,例如:MySQLMaster数据库。
·服务器编号:根据相同应用功能的服务器的排序或分组进行命名。例如,两台Nginx服务器的命名规范为:WEB-LNMP-01、WEB-LNMP-02(node为通用节点名,可省略)。
提示:上述仅仅是单机房简单的规划思路,如果是跨机房,分组还得规划出来地区以及机房的标识。例如:阿里集团的做法为主机名的命名规范就是“appname+IP地址+环境标识+机房标识”,但是自动化出来的机器名大多只做到了“appname+IP地址+机房标识”。
4.架构hosts文件的规划
hosts文件解析的内容采用服务器名称结合域名的方式进行命名,并与相对应的IP地址进行解析,具体内容如下。
[root@STORE-Rsync-01 base]# cat /etc/hosts 127.0.0.1 localhostlocalhost.localdomain localhost4 localhost4.localdomain4::1localhost localhost.localdomain localhost6 localhost6.localdomain6172.16.1.1 LB-nginx-01 lb01.etiantian.org 172.16.1.2 LB-nginx-02lb02.etiantian.org 172.16.1.10 WEB-LNMP-01 web01.etiantian.org172.16.1.11 WEB-LNMP-02 web02.etiantian.org 172.16.1.30STORE-NFS-01 nfs.etiantian.org 172.16.1.31 STORE-Rsync-01rsync.etiantian.org 172.16.1.32 nfs_vip.etiantian.org 172.16.1.50MySQL-master-01 dbmaster01.etiantian.org 172.16.1.51MySQL-master-02 dbmaster02.etiantian.org 172.16.1.52dbmaster_vip.etiantian.org 172.16.1.53 MySQL-slave-01dbslave01.etiantian.org 172.16.1.61 Cache-Mc-01cache01.etiantian.org 172.16.1.62 Cache-Mc-02 cache02.etiantian.org172.16.1.63 mc_vip.etiantian.org 172.16.1.200 MAGE-monitor-01monitor.etiantian.org 172.16.1.201 MAGE-jump-01 jump.etiantian.org10.0.0.3 www.etiantian.org blog.etiantian.org bbs.etiantian.org 跟老男孩学Linux运维:Web集群实战