Day31中小规模集群架构(课堂笔记)

Day31


作者:孙鹏鹏

归档:课后笔记

时间:2019/4/12


快捷键:

Ctrl + 1    标题1

Ctrl + 2    标题2

Ctrl + 3    标题3

Ctrl + 4    标题4

Ctrl + 5    程序代码

Ctrl + 6    正文

Ctrl + 7    实例1-1

格式说明:

蓝色字体:注释

黄色背景:重要

绿色背景:注意

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

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

联系方式:

网站运维QQ交流群:

Linux 385168604架构师390642196

Python 29215534大数据421358633

官方网站:

http://www.oldboyedu.com 

目  录

第一章:中小规模集群架构









第一节:

#什么是集群?

##简单的说,集群就是一堆集群做同一件事

##例如:www.jd.con提供卖东西服务这就是一件事,可能是几千台服务器在背后运转支撑这个网站

     www.baidu.com看着就是一个搜索框,背后可能是上万台服务器。

#为什么企业要用集群?

##7*24服务,需要多台机器同时工作,互为实时备份。

##高并发访问,需要多台服务器同时提供服务。

#集群的特点:

##数据量大、用户多、

##7*24持续服务

##高并发

##用户分布广泛、网络情况复杂

###独行快,众行远。   ----老男孩

#形象的描述一下集群:

##

Day31中小规模集群架构(课堂笔记)_第1张图片
Day31中小规模集群架构(课堂笔记)_第2张图片
Day31中小规模集群架构(课堂笔记)_第3张图片
Day31中小规模集群架构(课堂笔记)_第4张图片
Day31中小规模集群架构(课堂笔记)_第5张图片
Day31中小规模集群架构(课堂笔记)_第6张图片
Day31中小规模集群架构(课堂笔记)_第7张图片

基础优化:

#规范目录

##mkdir -p /server/tools

##mkdir -p /server/scripts

#配置所有主机域名解析

##cat >/etc/hosts<

127.0.0.1    localhost localhost.localdomain localhost4localhost4.localdomain4

::1          localhost localhost.localdomainlocalhost6 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

127.0.0.1    localhost localhost.localdomain localhost4localhost4.localdomain4

::1          localhost localhost.localdomainlocalhost6 localhost6.localdomain6

172.16.1.5 lb01

172.16.1.6 lb02

172.16.1.7web01

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

# ping lb01

PING lb01 (172.16.1.5) 56(84) bytesof data.


#1.基础优化操作项:更新yum源信息

第一个:就近使用yum源地址,安装软件更快。

curl -s-o /etc/yum.repos.d/CentOS-Base.repohttp://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

安全优化

#2.关闭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

#3.关闭firewalld防火墙服务

systemctl stop firewalld

systemctl disable firewalld


#4.基础优化操作项:设置普通用户提权操作(可选优化)

提权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

#5.设置系统中文UTF8字符集

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

localectlset-locale LANG="zh_CN.UTF-8"

cat/etc/locale.conf

#6.基础优化操作项:时间同步设置

设置系统时间同步

yum install ntpdate -y

/usr/sbin/ntpdate ntp3.aliyun.com

echo '#crond-id-001:time sync byoldboy' >>/var/spool/cron/root

echo"*/5 * * * * /usr/sbin/ntpdate ntp3.aliyun.com >/dev/null2>&1">>/var/spool/cron/root

crontab -l

#7.基础优化操作项:提升命令行操作安全性(可选优化)

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

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

echo 'export HISTSIZE=5'>>/etc/profile

echo 'export HISTFILESIZE=5'>>/etc/profile

tail -3 /etc/profile

. /etc/profile


#8.基础优化操作项:加大文件描述符

实例演示:加大文件描述

echo'*               -       nofile          65535 '>>/etc/security/limits.conf

tail -1 /etc/security/limits.conf

ulimit -SHn   65535

ulimit -n        #<==命令方式查看配置结果

#9.基础优化操作项:优化系统内核

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

#10.以下参数是对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都要安装的企业运维常用基础工具包

yuminstall tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstatnethogs -y

CentOS7要安装的企业运维常用基础工具包

yum install psmisc net-toolsbash-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 |grepenable|egrep -v"sshd.service|crond.service|sysstat|rsyslog|^NetworkManager.service|irqbalance.service"|awk'{print "systemctl disable",$1}'|bash

systemctl list-unit-files |grepenable

#保留服务:

sshd|crond|sysstat|rsyslog|NetworkManager|irqbalance

*****企业生产最小化原则:

*****1、安装软件包最小化。

*****2、用户权限最小化。

*****3、目录文件权限最小化。

*****4、自启动服务最小化。

*****5、服务运行用户最小化。

克隆三台:

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

你可能感兴趣的:(Day31中小规模集群架构(课堂笔记))