2019-04-12 Day31 中小規(guī)模集群架構(gòu)

Day31

作者:方維超

歸檔:課堂筆記

時間:2019/4/12

老男孩教育教學(xué)核心思想6重:重目標(biāo)、重思路、重方法、重實踐、重習(xí)慣、重總結(jié)

學(xué)無止境,老男孩教育成就你人生的起點(diǎn)!

一、中小規(guī)模集群架構(gòu)

1、什么是集群

簡單地說就是一堆機(jī)器做同一件事。

例如:
www.jd.com提供賣東西服務(wù)這就是一件事,可能是幾千臺服務(wù)器在背后運(yùn)轉(zhuǎn)支撐這個網(wǎng)站運(yùn)行。
www.bai.com看著就是一個搜索框,背后可能就是上萬臺服務(wù)器在運(yùn)行。

2、為什么企業(yè)要用集群

a. 讓業(yè)務(wù)7×24小時服務(wù),需要多臺機(jī)器同時工作,能夠互為備份,并且是實時備份。
b.高并發(fā)的訪問,需要多臺服務(wù)器同時提供服務(wù)。

3、集群的特點(diǎn)

a. 數(shù)據(jù)量大、用戶多(獨(dú)行快、眾行遠(yuǎn))
b.持續(xù)服務(wù)7×24
c. 高并發(fā)、大流量
d.用戶分布廣泛、網(wǎng)絡(luò)情況復(fù)雜

4、形象描述集群

image.png
image.png

自己手動畫圖 visio圖庫工具

手把手帶你快速做【最專業(yè)】的項目文檔實戰(zhàn) http://edu.51cto.com/course/course_id-4992.html
手把手帶你快速畫【最專業(yè)】的邏輯架構(gòu)圖實戰(zhàn) http://edu.51cto.com/course/course_id-4991.html

image.png
image.png
image.png
image.png

搭載順序

image.png
image.png
image.png

啟動模板機(jī)時報錯:


image.png

解決辦法:
https://blog.csdn.net/Angelloverbest/article/details/77825105

給虛擬機(jī)添加一塊網(wǎng)卡 命名eth1


image.png
image.png
image.png
image.png
image.png

改完后輸入重啟網(wǎng)卡命令 systemctl restart network或者命令直接復(fù)制eth0修改

基礎(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.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、基礎(chǔ)優(yōu)化操作項:更新yum源


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、安全優(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)閉防火墻
systemctl stop firewalld #<===關(guān)閉firewalld防火墻
systemctl disable firewalld #<===禁止firewalld防火墻開機(jī)自啟動
systemctl status firewalld #<===查看關(guān)閉狀態(tài)

image.png

5、基礎(chǔ)優(yōu)化操作:設(shè)置普通用戶提權(quán)操作
對于系統(tǒng)運(yùn)維工作中,一些普通用戶需要分擔(dān)超級管理員root的工作壓力,因此需要將相應(yīng)的root權(quán)限進(jìn)行下放,所以要將相應(yīng)普通用戶進(jìn)行提權(quán)。

提權(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.基礎(chǔ)優(yōu)化操作項:設(shè)置系統(tǒng)字符集

設(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)化操作:設(shè)置時間同步


image.png

設(shè)置系統(tǒng)時間同步

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

history 查詢操作記錄
-c 清除所有
-d指定數(shù)字刪除操作記錄

9、基礎(chǔ)優(yōu)化操作項:加大文件描述符
一般情況下,一臺服務(wù)器被訪問時,會啟動很多的程序,而啟動每一個程序都會占用文件服務(wù)器描述符的大小,因此有時需要加大文件描述符的大小,從而不影響到程序的啟動。

image.png

實例演示:加大文件描述

echo '* - nofile 65535 ' >>/etc/security/limits.conf
tail -1 /etc/security/limits.conf
ulimit -SHn 65535
ulimit -n #<==命令方式查看配置結(jié)果

10.基礎(chǔ)優(yōu)化操作項:優(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ù)是對iptables防火墻的優(yōu)化,防火墻不開會提示,可以忽略不理。 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)化操作項:安裝系統(tǒng)常用軟件*

image.png

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

12.基礎(chǔ)優(yōu)化操作項:優(yōu)化SSH遠(yuǎn)程連接效率

禁止root遠(yuǎn)程連接
修改默認(rèn)22端口,改為52113
監(jiān)聽內(nèi)網(wǎng)服務(wù)器IP

練習(xí)中先不要動#

13.擴(kuò)展優(yōu)化操作項-修改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)虛擬用戶賬號。

17.為grub引導(dǎo)菜單加密碼(自學(xué))。

18.禁止主機(jī)被ping(內(nèi)核參數(shù))。

19.打補(bǔ)丁并升級有已知漏洞的軟件。

yum update

20、精簡開機(jī)自啟動服務(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)限最小化 visudo

3、目錄文件權(quán)限最小化

4、自啟動服務(wù)最小化

5、服務(wù)運(yùn)行用戶最小化

查看服務(wù)端口
[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

克隆三臺主機(jī)

B1-web服務(wù)器1 10.0.0.7/24 172.16.1.7/16 web01
C1-NFS存儲服務(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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容