一、集群架构介绍

       集群就是指一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点都是运行各自服务的独立服务器。这些服务器之间可以彼此通信,协同向用户提供应用程序、系统资源和数据,并以单一系统的模式加以管理。

       集群架构的特点:

       1. 高并发,大流量:面对高并发用户大量访问

       2. 持续服务,高可用:系统7*24小时不间断服务

       3. 海量数据:需要存储、管理海量数据,需要使用大量服务器

       4. 用户分布广泛,网络情况复杂

二、集群架构组成说明       

1. 基本架构组成:(用于让用户进行访问)

    前端服务部分:
      1)网站用户
          是一个访问者,请求访问网站页面
      2)防火墙设备
          对访问架构用户进行策略控制,正常访问网站用户,可以放行进入;非法人员(黑客)访问网站,禁止进入
      3)交换机(外网)
          提供架构中服务器相互通讯交流的需求(提供外部人员访问)
      4)负载均衡服务器
         对用户的访问请求进行调度处理
      5)网站web服务器
        对用户的请求进行响应处理
   后端服务部分:
     1)交互机(内网)
       提供架构中服务器相互通讯交流的需求(提供内部局域网服务器通讯交流)
     2)数据库服务器
       主要用于存储用户提交文字(字符串)数据信息
     3)存储服务器
       主要用于存储用户上传视频 音频 图片 附件等数据资料
     4)备份服务器
       主要用于对用户存储(上传)数据信息进行统一备份管理
     5)缓存服务器
       主要用于存储用户经常访问的数据信息,提升请求数据信息的响应效率

 

集群架构图 集群框架_主机名

 

集群架构图 集群框架_服务器_02

2. 扩展架构组成:(用于让运维人员远程管理架构中的服务器)
     1)运维人员
          可以远程管理架构中服务器
     2)审计-跳板机服务器
          用于监管内部运维人员操作记录信息,一旦出现架构问题,可以快速定位问题原因,进行相应人员失误问责
     3)批量管理服务器
         通过批量管理服务器可以批量管理架构中多台服务器,提升工作效率
     4)监控服务器
         用于监控管理架构中的服务器运行情况,一旦出现问题进行发送告警给相关运维管理人员

 

集群架构图 集群框架_集群架构图_03

 

集群架构图 集群框架_主机名_04

三、集群架构搭建规划

       服务器及服务规划说明
       主机地址及主机名规划
       安装及配置路径等规划

1. 基础企业集群架构规划,各个服务器架构功能规划如下:

 

集群架构图 集群框架_集群架构图_05

2. 网站集群搭建顺序规划

 

集群架构图 集群框架_主机名_06

 3.主机IP及主机名规划

    一般企业对主机IP的规划为10网段

 

集群架构图 集群框架_主机名_07

 

集群架构图 集群框架_服务器_08

 4.安装及配置路径等规划

 

集群架构图 集群框架_集群架构图_09

 5.集群架构系统基础环境准备

   1)安装CentOS 7.6 64bit操作系统,修改网卡为eth0和eth1命名模式,并添加2块网卡

   2)第一块网卡eth0配置为NAT模式【模拟公网环境】,网段为10.0.0.0网段(企业一般规划为10网段)

   3)第二块网卡eth1配置为LAN区段模式【模拟局域网环境】,网段为172.16.1.0网段

  虚拟软件主机虚拟网络配置

  第一步:在虚拟软件中配置虚拟局域网

                 配置虚拟网段信息,以及虚拟网关信息

   

集群架构图 集群框架_集群架构图_10

  

集群架构图 集群框架_主机名_11

  

集群架构图 集群框架_集群架构图_12

  

集群架构图 集群框架_集群架构图_13

  第二步:在虚拟软件中虚拟机添加网卡
                虚拟主机中设置了两块网卡:
                eth0:nat模式网卡
                eth1:LAN区段网卡(区段名称为 172.16.1.0/24)注:此网段为内网网段,无需配置默认网关和DNS

 

集群架构图 集群框架_服务器_14

 

集群架构图 集群框架_集群架构图_15

  第三步:在虚拟软件中虚拟机网卡配置

                使用命令nmtui命令设置网卡

 

集群架构图 集群框架_虚拟主机_16

 

集群架构图 集群框架_主机名_17

 

集群架构图 集群框架_虚拟主机_18

 

集群架构图 集群框架_主机名_19

 

集群架构图 集群框架_服务器_20

四、集群架构系统优化

