1)理解DNS系統的作用
互聯網的指路人,提供信息查詢“網站域名 --》IP地址”
知道一個www.baidu.com的IP地址
不等於
能訪問 www.baidu.com 的網頁
FQDN,完全合格的域名 ==》互聯網的一個服務器的DNS地址
www.pku.edu.cn
www 站點名(對應一臺服務器)
pku.edu.cn 區域名(對應一個公司/單位/機構/組織)
2)學會搭建一臺權威DNS服務器
爲 tedu.cn 區域提供域名解析(意思:當有其他客戶機來問你這臺DNS服務器 “以 tedu.cn 結尾的那些域名的IP地址是多少”時,你這臺DNS應該能提供正確的答案)
svr7.tedu.cn 的 IP地址是 192.168.4.7
pc207.tedu.cn 的 IP地址是 192.168.4.207
www.tedu.cn 的 IP地址是 192.168.4.100
配置關鍵:
vim /etc/named.conf 【負責的區域、地址庫文件在哪】
options {
directory "存放地址庫文件的默認目錄";
};
zone "區域1名" {
type master;
file "地址庫1文件名";
};
zone "區域2名" {
type master;
file "地址庫2文件名";
};
vim /.../地址庫文件名 【XX站點的IP地址是多少?】
文件頭(參考模板文named.localhost件複製)
@ NS 本DNS服務器的FQDN.
站點1名 A 站點1的IP地址
站點2名 A 站點2的IP地址
.. ..
3)學會使用DNS服務器
爲Linux主機指定默認使用哪一臺DNS服務器:
nmcli con mod "連接名" ipv4.dns DNS服務器的IP地址
nmcli con mod up "連接名" 【永久】
vim /etc/resolv.conf 【臨時】
nameserver DNS服務器的IP地址
測試DNS服務器時可以手動臨時指定使用哪一臺DNS服務器:
host XX域名 DNS服務器的IP地址
4)學會搭建一臺緩存DNS服務器
前提條件:
1)客戶機能訪問到緩存DNS
2)緩存DNS服務器能夠正常訪問其他的可用的公共DNS
配置關鍵:
vim /etc/named.conf
options {
forwarders { 公共DNS的IP地址; };
};
DNS的子域授權 ——
告訴上一級DNS服務器:
子域叫什麼名,負責子域內站點解析的下一級DNS服務器的FQDN.
下一級DNS服務器的FQDN. 的IP地址是多少
對於上一級DNS服務器來說,
如果 子域授權+ 願意爲客戶機查詢非本機管理的域名 ==》遞歸(緩存DNS服務器)
如果 子域授權+ 不願意爲客戶機查詢非本機管理的域名 ==》迭代(有下級子域權威DNS)
recursion yes|no;
DNS地址庫的特殊應用 ——
DNS輪詢,一個域名解析爲多個IP地址
vim 地址庫文件
.. ..
www A IP地址1
www A IP地址2
www A IP地址3
泛域名,多個未知域名解析爲同一個IP地址
vim 地址庫文件
.. ..
- A IP地址
練習:擴展DNS服務器 svr7的功能
除了負責 tedu.cn 區域以外,
還能夠爲教學環境的 example.com 提供域名解析服務
實驗目標(提供解析結果):
cla***oom.example.com ==》172.25.254.254
content.example.com ==》172.25.254.254
server0.example.com ==》172.25.0.11
www0.example.com ==》172.25.0.11
webapp0.example.com ==》172.25.0.11
desktop0.example.com ==》172.25.0.10
smtp0.example.com ==》172.25.0.10
在服務器svr7上:
1)調整主配置
[root@svr7 ~]# vim /etc/named.conf
options {
directory "/var/named";
};
zone "tedu.cn" {
type master;
file "tedu.cn.zone";
};
zone "example.com" {
type master;
file "example.com.zone";
};
2)建地址庫
[root@svr7 ~]# cd /var/named/
[root@svr7 named]# cp -p tedu.cn.zone example.com.zone
[root@svr7 named]# vim example.com.zone
.. ..
@ NS svr7.tedu.cn.
cla***oom A 172.25.254.254
content A 172.25.254.254
server0 A 172.25.0.11
www0 A 172.25.0.11
webapp0 A 172.25.0.11
desktop0 A 172.25.0.10
smtp0 A 172.25.0.10
3)起服務
[root@svr7 named]# systemctl restart named
兩個問題:
1)options全局設置只需要一段
2)爲什麼 example.com 區域的NS記錄還是 svr7.tedu.cn. 【一個DNS服務器管理多個區域時,沒必要在每一個區域都註冊一個域名】
今日目標:
1)理解分離解析原理,並通過實驗驗證
2)瞭解RAID陣列的幾種方式和各自的特點
3)學會查看和控制系統的進程信息
4)學會通過日誌去了解系統或服務發生的事件
場景1:
www.12306.cn
==》 IP地址1(聯通)、IP地址2(移動)、IP地址3(電信)、……
當一個聯通寬帶用戶訪問 www.12306.cn 時,面臨的問題?
單純的DNS輪詢難以解決
需要DNS更加智能 ——
1)當聯通的客戶機來訪問www.12306.cn,告訴客戶機IP地址1
2)當移動的客戶機來訪問www.12306.cn,告訴客戶機IP地址2
1)當電信的客戶機來訪問www.12306.cn,告訴客戶機IP地址3
智能DNS(Split分離解析)
Content Delivery Network,內容分發網絡
鐵道部:負責提供Web網站/數據庫內容,假設 2 臺
CDN服務商(藍汛):負責爲鐵道部在全國部署200臺緩存服務器,由這些緩存服務器面向購票用戶
購票用戶:===》CDN服務商的緩存服務器
鐵道部成本降低
CDN服務商賺錢
用戶訪問速度塊
CDN服務商需要做的事情:
當用戶查詢www.12306.cn時,把客戶機引導到最近/最快的那一臺緩存服務器上
配置關鍵步驟:
1)建立2份地址庫
/var/named/tedu.cn.zone.1 【www ==》192.168.4.100】
/var/named/tedu.cn.zone.2 【www ==》1.2.3.4】
2)在 /etc/named.conf 創建2個視圖
options {
directory "/var/named";
};
view "mylan" { //第1個視圖設置
match-clients { 192.168.4.207; 192.168.7.0/24; };
zone "tedu.cn" {
type master;
file "tedu.cn.zone.1";
};
};
view "other" { //第2個視圖設置
match-clients { any; };
zone "tedu.cn" {
type master;
file "tedu.cn.zone.2";
};
};
瞭解RAID陣列的幾種方式和各自的特點
RAID —— 把一堆便宜磁盤整合成一塊大磁盤
主要實現兩個目標
1)提高磁盤讀寫速度
2)提供硬件備份
其他好處:
擁有更大容量的磁盤、性價比更高
陣列如何實現(RAID級別)?
500GB X 6塊 構建 RAID5 陣列
==》2.5TB
500GB X 6塊 構建 RAID6 陣列
==》2TB
500GB X 6塊 構建 RAID0 陣列
==》3TB
500GB X 6塊 構建 RAID1 陣列
==》500GB
500GB X 6塊 構建 RAID10 陣列
==》3塊組條帶 x2 鏡像 1.5TB
==》2塊組條帶 x3 鏡像 1.0TB
學會查看和控制系統的進程信息 ——
Process,進程(內存中正在進行的程序)
整個Linux操作系統是由大量的進程(每一個進程都由一個編號PID)一起提供服務的
系統開機 ==》內核 ==》系統管理器(PID 1) ==》其他程序。。。
父進程
子進程
查看進程信息 ——
爲了更好的掌握系統的狀態
pstree 看進程樹
練習:
1)查看Linux系統的整個進程樹結構,顯示各進程的PID號
pstree -p
2)從上述結果中找出sshd進程的PID值
pstree -p | grep sshd
3)根據sshd進程的PID值查看進程樹,列出各進程的命令行
pstree -ap 937
ps,進程快照,用來爲系統中所有進程拍照
練習:
1)安裝並啓用httpd服務
yum -y install httpd
systemctl restart httpd
2)列出系統中所有的httpd進程,比較每個進程屬於哪個用戶
ps aux | grep httpd
3)列出系統中所有httpd進程的父進程號,觀測差別
ps -elf | grep httpd
4)查看前一步結果中PID編號最小(輩分最大)的httpd進程的進程樹
pstree -p 9634
關於httpd網站服務器:
第1個httpd進程由root運行,不面向Web用戶
第2個及以後的httpd進程是以apache用戶身份運行,面向Web用戶
知道一個進程的父進程有什麼作用?
比如病毒進程
如果一個進程被殺死,這個進程會自動把所有子進程都終止
top,查看進程資源佔用情況,動態展示(實時錄像)
top
top - 15:53:09 up 6:23, 3 users, load average: 0.00, 0.01, 0.05
Tasks: 150 total, 2 running, 148 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.1 us, 0.1 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 2049108 total, 1267212 free, 303156 used, 478740 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 1556160 avail Mem
排名信息。。。
CPU處理器的平均負載:最近1分鐘,5分鐘,15分鐘
load average: 0.00, 0.01, 0.05
%Cpu(s): 99.7 id 空閒
按數字1切換多核模式
按q鍵退出
練習:
1)查看當前主機的CPU負載情況
2)查看當前主機開啓了多長時間、有幾個用戶登錄、運行的進程數
3)查看當前主機的CPU、內存、交換分區空閒比率
4)觀測當前佔用CPU資源最多的進程叫什麼名
pgrep 檢索進程信息
練習:
1)查看用戶mike開啓的進程名、PID號
pgrep -l -U mike
2)統計當前主機運行的進程的數量
pgrep . | wc -l
3)檢查網站服務進程httpd是否已經開啓
pgrep -l httpd
4)找出名字爲 gdm 的進程的PID號
pgrep -x gdm
pgrep 關鍵詞 ==》只要進程名包括這個關鍵詞,就符合條件
pgrep -x 關鍵詞 ==》必須進程名等於這個關鍵詞,才符合條件
例如:有2個進程 —— 張三、張三丰
pgrep 張三
張三的PID
張三丰的PID
pgrep -x 張三
張三的PID
2)控制進程
進程前後臺調度 ——
測試用的命令工具格:
sleep 秒數
fg,forground 前臺
bg,background 後臺
jobs,列出任務
Ctrl z 暫停當前任務
殺死進程(選擇進程不同的死法)——
根據進程的PID號
kill PID .. ..
根據後臺進程的任務編號
kill %任務編號 .. ..
根據進程的名稱
killall 進程名
根據進程所屬的用戶(符合XX條件)
pkill -U 用戶名
!!! 不帶信號 -9 表示正常殺死進程
!!! 帶信號 -9 表示強制殺死
圖形桌面下的點殺工具 xkill ——
按 Alt F2 調出運行命令的工具,輸入 xkill 並回車
練習:進程調度及終止
1)運行“sleep 600”命令
2)另開一個終端,查出sleep程序的PID並殺死
3)運行多個vim程序並分別都放入後臺
4)殺死所有vim進程
5)su切換爲zhsan用戶
6)另開一個終端,強制踢出zhsan用戶
今日重點:
1)分離解析的原理
2)RAID磁盤陣列的各個級別的特點
3)查找進程的各種方法
4)殺死進程的各種方法