1、什么时集群?
简单说,集群就是一堆机器做同一件事。
2、为什么企业要用集群?
a. 7×24小时服务,需要多台机器同时工作,互为实时备份。
b.高并发访问,需要多台服务器同时提供服务。
3、集群特点
a.数量多大、用户多
b.7×24持续服务,高可用
c.高并发
d.用户分布广泛,网络情况复杂
4、集群架构图像比喻
5、集群架构系统基础环境准备
1.环境准备
2.各个服务器的作用说明
3. 所需服务器的个数及功能
4.部署里程
5.服务器IP地址规划表
6. 安装及配置路径等规划
6、基础优化:
1、规范目录
mkdir -p /server/tools
mkdir -p /server/scripts
2、配置所有主机域名解析
cat >/etc/hosts< 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 [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 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 ===》禁止开机自启 systemctl status 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 ===》安装ntpdate软件包 /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.基础优化操作项:提升命令行操作安全性(可选优化) # 提升命令行安全(可选配置) echo 'export TMOUT=300' >>/etc/profile echo 'export HISTSIZE=5' >>/etc/profile echo 'export HISTFILESIZE=5' >>/etc/profile tail -3 /etc/profile . /etc/profile 补充: history 查询操作记录 -c 清除所有 -d 指定数字删除操作记录 9.基础优化操作项:加大文件描述符 # 实例演示:加大文件描述 echo '* - nofile 65535 ' >>/etc/security/limits.conf ===》加大文件 tail -1 /etc/security/limits.conf====》查看文件最后一行 ulimit -SHn 65535 ===》增加最大打开文件数65535 ulimit -n #<==命令方式查看配置结果 10.基础优化操作项:优化系统内核 cat >>/etc/sysctl.conf< 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 -v "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、服务运行用户最小化。 [root@oldboyedu ~]# netstat -lntup Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 7072/sshd tcp6 0 0 :::22 :::* LISTEN 7072/sshd7、企业生产最小化原则: