2019-04-12 Day31 中小规模集群架构

Day31

作者:方维超

归档:课堂笔记

时间:2019/4/12

老男孩教育教学核心思想6重:重目标、重思路、重方法、重实践、重习惯、重总结

学无止境,老男孩教育成就你人生的起点!

一、中小规模集群架构

1、什么是集群

简单地说就是一堆机器做同一件事。

例如:
www.jd.com提供卖东西服务这就是一件事,可能是几千台服务器在背后运转支撑这个网站运行。
www.bai.com看着就是一个搜索框,背后可能就是上万台服务器在运行。

2、为什么企业要用集群

a. 让业务7×24小时服务,需要多台机器同时工作,能够互为备份,并且是实时备份。
b.高并发的访问,需要多台服务器同时提供服务。

3、集群的特点

a. 数据量大、用户多(独行快、众行远)
b.持续服务7×24
c. 高并发、大流量
d.用户分布广泛、网络情况复杂

4、形象描述集群

2019-04-12 Day31 中小规模集群架构_第1张图片
image.png
2019-04-12 Day31 中小规模集群架构_第2张图片
image.png

自己手动画图 visio图库工具

手把手带你快速做【最专业】的项目文档实战 http://edu.51cto.com/course/course_id-4992.html
手把手带你快速画【最专业】的逻辑架构图实战 http://edu.51cto.com/course/course_id-4991.html

2019-04-12 Day31 中小规模集群架构_第3张图片
image.png
2019-04-12 Day31 中小规模集群架构_第4张图片
image.png
2019-04-12 Day31 中小规模集群架构_第5张图片
image.png
2019-04-12 Day31 中小规模集群架构_第6张图片
image.png

搭载顺序

2019-04-12 Day31 中小规模集群架构_第7张图片
image.png
2019-04-12 Day31 中小规模集群架构_第8张图片
image.png
2019-04-12 Day31 中小规模集群架构_第9张图片
image.png

启动模板机时报错:


image.png

解决办法:
https://blog.csdn.net/Angelloverbest/article/details/77825105

给虚拟机添加一块网卡 命名eth1


2019-04-12 Day31 中小规模集群架构_第10张图片
image.png
2019-04-12 Day31 中小规模集群架构_第11张图片
image.png
2019-04-12 Day31 中小规模集群架构_第12张图片
image.png
2019-04-12 Day31 中小规模集群架构_第13张图片
image.png
2019-04-12 Day31 中小规模集群架构_第14张图片
image.png

改完后输入重启网卡命令 systemctl restart network或者命令直接复制eth0修改

基础优化:

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 ~]# 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

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

3、基础优化操作项:更新yum源


2019-04-12 Day31 中小规模集群架构_第15张图片
image.png

第一个:就近使用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

image.png

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、关闭防火墙
systemctl stop firewalld #<===关闭firewalld防火墙
systemctl disable firewalld #<===禁止firewalld防火墙开机自启动
systemctl status firewalld #<===查看关闭状态

2019-04-12 Day31 中小规模集群架构_第16张图片
image.png

5、基础优化操作:设置普通用户提权操作
对于系统运维工作中,一些普通用户需要分担超级管理员root的工作压力,因此需要将相应的root权限进行下放,所以要将相应普通用户进行提权。

提权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、基础优化操作:设置时间同步


image.png

设置系统时间同步

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、基础优化操作项:提升命令行操作完全性(可选优化)**

提升命令行安全(可选配置)

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、基础优化操作项:加大文件描述符
一般情况下,一台服务器被访问时,会启动很多的程序,而启动每一个程序都会占用文件服务器描述符的大小,因此有时需要加大文件描述符的大小,从而不影响到程序的启动。

image.png

实例演示:加大文件描述

echo '* - nofile 65535 ' >>/etc/security/limits.conf
tail -1 /etc/security/limits.conf
ulimit -SHn 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.基础优化操作项:安装系统常用软件*

2019-04-12 Day31 中小规模集群架构_第17张图片
image.png

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、用户权限最小化 visudo

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/sshd

克隆三台主机

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

你可能感兴趣的:(2019-04-12 Day31 中小规模集群架构)