系統優化

作者:馬帥琦

歸檔:day31

時間:2019/4/12

1、什么是集群?

簡單地說,集群就是一堆機器做同一件事,

例如:www.jd.com提供賣東西服務這就是一件事,可能是幾千臺服務器,在背后運轉支撐這個網站。

? ? ? www.baidu.com看著就是一個搜索框,背后可能是上萬臺服務器。


2、為什么企業要用集群?

? a.7*24服務,需要多臺機器同時工作,互為實時備份。

? b.高并發訪問,需要多臺服務器同時提供服務。

3.集群特點

? a.數據量大、用戶多

? b.7*24持續服務

? c.高并發

? d.用戶分布廣泛,網絡情況復雜

4.形象描述集群

基礎優化:

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

[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源信息

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

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.基礎優化操作項:提升命令行操作安全性(可選優化)

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

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容