文章目錄
- 第一階段
- 平常怎么處理故障,思路是什么樣的
- 公網和私網分類以及范圍,本機地址,網絡地址,廣播地址
- 交換機的工作原理
- ICMP是什么干什么用的,它有哪些命令
- TCP和UDP協議的區別
- tcp有哪些控制位,分別是什么意思
- 你是用過哪些Linux命令
- Linux 系統安全優化與內核優化
- 經常使用shell腳本做什么
- 軟連接與硬鏈接的區別
- 怎么查看文件
- IOS七層模型
- 三次握手與四次揮手
- lvm 邏輯卷創建過程
- 磁盤配額
- raid 磁盤陣列
- 文本三劍客
- 防火墻iptables與fireward
- Linux系統資源查詢命令
- 日志的八大等級
- Linux 引導過程
- shell 函數的創建方法
- 免交互的使用
- 你是用過哪些shell腳本
- Tcpdump抓包使用工具
- CPU過高怎么解決
- 如何殺死僵尸進程
- 什么是中間件?什么是 JDK
- 什么是CDN
- 第二階段
- http
- http 的版本
- http 響應狀態碼
- Nginx
- Nginx 的常用模塊有哪些?
- Nginx 的 session 不同步怎么辦
- nginx的優化
- Nginx如何實現動靜分離
- Nginx反向代理有哪些方式實現,有什么區別 ?如何配置
- Nginx 負載均衡調度算法有哪些?
- tomcat知識點
- tomcat 三個端口號
- tomcat 優化
- LVS
- LVS、Nginx、Haproxy 有什么區別?
- 簡述LVS三種模式 以及工作中使用哪種模式
- keepalived
- 腦裂的原因,如何解決
- 簡述 keepalived 如何通過健康檢查來實現高可用?
- mysql
- sql 語句
- 克隆表
- 清空表數據
- Mysql 六大約束
- 遺忘 root 密碼的解決方法
- 索引的作用
- 索引的創建
- mysql 事務的 ACID 特性與四種隔離
- 死鎖的產生原因與解決方法
- mysql 主從復制原理
- 主從復制的部署過程
- MHA 高可用
- MHA 部署過程
- MMM 高可用
- mysql 數據庫的優化
- Mysql 數據庫 cpu 飆升到 500% 怎么處理
- Mysql 數據庫備份
- redis
- redis 為什么讀寫速度那么快?
- redis 常用的數據結構
- redis 持久化
- redis 哨兵
- redis cluster 集群
- redis 優化
- 緩存和數據庫 雙寫一致性問題
- 緩存三大擊穿問題
- ELK
- ELK 的工作原理
- ELK 的插件有哪些
- zabbix
- Zabbix 組件 及 工作原理
- zabbix 如何自定監控項
- zabbix 你都監控哪些參數
- kafka
- Zookeeper 是什么?
- Zookeeper 選舉機制
- 消息隊列的作用
- 消息隊列的模式
- kafka 架構
- kafka ACK應答機制保證數據的可靠性
- Ceph
- 數據存儲類型
- Ceph 架構 (從下往上看)
- Ceph 組件
- Ceph 的存儲過程
- 第三階段
- Docker
- docker 是什么?
- docker 容器與 虛擬機的區別?
- docker 三大核心概念
- 6大namespace 命名空間是什么?
- docker的鏡像和容器管理命令?
- docker run 的運行過程
- cgroup 資源限制
- docker 網絡模式
- dockerfile 有哪些指令
- dockerfile 如何縮小構建鏡像的體積
- docker-compose 是什么?
- docker-compose.yml 配置講解
- Harbor 私有倉庫管理
- consul 服務自動發現
- https 的工作流程
- 數據庫是否放在容器中運行?為什么?
- docker容器的重啟策略?
- Ansible
- Ansible 概念
- 模塊
- K8S
- k8s 有哪些組件
- k8s 組件的作用
- pod 的創建過程
- K8s 資源對象
- K8S 二進制搭建
- K8S kubeadm搭建
- kubeadm 部署的K8S集群更新證書
- K8S 3種網絡
- K8S 3種接口
- flannel 3種模式
- flannel UDP模式工作原理
- flannel VXLAN模式工作原理
- Calico IPIP模式工作原理
- Calico BGP模式工作原理(本質就是通過路由表來維護每個 Pod 的通信)
- flannel 和 calico 區別?
- 陳述式資源管理
- service 的 4 種類型:
- service 的端口:
- 如何獲取資源配置清單文件模板(yaml配置文件)
- 一個pod能包含幾個容器?
- pause容器的作用?
- Pod 的 3 種類型:
- Pod 的 3 種容器:
- Pod 的 3 種鏡像拉取策略: spec.containers.imagePullPolicy
- Pod 的 3 種容器重啟策略: spec.restartPolicy
- Pod 容器的資源限制
- Pod 容器的 3 種探針(健康檢查)
- 探針的 3 種探測方式
- 探針參數:
- Pod 應用容器生命周期的啟動動作和退出動作
- K8S是通過 List-Watch 機制實現每個組件的協作
- scheduler 的調度策略
- Pod 調度到指定的 Node節點
- 標簽的管理操作
- 親和性
- 如何判斷是否在同一個拓撲域?
- 親和性的策略
- 污點 taint
- 容忍 tolerations
- 不可調度
- 不可調度 + 驅逐
- Pod 的啟動過程:
- Pod 生命周期的 5 種狀態
- K8S 中的排障手段
- K8S 的 存儲卷 volumes
- PV PVC
- 創建 PV 的方式(PV的類型):
- PV 的 4 種狀態:
- 創建使用 靜態PV
- 創建使用 動態PV
- K8S 中的排障手段
- K8S 的 存儲卷 volumes
- PV PVC
- 創建 PV 的方式(PV的類型):
- PV 的 4 種狀態:
- 創建使用 靜態PV
- 創建使用 動態PV
第一階段
平常怎么處理故障,思路是什么樣的
看故障現象根據經驗就知道原因;
第一次碰到,先定位問題,故障不一定是我的問題,開發、測試、硬件、網絡,也可能我的問題;如果問題在我,根據錯誤提示信息、系統日志、錯誤日志去分析問題。
系統問題可以用top看cpu、df看磁盤、uptime看負載、ps看進程、sar看流量。
應用程序就是看日志提示解決問題,如果是開發問題,可以通過郵件等方式,描述故障現象和定位過程發送給開發對接人和我的領導。
如果是網絡問題,路由、交換機可以找網絡工程師,可以抓包tcpdump;
如果是硬件問題,可以找廠商。
公網和私網分類以及范圍,本機地址,網絡地址,廣播地址
公網
A:1.0.0.1~126.255.255.254/18
B:128.0.0.1~191.255.255.254/16
C:192.0.0.1~223.255.255.254/24
D:224.0.0.1~239.255.255.254
E:240.0.0.1~255.255.255.254
私網
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
其他
169.254.0.0~169.254.255.255 DHCP失效時分配的網址
127開頭的都是本機 127.255.255.255除外 它是廣播地址
224.0.0.18 VRRP協議交換機偵聽此地址
交換機的工作原理
1)交換機開機時MAC地址表沒有任何記錄
2)源主機通過交換機發送數據幀給目標主機,交換機學習數據幀中的源MAC和對應接口標識并記錄到MAC地址表中
3)如果交換機的MAC地址沒有目的MAC地址所對應的接口記錄,則會進行廣播泛洪
4)只有擁有對應的MAC地址的主機才會進行回應響應
5)交換機會從目的主機回復的消息中學習到MAC地址和對應的接口標識并記錄到MAC地址表中,之后兩臺主機可以通過交換機的MAC地址表進行單播通信
交換機通過MAC地址表的記錄實現數據幀的轉發,MAC地址表默認老化時間300S
ICMP是什么干什么用的,它有哪些命令
是一個錯誤偵測與回饋機制,發送錯誤和控制消息來探測節點的網絡連通性
ping
pathping 例子:pathping www.baidu.com 跟蹤數據包路徑,計算機丟包情況
traceroute
TCP和UDP協議的區別
TCP UDP
可靠性 可靠 不可靠
連接性 面向連接 無連接
報文 面向字節流 面向報文(保留報文的邊界)
效率 傳輸效率低 傳輸效率高
雙工性 全雙工 一對一、一對多、多對一、多對多
流量控制 有(滑動窗口) 無
擁塞控制 有(慢開始、擁塞避免、快重傳、快恢復) 無
tcp有哪些控制位,分別是什么意思
URG 緊急位
ACK 確認位
PSH 急迫位
RST 重置位
SYN 同步(連接)位
FIN 斷開位
你是用過哪些Linux命令
性能監控方面: free 查看內存 top 動態監控cpu 負載 等 df 查看磁盤使用 ps 查看進程 iostat 查看io
用戶方面:useradd 創建用戶 chmod 修改權限 chown 設置歸屬
查詢方面: sed grep awk cat more less which whereis
Linux 系統安全優化與內核優化
安全優化: 設置防火墻規則 限制root 用戶遠程登錄 設置歷史命令條目及登錄超時 chattr鎖定文件 時間同步 配置yum更新源
內核系統優化:
sysctl.conf 文件中 net.ipv4.ip_forward 設置路由轉發 net.ipv4.tcp tw recycle = 1 開啟time-wait 快速回收 net.ipv4.ip_local_port_range = 1024 65000 設置外向連接端口范圍/etc/security/limits.conf nofile 設置文件最大打開數 nproc 設置最大進程數 rss 設置最大常駐集大小 menlock 鎖定內存地址空間
經常使用shell腳本做什么
使用shell腳本進行重復性的操作
一鍵部署公司的業務服務
日志的監控和分割 備份 配置crontab -e 進行計劃性任務
巡檢
軟連接與硬鏈接的區別
硬鏈接與源文件共享inode ,也就是說,他們都指向同一份數據,占用的磁盤空間也相同,刪除一共硬鏈接并不影響源文件內容和其他硬鏈接,相當于給文件起了一共別名
軟連接與源文件不僅inode不同,源文件刪除了。軟連接也就失效了,類似于一個快捷方式、
怎么查看文件
find 查找文件
locate 查找系統中已經建立的文件索引庫
whereis 可以查找指定命令的二進制文件、源代碼文件
which 查找命令所在的目錄
IOS七層模型
- 物理層
- 數據鏈路層
- 網絡層
- 傳輸層
- 會話層
- 表示層
- 應用層
三次握手與四次揮手
三次握手 : pc1 向 pc2 發送一個 SYN 報文,pc 回復一個 SYN + ACK 報文 pc1 再次發送一個ACK報文
四次揮手: pc1發送一個FIN / ACK 報文給pc2 (此時pc1客戶端進入等待斷開連接狀態)
pc2接收到pc1發送的請求斷開報文之后回復一個ACK報文進行確認
pc2緊接著發送一個FIN / ACK 報文給pc1(此時pc2客戶端進入等待斷開連接狀態)
pc1收到后發送ACK報文進行確認 (此時pc1進入時間等待狀態 60秒后默認結束)
lvm 邏輯卷創建過程
- 創建一個物理卷: pvcreate 設備名(可創建多個)
- 創建卷組 : vgcreate 卷組名 物理卷名
- 創建邏輯卷: lvcreate -L 容量大小 -n 邏輯卷名 卷組名
- 擴展卷組:先擴展物理卷 在使用 vgextend 卷組名 設備
- 擴展邏輯卷 : 隨后使用 lvextend -L + 容量大小 /dev/卷組名/邏輯卷名
- 格式化 掛載使用·
磁盤配額
- 首先檢查是否安裝 xfsprogs 和 xfs_quota
- 以支持配額的方式進行掛載文件系統 mount -o usrquota,grpquota /dev/vgname1/lvname1 /opt 或者永久掛載/ dev / vgname1 / lvname1 / opt xfs defaults,usrquota, grpquota 0
- 對用戶和組賬號進行配額限制 xfs_quota -x -c 'limit -u bsoft-80M bhard-100M isoft=40 ihard=50 lisi’ /opt/
- 驗證用戶在限制目錄下的使用
raid 磁盤陣列
raid 0 條帶化存儲 傳輸速率達到單個硬盤的N 倍 但它沒有數據冗余
raid 1 鏡像存儲 實現數據冗余 但利用率為N/2
raid 5 N>=3 塊盤組成 利用率 (N-1)/N (其中有一塊是用來校驗的)
raid 6 N>=4 塊盤組成 (N-2)/ N (有兩塊盤用來校驗)
raid 1 0 先做鏡像 再做條帶 利用率 N/2
文本三劍客
grep :
-i 不區分大小寫
-v 取反
-n 顯示行號
-r 遞歸過濾文件夾中的所有內容
-w 只顯示全部字符的列
-l 列出文件內容符合指定的樣式文件名稱
sed :
-i 替換:s 對指定的內容進行替換
? d 刪除選定的行
? a 在當前行的下面增加一行內容
? i 在當前行的上面增加一行內容
? c 替換選定行為指定內容
? y 字符轉換 轉換前后的字符必須長度相同
awk:
FS 列分隔符
NF 當前處理行的字段個數
NR 當前處理行的序號
RS 行分隔符
防火墻iptables與fireward
四表:raw 表 mangle