1. 基础优化

   1)规范功能目录

         创建存储软件目录(/server/tools),创建存储脚本目录(/server/scripts)

         mkdir -p /server/tools

         mkdir -p /server/scripts

 

集群架构图 集群框架_服务器_21

   2) 配置hosts解析信息

       设置本地服务主机名称与ip地址映射关系

cp /etc/hosts{,.bak}

cat >>/etc/hosts<<EOF
172.16.1.5 lb01
172.16.1.6 lb02
172.16.1.7 web01
172.16.1.8 web02
172.16.1.9 web03
172.16.1.51 db01
172.16.1.31 nfs01
172.16.1.41 backup
172.16.1.61 m01
EOF

 

集群架构图 集群框架_虚拟主机_22

   3)修改主机名称

      hostnamectl set-hostname backup

 

集群架构图 集群框架_虚拟主机_23

   4)更新yum源信息

        使用yum源地址

        wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

        安装RHEL/CentOS官方源不提供的软件包

       wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

      yum clean all

      yum makecache

      yum repolist

  

集群架构图 集群框架_服务器_24

   5)优化安全设置

       对于内网环境,部分安全方面的设置是必需的,可以进行关闭,避免不必要的安全策略影响系统服务的正常运行。

       关闭selinux

       getenforce (查看状态)

       sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

       grep SELINUX=disabled /etc/selinux/config

       setenforce 0 (临时关闭)

       getenforce (查看状态)

 

集群架构图 集群框架_主机名_25

 

集群架构图 集群框架_服务器_26

        关闭firewalld防火墙

        systemctl status firewalld (查看状态)

        systemctl stop firewalld    (关闭防火墙)

        systemctl status firewalld

 

集群架构图 集群框架_虚拟主机_27

       注:通知系统防火墙功能,只是针对局域网内部的机器关闭,连接外网服务设备还需开启

   6)精简开机启动程序

      设置一些不必要的软件为不随系统开机自动运行,只将一些必须运行的服务程序,设置为开机自动启动

      systemctl list-unit-files |grep enable|egrep -v "sshd.service|crond.service|NetworkManager.service|irqbalance.service|rsyslog.service"|awk '{print "systemctl disable", $1}' |bash

      systemctl list-unit-files |grep enable

 

集群架构图 集群框架_虚拟主机_28

      企业生产最小化原则:

      安装软件包最小化;用户权限最小化;目录文件权限最小化;自启动服务最小化;服务运行用户最小化

   7)设置普通用户提权操作(可选优化)       

        useradd test

       echo 123456|passwd --stdin test

       cp /etc/sudoers /etc/sudoers.ori

       echo "test ALL=(ALL) NOPASSWD: ALL " >>/etc/sudoers

       tail -1 /etc/sudoers

       visudo -c

 

集群架构图 集群框架_服务器_29

   8)设置系统字符集(可选优化)

         cat /etc/locale.conf

         cp /etc/locale.conf{,.ori}

         localectl set-locale LANG="zh_CN.UTF-8"

 

集群架构图 集群框架_服务器_30

   9)时间同步设置

        在服务架构中,有时需要进行主备连接,或者服务端和客户端的链接,连接可能涉及数据信息的同步,而同步时就需要借用系统时间生成时间戳,判断周期性同步的间隔,如果同步服务器之间的时间不统一,可能会造成同步终端间数据同步异常。

        设置定时任务,进行每5分钟进行时间同步一次

        yum install ntpdate -y

        echo  "#crond-id-0001:time sync by test" >> /var/spool/cron/root

        echo '*/5 * * * * /usr/sbin/ntpdate pool.ntp.org >/dev/null 2>&1' >>/var/spool/cron/root

        crontab -l

 

集群架构图 集群框架_集群架构图_31

  10)提升命令行操作安全性(可选优化)

        设置会话超时时间

        设置命令行历史记录保留的行数

        设置命令行历史记录格式

        设置历史记录文件保留个数 

  echo "export TMOUT=300" >>/etc/profile

  echo "export HISTSIZE=1000" >>/etc/profile

  echo "export HISTFILESIZE=1000" >>/etc/profile

  echo 'export HISTTIMEFORMAT="`whoami` %F %T"' >>/etc/profile

  tail -5 /etc/profile

  source /etc/profile

 

 

集群架构图 集群框架_虚拟主机_32

    

   11)加大文件描述符(句柄数)

  ulimit -SHn 65535  (临时加大文件描述符)

  永久生效:echo '*               -        nofile          65535 ' >> /etc/security/limits.conf

  tail -1 /etc/security/limits.conf

 

