集群环境搭建——Day31

1、什么是集群?

 简单地说,集群就是一堆机器做同一件事,
     例如:www.jd.com提供卖东西服务这就是一件事,可能是几千台服务器,在背后运转支撑
这个网站。
          www.baidu.com看着就是一个搜索框,背后可能是上万台服务器。

2、为什么企业要用集群?

    a.7*24服务,需要多台机器同时工作,互为实时备份。
    b.高并发访问,需要多台服务器同时提供服务。

3.集群特点

   a.数据量大、用户多
   b.7*24持续服务
   c.高并发
   d.用户分布广泛,网络情况复杂

4.模拟环境

 1.首先创建一台模拟机,配置两块网卡。
image.png

1.png
2.png
3.png

2.进行基础优化:

 1、规范目录 
    mkdir -p /server/tools
    mkdir -p /server/scripts

 2、配置所有主机域名解析     #最好弄
    cat >/etc/hosts<<EOF
    127.0.0.1    localhost localhost.localdomain localhost4 
    localhost4.localdomain4
    ::1          localhost localhost.localdomain localhost6 
    localhost6.localdomain6
    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.31 nfs01
    172.16.1.41 backup
    172.16.1.51 db01 db01.etiantian.org
    172.16.1.61 m01
    EOF
    ###cat /etc/hosts看是否成功

    [root@oldboyedu ~]# ping lb01
    PING lb01 (172.16.1.5) 56(84) bytes of data.

 3.基础优化操作项:更新yum源信息   ###最好
   第一个:就近使用yum源地址,安装软件更快。
   curl -s -o /etc/yum.repos.d/CentOS-Base.repo 
   http://mirrors.aliyun.com/repo/Centos-7.repo
   第二个:安装RHEL/CentOS官方源不提供的软件包
   curl -s -o /etc/yum.repos.d/epel.repo 
   http://mirrors.aliyun.com/repo/epel-7.repo
   ll /etc/yum.repos.d/     yum源所在的目录

 4、安全优化吧      ###必须
    1、关闭selinux
    sed -i 's#SELINUX=.*#SELINUX=disabled#g' 
    /etc/selinux/config
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' 
    /etc/selinux/config
    grep SELINUX=disabled /etc/selinux/config 
    setenforce 0
    getenforce

    2、关闭firewalld防火墙服务     ###必须
    systemctl stop firewalld
    systemctl disable firewalld

 5.基础优化操作项:设置普通用户提权操作(可选优化)
    # 提权oldboy可以利用sudo
    useradd oldboy
    echo 123456|passwd --stdin oldboy
    \cp /etc/sudoers /etc/sudoers.ori
    echo "oldboy  ALL=(ALL) NOPASSWD: ALL " >>/etc/sudoers
    tail -1 /etc/sudoers
    visudo -c

 6.设置系统中文UTF8字符集   可选
   [root@oldboyedu ~]# cat /etc/locale.conf
   LANG="en_US.UTF-8"
   修改命令如下:
   cp /etc/locale.conf  /etc/locale.conf.ori
   echo 'LANG="zh_CN.UTF-8"' >/etc/locale.conf  
   source /etc/locale.conf 
   echo $LANG

   cp /etc/locale.conf  /etc/locale.conf.ori
   localectl set-locale LANG="zh_CN.UTF-8"
   cat /etc/locale.conf 

 7.基础优化操作项:系统时间同步设置   ###最好 
    yum install ntpdate -y
    /usr/sbin/ntpdate ntp3.aliyun.com    ##设置时间同步
    echo '#crond-id-001:time sync by oldboy' 
    >>/var/spool/cron/root
    echo "*/5 * * * * /usr/sbin/ntpdate ntp3.aliyun.com >/dev/null 
    2>&1">>/var/spool/cron/root
    crontab -l

 8.基础优化操作项:提升命令行操作安全性(可选优  ####5秒钟自动关闭xshell)
   echo 'export TMOUT=300' >>/etc/profile
   echo 'export HISTSIZE=5' >>/etc/profile
   echo 'export HISTFILESIZE=5' >>/etc/profile
   tail -3 /etc/profile
   . /etc/profile

 9.基础优化操作项:加大文件描述符    ###最好
   echo '*               -       nofile          65535 ' 
   >>/etc/security/limits.conf 
   tail -1 /etc/security/limits.conf
   ulimit -SHn   65535 
   ulimit -n        #<==命令方式查看配置结果


 10.基础优化操作项:优化系统内核     ###最好 
    cat >>/etc/sysctl.conf<<EOF
    net.ipv4.tcp_fin_timeout = 2
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_tw_recycle = 1
    net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_keepalive_time = 600
    net.ipv4.ip_local_port_range = 4000    65000
    net.ipv4.tcp_max_syn_backlog = 16384
    net.ipv4.tcp_max_tw_buckets = 36000
    net.ipv4.route.gc_timeout = 100
    net.ipv4.tcp_syn_retries = 1
    net.ipv4.tcp_synack_retries = 1
    net.core.somaxconn = 16384
    net.core.netdev_max_backlog = 16384
    net.ipv4.tcp_max_orphans = 16384
#以下参数是对iptables防火墙的优化,防火墙不开会提示,可以忽略不理。
    net.nf_conntrack_max = 25000000
    net.netfilter.nf_conntrack_max = 25000000
    net.netfilter.nf_conntrack_tcp_timeout_established = 180
    net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
    net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
    net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
    net.core.wmem_default = 8388608
    net.core.rmem_default = 8388608
    net.core.wmem_max = 16777216
    net.core.rmem_max = 16777216
    EOF
  sysctl -p   ###查看内核

 11.基础优化操作项:安装系统常用软件     ###最好
     CentOS6和CentOS7都要安装的企业运维常用基础工具包
     yum install tree nmap dos2unix lrzsz nc lsof wget tcpdump 
     htop iftop iotop sysstat nethogs -y
     CentOS7要安装的企业运维常用基础工具包
     yum install psmisc net-tools bash-completion vim-enhanced -y

 12.基础优化操作项:优化SSH远程连接效率      ###可选
    禁止root远程连接
    修改默认22端口,改为52113
    监听内网服务器IP
    练习不动。###

 13.扩展优化操作项-修改yum.conf文件配置信息   (下载软件是可留包)###可选
 保留yum安装的软件包
 将/etc/yum.conf中的keepcache=0改为keepcache=1,为日后一键安装网站集群留好rpm及依赖工具包。

  14.锁定关键系统文件   如/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow、/etc/inittab。
     处理以上内容后把chattr、lsattr改名为oldboy,转移走,这样就安全多了。

  15.清空/etc/issue、/etc/issue.net,去除系统及内核版本登录前的屏幕显示。
  16.清除多余的系统虚拟用户账号。
  17.为grub引导菜单加密码(自学)。
  18.禁止主机被ping(内核参数)。
  19.打补丁并升级有已知漏洞的软件。
      yum update
  20.精简开机自启动服务   ###可选
     systemctl list-unit-files |grep enable|egrep 
     "sshd.service|crond.service|sysstat|rsyslog|^NetworkManager.service|irqbalance.service"|awk '{print "systemctl disable",$1}'|bash
     systemctl list-unit-files |grep enable  
     保留服务:
     sshd|crond|sysstat|rsyslog|NetworkManager|irqbalance

 企业生产最小化原则:
    1、安装软件包最小化。
    2、用户权限最小化。
    3、目录文件权限最小化。
    4、自启动服务最小化。
    5、服务运行用户最小化。

    查看端口# netstat -lntup
    hostname   主机名 ##临时更改主机名
    hostnamectl set-hostname  #永久更改主机名
    克隆三台:#更改主机名网卡和ip地址
    B1-web服务器1       10.0.0.7/24      172.16.1.7/16 web01
    C1-NFS存储服务器    10.0.0.31/24     172.16.1.31/16  nfs01
    C2-rsync备份服务器   10.0.0.41/24    172.16.1.41/16  backup
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。