1、什么是集群袱院?
簡單地說,集群就是一堆機器做同一件事瞭稼,
例如:www.jd.com提供賣東西服務這就是一件事忽洛,可能是幾千臺服務器,在背后運轉支撐這個網(wǎng)站环肘。
? ? ? www.baidu.com看著就是一個搜索框欲虚,背后可能是上萬臺服務器。
2悔雹、為什么企業(yè)要用集群复哆?
? a.7*24服務欣喧,需要多臺機器同時工作,互為實時備份梯找。
? b.高并發(fā)訪問续誉,需要多臺服務器同時提供服務。
3.集群特點
? a.數(shù)據(jù)量大初肉、用戶多
? b.7*24持續(xù)服務
? c.高并發(fā)
? d.用戶分布廣泛酷鸦,網(wǎng)絡情況復雜
4.形象描述集群
基礎優(yōu)化:
1、規(guī)范目錄
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
3.基礎優(yōu)化操作項:更新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妄壶、安全優(yōu)化
# 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
getenforce? 查看selinux
# 2、關閉firewalld防火墻服務
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld #檢查
5.基礎優(yōu)化操作項:設置普通用戶提權操作(可選優(yōu)化)
# 提權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.設置系統(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.基礎優(yōu)化操作項:時間同步設置
# 設置系統(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.基礎優(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
9.基礎優(yōu)化操作項:加大文件描述符
# 實例演示:加大文件描述
echo '*? ? ? ? ? ? ? -? ? ? nofile? ? ? ? ? 65535 ' >>/etc/security/limits.conf
tail -1 /etc/security/limits.conf
ulimit -SHn? 65535
ulimit -n #<==命令方式查看配置結果
10.基礎優(yōu)化操作項:優(yōu)化系統(tǒng)內核
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.基礎優(yōu)化操作項:安裝系統(tǒng)常用軟件
CentOS6和CentOS7都要安裝的企業(yè)運維常用基礎工具包
yum install tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs -y
CentOS7要安裝的企業(yè)運維常用基礎工具包
yum install psmisc net-tools bash-completion vim-enhanced -y
12.基礎優(yōu)化操作項:優(yōu)化SSH遠程連接效率
禁止root遠程連接
修改默認22端口伊磺,改為52113
監(jiān)聽內網(wǎng)服務器IP
練習不動盛正。
13.擴展優(yōu)化操作項-修改yum.conf文件配置信息
保留yum安裝的軟件包
將/etc/yum.conf中的keepcache=0改為keepcache=1,為日后一鍵安裝網(wǎng)站集群留好rpm及依賴工具包屑埋。
14. 鎖定關鍵系統(tǒng)文件如/etc/passwd豪筝、/etc/shadow、/etc/group摘能、/etc/gshadow续崖、/etc/inittab,
處理以上內容后把chattr团搞、lsattr改名為oldboy严望,轉移走,這樣就安全多了逻恐。
15. 清空/etc/issue像吻、/etc/issue.net,去除系統(tǒng)及內核版本登錄前的屏幕顯示梢莽。
16. 清除多余的系統(tǒng)虛擬用戶賬號萧豆。
17. 為grub引導菜單加密碼(自學)。
18. 禁止主機被ping(內核參數(shù))昏名。
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
企業(yè)生產(chǎn)最小化原則:
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
hostnamectl set-hostname xiao7
systemctl restart network
systemctl start? x? 啟動服務
systemctl stop? x? 停止服務
systemctl enable x? 開啟開機自啟動服務
systemctl disable x? 關閉開機自啟動服務
systemctl status x? 查看服務狀態(tài)
企業(yè)生產(chǎn)最小化原則:
1、安裝軟件包最小化俱济。
2嘶是、用戶權限最小化visudo。
3蛛碌、目錄文件權限最小化聂喇。
4、自啟動服務最小化蔚携。
5希太、服務運行用戶最小化。