阿里云運維方案
1.1現(xiàn)有環(huán)境介紹
XX公司現(xiàn)有10人以上開發(fā)團隊(開發(fā)+測試),現(xiàn)有Nginx服務(wù)器1臺,Web服務(wù)器1臺,Mongodb服務(wù)器2臺(主從)+Mysql 5.6版本1臺,Elasticsearch+2臺(主從)+MQ(1臺)+任務(wù)調(diào)度服務(wù)器1臺,域名用的新網(wǎng)解析;已跟技術(shù)負責(zé)人做了詳細溝通,現(xiàn)有資源已無法滿足當前業(yè)務(wù),現(xiàn)有架構(gòu)缺點表現(xiàn)如下:
1.(開發(fā)+測試環(huán)境)不在本地,開發(fā)人員上傳數(shù)據(jù)慢;
2.網(wǎng)站經(jīng)常受攻擊,數(shù)據(jù)經(jīng)常被人爬蟲;(沒有防范);
3.缺乏有效的監(jiān)控手段,出現(xiàn)問題無法及時報警,及時處理問題;
4.所有服務(wù)都是單點,一臺服務(wù)器故障,所有服務(wù)都中斷;
5.網(wǎng)絡(luò)特別慢(只能等待)+tomcat訪問丟失,日志無法分析;
6.數(shù)據(jù)安全無法保證;權(quán)限無法分類;
XX公司架構(gòu)設(shè)計解決方案
1.2系統(tǒng)架構(gòu):
分析目前的情況,需要專業(yè)的運維團隊來服務(wù),需要7*24小時不間斷的給客戶提供服務(wù),在這樣的基礎(chǔ)上,需要對現(xiàn)有架構(gòu)進行升級優(yōu)化,用阿里云的整體解決方案,此方案優(yōu)勢:阿里云結(jié)合云計算彈性計算的特點以及自己在互聯(lián)網(wǎng)上的成功經(jīng)驗,規(guī)劃了一整套完善的軟件負載均衡解決方案,能更好的滿足彈性計算平臺負載均衡的需求,成功的解決了硬件負載均衡在達到性能上限后擴展性受限的問題。只需要訂購軟件的負載均衡設(shè)備,就可以輕松應(yīng)對網(wǎng)絡(luò)流量和數(shù)據(jù)量不斷增長的場景。而且可以同時享受阿里云的安全解決方案,提供防DDOS攻擊能力,不需要再購買入侵檢測以及防火墻產(chǎn)品。系統(tǒng)架構(gòu)圖設(shè)計如下:
更新的后架構(gòu),此方案的好處低成本,高性能,具體體現(xiàn)在如下幾個方面:
低成本:使用彈性負載均衡,成本很低,與傳統(tǒng)硬件負載均衡設(shè)備的高投入相比成本能下降60%,
高可擴展:不論是ECS主機還是SLB負載均衡,企業(yè)均可以根據(jù)負載進行彈性擴展,在不中斷業(yè)務(wù)系統(tǒng),隨時擴展新的資源。
安全性高:購買SLB就可以享受阿里云的安全解決方案,提供防DDOS攻擊能力,不需要再購買入侵檢測以及防火墻產(chǎn)品。
穩(wěn)定性高:SLB采用的是全冗余設(shè)計,無單點,可用性高達99.99%,
展昭網(wǎng)絡(luò)技術(shù)有限的數(shù)據(jù)庫系統(tǒng)使用MySQL,版本5.7,目前使用的架構(gòu)為MySQL單點,需要改成主從復(fù)制(Master-Slave),即Master-Slave架構(gòu);
優(yōu)化監(jiān)控,目前的監(jiān)控報警機制,按照人員劃分為二部分:
第一部分是運維人員,內(nèi)部的運維人員根據(jù)所負責(zé)的系統(tǒng)劃分,接收相應(yīng)的應(yīng)用及系統(tǒng)報警信息
第二部分是項目及應(yīng)用的負責(zé)人及相關(guān)責(zé)任人,僅僅接收所在項目組的應(yīng)用報警信息
按照告警事件劃分為二級:
第一級是普通報警,主要是各個應(yīng)用和項目組的應(yīng)用報警,影響范圍限制在該項目組內(nèi)部
第二級是系統(tǒng)報警,主要是服務(wù)器系統(tǒng)報警信息,以及內(nèi)部虛擬機的報警信息,影響范圍不限于一個項目組
報警方式主要有短信,郵件,微信方式。
報警的處理方式,根據(jù)事件等級劃分:
第一級的事件報警信息,相關(guān)責(zé)任人接收信息之后,10分鐘內(nèi)必須做出處理,根據(jù)技術(shù)難度,在30-60分鐘內(nèi)必須處理完畢
第二級的事件報警,運維人員在收到范圍內(nèi)的報警信息后,5分鐘必須做出響應(yīng),根據(jù)處理的技術(shù)復(fù)雜度,在10-60分鐘內(nèi)處理完畢
告警記錄的保存:
目前系統(tǒng)中的報警信息主要是通過zabbix監(jiān)控平臺發(fā)布,根據(jù)平臺的設(shè)置,對應(yīng)的監(jiān)控項和服務(wù)器的報警信息會發(fā)送給對應(yīng)的人員,監(jiān)控的日志記錄在該軟件平臺內(nèi)部可查詢,可分析。
建議優(yōu)化開發(fā)環(huán)境,采購一臺塔式dell服務(wù)器做虛擬化,
T430(4盤位3.5寸)冷電冷盤E5-2603v4 64G 1T SAS*2 DVD H330單電450W
建議系統(tǒng)安全加固,對CentOS 6.7跟Centos7.3安全加固及性能優(yōu)化
我們可以通過調(diào)整系統(tǒng)參數(shù)來提高系統(tǒng)內(nèi)存、CPU、內(nèi)核資源的占用,通過禁用不必要的服務(wù)、端口,來提高系統(tǒng)的安全性,更好的發(fā)揮系統(tǒng)的可用性。通過自己對Linux了解,對系統(tǒng)調(diào)優(yōu)做了如下小結(jié)。
經(jīng)常玩Linux系統(tǒng)的朋友多多少少也知道些系統(tǒng)參數(shù)優(yōu)化和怎樣增強系統(tǒng)安全性,系統(tǒng)默認的一些參數(shù)都是比較保守的,所以我們可以通過調(diào)整系統(tǒng)參數(shù)來提高系統(tǒng)內(nèi)存、CPU、內(nèi)核資源的占用,通過禁用不必要的服務(wù)、端口,來提高系統(tǒng)的安全性,更好的發(fā)揮系統(tǒng)的可用性。通過自己對Linux了解,對系統(tǒng)調(diào)優(yōu)做了如下小結(jié):
操作系統(tǒng):CentOS 6.8_x64最小化安裝
1、主機名設(shè)置
[root localhost~]#vi/etc/sysconfig/network
HOSTNAME=test.com
[root localhost~]#hostname test.com#臨時生效
2、關(guān)閉SELinux
[root localhost~]#vi/etc/selinux/config
SELINUX=disabled
[root localhost~]#setenforce#臨時生效
[root localhost~]#getenforce#查看selinux狀態(tài)
3、清空防火墻并設(shè)置規(guī)則
[root localhost~]#iptables-F#清楚防火墻規(guī)則
[root localhost~]#iptables-L#查看防火墻規(guī)則
[root localhost~]#iptables-A INPUT-p tcp--dport 80-j ACCEPT
[root localhost~]#iptables-A INPUT-p tcp--dport 22-j ACCEPT
[root localhost~]#iptables-A INPUT-p tcp--dport 53-j ACCEPT
[root localhost~]#iptables-A INPUT-p udp--dport 53-j ACCEPT
[root localhost~]#iptables-A INPUT-p udp--dport 123-j ACCEPT
[root localhost~]#iptables-A INPUT-p icmp-j ACCEPT
[root localhost~]#iptables-P INPUT DROP
[root localhost~]#/etc/init.d/iptables save
#根據(jù)需求開啟相應(yīng)端口
4、添加普通用戶并進行sudo授權(quán)管理
[root localhost~]#useradd user
[root localhost~]#echo"123456"|passwd--stdin user#設(shè)置密碼
[root localhost~]#vi/etc/sudoers#或visudo打開,添加user用戶所有權(quán)限
root ALL=(ALL)ALL
user ALL=(ALL)ALL
5、禁用root遠程登錄
[root localhost~]#vi/etc/ssh/sshd_config
PermitRootLoginno
PermitEmptyPasswords no#禁止空密碼登錄
UseDNSno#關(guān)閉DNS查詢
6、關(guān)閉不必要開機自啟動服務(wù)
7、刪除不必要的系統(tǒng)用戶
8、關(guān)閉重啟ctl-alt-delete組合鍵
[root localhost~]#vi/etc/init/control-alt-delete.conf
#exec/sbin/shutdown-r now"Control-Alt-Deletepressed"#注釋掉
9、調(diào)整文件描述符大小
[root localhost~]#ulimit–n#默認是1024
1024
[root localhost~]#echo"ulimit-SHn 102400">>/etc/rc.local#設(shè)置開機自動生效
10、去除系統(tǒng)相關(guān)信息
[root localhost~]#echo"Welcome to Server">/etc/issue
[root localhost~]#echo"Welcome to Server">/etc/redhat-release
11、修改history記錄
[root localhost~]#vi/etc/profile#修改記錄10個
HISTSIZE=10
12、同步系統(tǒng)時間
[root localhost~]#cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime#設(shè)置Shanghai時區(qū)
[root localhost~]#ntpdate cn.pool.ntp.org;hwclock–w#同步時間并寫入blos硬件時間
[root localhost~]#crontab–e#設(shè)置任務(wù)計劃每天零點同步一次
0****/usr/sbin/ntpdate cn.pool.ntp.org;hwclock-w
13、內(nèi)核參數(shù)優(yōu)化
[root localhost~]#vi/etc/sysctl.conf#末尾添加如下參數(shù)
net.ipv4.tcp_syncookies=1#1是開啟SYN Cookies,當出現(xiàn)SYN等待隊列溢出時,啟用Cookies來處,理,可防范少量SYN攻擊,默認是0關(guān)閉
net.ipv4.tcp_tw_reuse=1#1是開啟重用,允許講TIME_AIT sockets重新用于新的TCP連接,默認是0關(guān)閉
net.ipv4.tcp_tw_recycle=1#TCP失敗重傳次數(shù),默認是15,減少次數(shù)可釋放內(nèi)核資源
net.ipv4.ip_local_port_range=4096 65000#應(yīng)用程序可使用的端口范圍
net.ipv4.tcp_max_tw_buckets=5000#系統(tǒng)同時保持TIME_WAIT套接字的最大數(shù)量,如果超出這個數(shù)字,TIME_WATI套接字將立刻被清除并打印警告信息,默認180000
net.ipv4.tcp_max_syn_backlog=4096#進入SYN寶的最大請求隊列,默認是1024
net.core.netdev_max_backlog=10240#允許送到隊列的數(shù)據(jù)包最大設(shè)備隊列,默認300
net.core.somaxconn=2048#listen掛起請求的最大數(shù)量,默認128
net.core.wmem_default=8388608#發(fā)送緩存區(qū)大小的缺省值
net.core.rmem_default=8388608#接受套接字緩沖區(qū)大小的缺省值(以字節(jié)為單位)
net.core.rmem_max=16777216#最大接收緩沖區(qū)大小的最大值
net.core.wmem_max=16777216#發(fā)送緩沖區(qū)大小的最大值
net.ipv4.tcp_synack_retries=2#SYN-ACK握手狀態(tài)重試次數(shù),默認5
net.ipv4.tcp_syn_retries=2#向外SYN握手重試次數(shù),默認4
net.ipv4.tcp_tw_recycle=1#開啟TCP連接中TIME_WAIT sockets的快速回收,默認是0關(guān)閉
net.ipv4.tcp_max_orphans=3276800#系統(tǒng)中最多有多少個TCP套接字不被關(guān)聯(lián)到任何一個用戶文件句柄上,如果超出這個數(shù)字,孤兒連接將立即復(fù)位并打印警告信息
net.ipv4.tcp_mem=94500000 915000000 927000000
net.ipv4.tcp_mem[0]:低于此值,TCP沒有內(nèi)存壓力;
net.ipv4.tcp_mem[1]:在此值下,進入內(nèi)存壓力階段;
net.ipv4.tcp_mem[2]:高于此值,TCP拒絕分配socket。內(nèi)存單位是頁,可根據(jù)物理內(nèi)存大小進行
14./etc/ssh/sshd_config通過編輯文件可以修改sshd服務(wù)的相關(guān)配置,以下新增端口22223,
1.3高可用設(shè)計跟補丁修補-備份策略
1.業(yè)務(wù)系統(tǒng)采用雙服務(wù)器進行冗余設(shè)計,數(shù)據(jù)庫服務(wù)器采用雙服務(wù)器進行冗余設(shè)計,防止單點故障造成網(wǎng)絡(luò)服務(wù)中斷。
2.根據(jù),Centos官方社區(qū)和Linux社區(qū)出現(xiàn)的漏洞進行及時手動補丁修復(fù)。
3.建立主機系統(tǒng)軟件版本維護機制,隨時根據(jù)系統(tǒng)廠商發(fā)布的最新系統(tǒng)補丁進行對照,檢查當前使用的系統(tǒng)版本,并對補丁進行升級。
4.建立主機系統(tǒng)軟件備份和恢復(fù)機制,對主機系統(tǒng)的軟件和數(shù)據(jù)進行了定時備份任務(wù)。當出現(xiàn)災(zāi)難性時,可以對系統(tǒng)軟件和數(shù)據(jù)進行快速恢復(fù)。
業(yè)務(wù)系統(tǒng)中的應(yīng)用服務(wù)器采用負載均衡技術(shù)對外提供訪問,數(shù)據(jù)庫服務(wù)器也實現(xiàn)負載均衡,對應(yīng)用提供數(shù)據(jù)訪問,避免了所有的單點故障問題,而且可以隨時擴容服務(wù)器。
(1)目前系統(tǒng)中的數(shù)據(jù)備份分為兩級
第一級是每天的本地服務(wù)器備份,保留一周的數(shù)據(jù)
第二級是集中備份,有大容量存儲空間的文件服務(wù)器負責(zé)存儲所有的數(shù)據(jù)備份,保留周期一年。
系統(tǒng)中的系統(tǒng)數(shù)據(jù)備份,包括程序目錄備份,有單獨的目錄存放,以區(qū)別于數(shù)據(jù)庫備份。
(2)業(yè)務(wù)系統(tǒng)的異地備份機制,以及災(zāi)難恢復(fù)計劃。
異地備份容災(zāi)的考慮:系統(tǒng)中的所有數(shù)據(jù)備份,和程序及日志備份,均有異地存儲。
目前的系統(tǒng)運維中有災(zāi)難恢復(fù)的計劃。系統(tǒng)中目前有腳本結(jié)合人工實現(xiàn),腳本部分負責(zé)恢復(fù)數(shù)據(jù)及程序,人工修復(fù)部分負責(zé)搭建環(huán)境,每季度進行一次災(zāi)難恢復(fù)演練,確保數(shù)據(jù)及程序的恢復(fù)完整性。
(3)建立日常數(shù)據(jù)備份管理制度,和災(zāi)備演練制度。
系統(tǒng)中的數(shù)據(jù)備份,備份介質(zhì)的保管有專人負責(zé)。
介質(zhì)的安全性在整個保密體系規(guī)劃中。
(4)根據(jù)目前建立的災(zāi)難恢復(fù)計劃,系統(tǒng)中目前的災(zāi)難恢復(fù)演練為每季度進行一次,系統(tǒng)運維主要負責(zé)人定期每個季度對運維人員進行培訓(xùn)。