1、什么是集群囊嘉?
簡(jiǎn)單地說,集群就是一堆機(jī)器做同一件事革为,
例如:www.jd.com提供賣東西服務(wù)這就是一件事扭粱,可能是幾千臺(tái)服務(wù)器,在背后運(yùn)轉(zhuǎn)支撐這個(gè)網(wǎng)站震檩。
www.baidu.com看著就是一個(gè)搜索框琢蛤,背后可能是上萬臺(tái)服務(wù)器。
2抛虏、為什么企業(yè)要用集群博其?
a.7*24服務(wù),需要多臺(tái)機(jī)器同時(shí)工作迂猴,互為實(shí)時(shí)備份贺奠。
b.高并發(fā)訪問,需要多臺(tái)服務(wù)器同時(shí)提供服務(wù)错忱。
3.集群特點(diǎn)
a.數(shù)據(jù)量大儡率、用戶多
b.7*24持續(xù)服務(wù)
c.高并發(fā)
d.用戶分布廣泛挂据,網(wǎng)絡(luò)情況復(fù)雜
4.形象描述集群
優(yōu)化linux之顯示優(yōu)化
vim /etc/bashrc 注釋41行 添加下面
[ " " ] && PS1="[[\e[34;1m]\u@[\e[0m][\e[32;1m]\H[\e[0m] [\e[31;1m]\w[\e[0m]]\$ "
生成的預(yù)覽有問題這行 符號(hào)給我整成換行了
基礎(chǔ)優(yōu)化:
1、規(guī)范目錄
mkdir -p /server/tools
mkdir -p /server/scripts
2儿普、配置所有主機(jī)域名解析
cat >/etc/hosts<<EOF
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.2.5 lb01
172.16.2.6 lb02
172.16.2.7 web01
172.16.2.8 web02
172.16.2.9 web03
172.16.2.31 nfs01
172.16.2.41 backup
172.16.2.51 db01 db01.etiantian.org
172.16.2.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.基礎(chǔ)優(yōu)化操作項(xiàng):# 1. 優(yōu)化linux之更新yum源
更改Yum源
(1) 創(chuàng)建備份目錄
(2) mkdir -p /etc/yum.repos.d/back
1.1 備份所有默認(rèn)配置文件
(3) \mv /etc/yum.repos.d/*repo /etc/yum.repos.d/back
1.2 更新yum源默認(rèn)配置文件
1.3 獲取yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
2.2 添加yum緩存
yum makecache
備份yum源
\cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/back
1.4 用yum安裝軟件
1.5 yum install -y wget 用yum安裝一個(gè)下載的工具
1.6 安裝下列軟件是一條指令
yum install wget net-tools vim tree htop iftop \
iotop lrzsz sl unzip telnet nmap nc psmisc \
dos2unix bash-completion nethogs glances -y
sdlocke
更新yum源信息
第一個(gè):就近使用yum源地址崎逃,安裝軟件更快。
curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
第二個(gè):安裝RHEL/CentOS官方源不提供的軟件包
curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
4眉孩、安全優(yōu)化
1个绍、關(guān)閉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、關(guān)閉firewalld防火墻服務(wù)
systemctl stop firewalld
systemctl disable firewalld
5.基礎(chǔ)優(yōu)化操作項(xiàng):設(shè)置普通用戶提權(quán)操作(可選優(yōu)化)
提權(quán)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.設(shè)置系統(tǒng)中文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.基礎(chǔ)優(yōu)化操作項(xiàng):時(shí)間同步設(shè)置
設(shè)置系統(tǒng)時(shí)間同步
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.基礎(chǔ)優(yōu)化操作項(xiàng):提升命令行操作安全性(可選優(yōu)化)
提升命令行安全(可選配置)
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.基礎(chǔ)優(yōu)化操作項(xiàng):加大文件描述符
實(shí)例演示:加大文件描述
echo '* - nofile 65535 ' >>/etc/security/limits.conf
tail -1 /etc/security/limits.conf
ulimit -SHn 65535
ulimit -n #<==命令方式查看配置結(jié)果
10.基礎(chǔ)優(yōu)化操作項(xiàng):優(yōu)化系統(tǒng)內(nèi)核
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
以下參數(shù)是對(duì)iptables防火墻的優(yōu)化浪汪,防火墻不開會(huì)提示巴柿,可以忽略不理。
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.基礎(chǔ)優(yōu)化操作項(xiàng):安裝系統(tǒng)常用軟件
CentOS6和CentOS7都要安裝的企業(yè)運(yùn)維常用基礎(chǔ)工具包
yum install tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs -y
CentOS7要安裝的企業(yè)運(yùn)維常用基礎(chǔ)工具包
yum install psmisc net-tools bash-completion vim-enhanced -y
獨(dú)行快死遭,眾行遠(yuǎn)广恢。——老男孩
12.基礎(chǔ)優(yōu)化操作項(xiàng):優(yōu)化SSH遠(yuǎn)程連接效率
禁止root遠(yuǎn)程連接
修改默認(rèn)22端口呀潭,改為52113
監(jiān)聽內(nèi)網(wǎng)服務(wù)器IP
練習(xí)不動(dòng)钉迷。
13.擴(kuò)展優(yōu)化操作項(xiàng)-修改yum.conf文件配置信息
保留yum安裝的軟件包
將/etc/yum.conf中的keepcache=0改為keepcache=1,為日后一鍵安裝網(wǎng)站集群留好rpm及依賴工具包钠署。
14. 鎖定關(guān)鍵系統(tǒng)文件如/etc/passwd糠聪、/etc/shadow、/etc/group谐鼎、/etc/gshadow舰蟆、/etc/inittab,
處理以上內(nèi)容后把chattr狸棍、lsattr改名為oldboy身害,轉(zhuǎn)移走,這樣就安全多了隔缀。
15. 清空/etc/issue、/etc/issue.net傍菇,去除系統(tǒng)及內(nèi)核版本登錄前的屏幕顯示猾瘸。
16. 清除多余的系統(tǒng)虛擬用戶賬號(hào)。
17. 為grub引導(dǎo)菜單加密碼(自學(xué))丢习。
18. 禁止主機(jī)被ping(內(nèi)核參數(shù))牵触。
19. 打補(bǔ)丁并升級(jí)有已知漏洞的軟件。
yum update
20.精簡(jiǎn)開機(jī)自啟動(dòng)服務(wù)
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
保留服務(wù):
sshd|crond|sysstat|rsyslog|NetworkManager|irqbalance
企業(yè)生產(chǎn)最小化原則:
1咐低、安裝軟件包最小化揽思。
2、用戶權(quán)限最小化见擦。
3钉汗、目錄文件權(quán)限最小化羹令。
4、自啟動(dòng)服務(wù)最小化损痰。
5福侈、服務(wù)運(yùn)行用戶最小化。
[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
克隆三臺(tái):
B1-web服務(wù)器1 10.0.0.7/24 172.16.1.7/16 web01
C1-NFS存儲(chǔ)服務(wù)器 10.0.0.31/24 172.16.1.31/16 nfs01
C2-rsync備份服務(wù)器 10.0.0.41/24 172.16.1.41/16 backup