集群架构图 集群框架_主机名_33

 

集群架构图 集群框架_服务器_34

   12)优化系统内核参数

          内核参数一般配置在/etc/sysctl.conf内核文件中,利用sysctl -p命令使之内核文件中,修改的内容生效。

 

集群架构图 集群框架_集群架构图_35

   13)安装系统常用软件

           CentOS 7安装的企业运维常用基础工具包如下:

           yum install tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs  psmisc net-tools bash-completion vim-enhanced

   14)优化SSH远程连接效率

           配置远程连接SSH配置文件,使之连接效率更高,连接更安全

           sed -i.bak 's@#UseDNS yes@UseDNS no@g;s@^GSSAPIAuthentication yes@GSSAPIAuthentication no@g'  /etc/ssh/sshd_config

           systemctl restart sshd

 

集群架构图 集群框架_虚拟主机_36

   15)锁定关键系统文件优化

          对关键系统账号文件和启动文件进行锁定,防止用户篡改。

 

集群架构图 集群框架_虚拟主机_37

   16)清理系统版本信息

        说明:系统对外显示的信息越少越好

 

集群架构图 集群框架_虚拟主机_38

   17)为GRUB增加密码

        为了防止别人进入单用户模式破解密码,可以添加GRUB密码

        grub2-setpassword

        cat  /boot/grub2/user.cfg

 

集群架构图 集群框架_服务器_39

   18)禁止用户ping服务器的ip地址

        禁止用户ping服务器IP地址的目的也是让黑客用户以为服务器停机或者不可用,或禁止返回有效信息

        echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all

2. 扩展优化(可选)

  1)优化系统提示符(可根据个人喜好选择)

  2)定义系统别名

       简化常用的命令,提升工作效率

  3)修改yum.conf文件配置信息

      将yum.conf中的keepcache=0改为keepcache=1,为日后一键安装网站集群留好rpm及依赖工具包

 

集群架构图 集群框架_服务器_40

  4)自动快速配置主机名和IP地址

五、虚拟主机克隆操作

       已经创建好了一台虚拟主机,可以利用创建好的虚拟主机,作为模板主机,进行架构中多台服务器的克隆创建。      

       第一步:调整虚拟主机网络配置信息
       一清空 两删除
       两删除:删除网卡(eth0 eth1)中,UUID(硬件标识信息)和HWADDR(网络mac地址)进行删除
       sed -ri '/UUID|HWADDR/d' /etc/sysconfig/network-scripts/ifcfg-eth[01]

 

集群架构图 集群框架_服务器_41

 

集群架构图 集群框架_集群架构图_42


       一清空:清空网络规则配置文件

       ls /etc/udev/rules.d

       echo '>/etc/udev/rules.d/70-persistent-net.rules' >>/etc/rc.local (针对的CentOS 6)
      第二步:关闭虚拟模板机
      shutdown -h now

      第三步:进行模板机的克隆操作

 

集群架构图 集群框架_主机名_43

 

集群架构图 集群框架_虚拟主机_44

 

集群架构图 集群框架_虚拟主机_45

 

集群架构图 集群框架_服务器_46

 

集群架构图 集群框架_服务器_47

 

集群架构图 集群框架_集群架构图_48


      链接克隆:

      优势:节省系统资源 克隆效率较高

      劣势:模板主机不能出现问题,一旦模板主机失效,所有克隆主机也无法正常工作 

集群架构图 集群框架_服务器_49


     完整克隆:

     优势:模板主机和克隆主机相互独立,模板主机出现问题,克隆主机依旧可以正常使用

     劣势:浪费系统资源 克隆效率较低     第四步:开启克隆后虚拟主机(一台一台开启,确认模板主机关闭),设置虚拟主机地址和网卡

     # 修改主机名称

     hostname backup

     hostnamectl set-hostname backup

     说明:主机名称需要填写为当前系统主机名,然后进行一下替换即可

 

集群架构图 集群框架_服务器_50


     # 修改主机IP地址信息

    sed -i 's/200/41/g' /etc/sysconfig/network-scripts/ifcfg-eth[01]

    cat /etc/sysconfig/network-scripts/ifcfg-eth[01]

 

集群架构图 集群框架_主机名_51


     # 重启网络服务,重新连接虚拟主机

  systemctl restart NetworkManager

  

集群架构图 集群框架_主机名_52