>本課重點:互聯網架構師之路---服務器集群搭建、管理、與快速部署。
負載均衡: 一臺服務承受的業務壓力過大時,需要使用多臺服務器來一起協作工作。
1.如何做好服務器的安全管理
2.項目團隊成員應該具有的服務器權限
3.分別部署測試環境與產品環境
4.自動化部署
架設小規模集群,以4臺Ubuntu虛擬機為例:
搭設這種小規模集群可以隨時擴展服務器數量,比如說現在服務器負載很大可以隨時把4臺擴成8臺,可以很快的完成操作。
做大規模集群通常的情況下會專門開一臺服務器來做DNS解析,這樣的服務器叫做DNS服務器。因搭建小規模服務器集群單獨拿出一臺服務器來做DNS解析有些浪費資源,所以可以選擇另外一種方式。不用DNS解析可以設置服務器中的
hosts
文件。第一步先給每一臺服務器起名字:
比如用一臺專門來做管理服務器起名叫MS,一臺是數據庫服務器起名叫DB1,有一臺做測試服務器起名叫T1,最后一臺就是產品服務器起名叫P1。
修改服務器主機名Ubuntu系統中的文件是:
/etc/hostname
修改完成之后重啟一下服務器,每臺都改完之后進行第二步。
第二步配置每臺服務器的hosts文件中的ip:
先用ifconfig
命令分別查出每臺服務器的ip地址,然后記錄下來。
用編輯器打開:/etc/hosts
先將自己的主機名更改成剛才新起的名字,再將其它幾臺服務的ip地址和起好的主機名對應錄入到這里。
每配置好一臺要用ping 主機名
命令來測試一遍其它服務器,來判斷是否識別了其它服務器。
都配置好了之后可以使用scp
命令直接進行服務器之間的文件傳輸。
例如:
scp aaa zhangsan@T1:/tmp/
這樣就能將當前服務的這個aaa文件推送到T1服務器上的/tmp/目錄中去。
第三步配置服務器成員安全
因為產品服務器的ip是暴露在外的,所以我們將產品服務器、測試服務器、數據庫服務器這些與產品運營相關的服務的使用密碼登錄選項全部關掉。但是關掉之后我們就無法再登錄服務器了,我們要怎樣管理服務器呢?因為我們知道Linux使用ssh服務登錄有兩種模式,一種是傳統的密碼登錄,另一種就是秘鑰登錄。就是如果設置成公私鑰登錄方式的,就是只有拿到秘鑰才能登錄服務器,即使別人拿到賬號密碼也無法進行暴力破解。
那么首先要給每臺服務要安裝ssh服務,這樣我們用遠程客戶端工具就能連接服務器進行操作了。讓這4臺服務器中只有MS服務器可以通過遠程登錄,其它服務器只能在內網集群內登錄。那要配置一個什么環境呢?
讓我們的管理員、運維工程師、技術總監、架構師只有一個服務器可以通過公私登錄,也就是在服務器集群以外的地方只有MS這臺服務器可以被登錄,P1、T1、DB1這些服務器只能通過內網集群內登錄。
先創建秘鑰命令為:
ssh-keygen -t rsa
創建完之后家目錄下會有一個
.ssh
的隱藏目錄生成,這個文目錄下有兩個文件:id_rsa
是私鑰、id_rsa.pub
是公鑰。
生成之后我們將公鑰分別上傳到P1、T1、DB1服務器上,并創建一個.ssh的目錄進去。然后將用以下命令:
cat ../id_rsa.pub >> authorized_keys
將公鑰重定向到這里。然后重啟服務器,這樣就能用MS這臺服務器登錄其它服務器了。命令如下:
ssh zhangsan@DB1
就能登錄到DB1這臺服務器上,使用
exit
命令可以退出。這樣就實現了只能用SM這臺服務器來管理其它服務器了。
下面最后一步,就是將其它所有服務的密碼都關閉,如果有必要的話還可以設置一下防火墻規則為只有局域網ip可以登錄。這樣做的話就只有SM這臺服務可以登錄其它服務器了。
關閉密碼登錄選項:
/etc/ssh/sshd_config文件中PasswordAuthentication選項
改成NO之后打開前面注釋開啟選項。這樣就將服務的密碼登錄選項關閉了。
配置完成之后給MS服務器做個鏡像備份,因為MS服務器要是壞了就無法登錄管理其它服務器了。
這樣小規模服務器集群的基本安全配置就配置完成了。