伺服器維運

維運是做什麼的:工作內容、崗位分類和技能要求

維運就是讓系統持續、穩定、安全地執行。開發把功能做出來,維運負責把它部署上線、盯住它的狀態、出了問題第一時間恢復,並保證資料丟不了。日常工作可以歸成五項:上線變更、監控告警、備份恢復、故障處理和巡檢,不同崗位的區別在於管的物件不同。

作者 頂聯產品團隊發布於 7 分鐘閱讀

維運是做什麼的?一句話:讓系統持續、穩定、安全地執行。“維運”是“執行維護”的簡稱,對應英文的 Operations(Ops)。開發人員把網站、App、業務系統寫出來,維運人員負責把它部署到伺服器上,持續監控它的狀態,出了故障第一時間恢復,定期備份保證資料不丟,並在業務增長前把伺服器、頻寬、儲存準備好。日常工作可以歸為五項:上線與變更、監控告警、備份恢復、故障處理、巡檢。按管理的物件不同,維運又分為系統維運、網路維運、應用維運、機房 IDC 維運,以及更偏工程化的 DevOps 和 SRE。

維運是什麼意思:用可用性衡量工作成果

維運做得好不好,最直接的衡量標準是可用性:一段時間內系統能正常提供服務的時間佔比。幾個“9”對應的允許中斷時間如下:

可用性目標 每月(按 30 天)允許中斷 每年允許中斷
99% 7.2 小時 87.6 小時,約 3.65 天
99.9% 43.2 分鐘 8.76 小時
99.95% 21.6 分鐘 4.38 小時
99.99% 4.32 分鐘 約 52.6 分鐘

從 99.9% 到 99.99%,每月允許的中斷從 43 分鐘縮到 4 分鐘,這時靠人半夜爬起來重啟已經來不及,必須有冗餘架構、自動切換和完善的監控。所以維運工作的本質,是用流程、工具和架構,把“出問題”的機率和“出問題後的影響時間”都壓下來。

維運的五項日常工作

工作 做什麼 做到什麼程度才算合格
上線與變更 釋出新版本、改配置、擴容、升級系統和軟體 每次變更有方案、有回滾步驟、有驗證方法,留下記錄
監控告警 採集伺服器、網路、應用的指標,異常時通知值班人員 故障先由監控發現,而不是由使用者投訴發現
備份恢復 定期備份資料庫、檔案和配置,並演練恢復 恢復演練成功過,知道恢復一次要多長時間
故障處理 接到告警或報障後定位、止損、恢復、覆盤 有分級標準和回應時限,覆盤後同類問題不再重複
巡檢 按清單定期檢查容量、效能、證書、硬體和機房環境 隱患在變成故障之前被發現

上線與變更:先想好怎麼退回來

很多故障都發生在變更之後,所以變更是維運最需要流程約束的環節。一次標準的變更按這個順序走:

  1. 寫方案:改什麼、影響哪些業務、操作步驟、回滾步驟、驗證方法;
  2. 評審:負責人確認風險和時間視窗,重要業務同步通知相關方;
  3. 視窗內執行:例如安排在 22:00 至次日 06:00 的業務低峰,按方案逐步操作;
  4. 驗證:按事先寫好的方法確認業務正常,例如關鍵頁面返回 200、錯誤率沒有上升;
  5. 記錄:結果寫進變更記錄,失敗就按回滾步驟恢復,事後分析原因。

沒有回滾方案的變更不執行,這是最樸素也最有用的一條規矩。

監控告警:先分級,再通知

監控覆蓋三層:硬體和機房(溫度、電源、硬碟)、系統和網路(CPU、記憶體、磁碟、頻寬、丟包)、應用(請求量、錯誤率、回應時間)。常用的判斷框架是 Google SRE 提出的四個黃金指標:延遲、流量、錯誤、飽和度。告警必須分級,否則值班人員會被大量無關緊要的訊息淹沒,真正的故障反而被忽略。下面是一套可參考的分級(數值是範例,按業務自行約定):

級別 典型情況 回應要求(範例) 通知方式
P1 核心業務不可用,機房斷電或斷網 5 分鐘內回應,每 30 分鐘同步進展 電話加群訊息,同時通知主管
P2 部分功能故障,冗餘節點當機 15 分鐘內回應 電話或即時訊息
P3 磁碟使用率超過 85%,證書 14 天內到期 當天工作時間內處理 即時訊息或工單
P4 備份完成、計劃任務結果等通知 無需即時回應 郵件或日報

備份恢復:沒恢復過的備份不算備份

兩個指標決定備份方案:RPO(最多能丟多長時間的資料)和 RTO(多長時間內必須恢復)。例如資料庫每天凌晨全量備份、每小時備份一次增量日誌,RPO 就是 1 小時。存放上遵循 3-2-1 原則:至少 3 份資料,放在 2 種不同的介質上,其中 1 份在異地。最容易被省略的是恢復演練:每季度把備份恢復到一台測試伺服器上,記錄實際耗時,這個時間才是你真實的 RTO。

故障處理:先恢復,再找原因

故障處理的順序是:發現 → 確認影響範圍 → 止損 → 定位根因 → 恢復驗證 → 覆盤。止損優先於定位:最近有變更就先回滾,單台伺服器異常就先摘出負載均衡,流量異常就先限流,業務恢復了再慢慢查原因。覆盤寫清時間線、根因、改進項、負責人和完成期限,目的是讓同類故障不再發生,而不是追究個人。

巡檢:把隱患擋在故障之前

伺服器每日巡檢可以寫成指令碼,每天跑一遍,有異常再人工處理:

uptime                                              # 負載是否明顯高於 CPU 核數
df -hT | awk 'NR==1 || $6+0 >= 80'                  # 使用率 80% 以上的分割槽
free -h                                             # 記憶體和 swap 使用情況
systemctl --failed                                  # 啟動失敗的服務
journalctl -p err --since "24 hours ago" | tail -n 20   # 近 24 小時的錯誤日誌
journalctl -u ssh -u sshd --since "24 hours ago" | grep -c "Failed password"   # 近 24 小時 SSH 密碼登入失敗次數
echo | openssl s_client -connect www.example.com:443 -servername www.example.com 2>/dev/null \
  | openssl x509 -noout -enddate                    # HTTPS 證書到期時間

機房的巡檢還包括溫溼度、UPS 和空調執行狀態、機櫃和裝置的告警指示燈,通常按班次記錄。

維運崗位分類:五類維運各做什麼

崗位 管什麼 日常工作 常用工具
系統維運 伺服器和作業系統 裝系統、打補丁、管帳號許可權、效能調優、儲存和備份 Linux 命令、Shell、Ansible、Zabbix 或 Prometheus
網路維運 交換器、路由器、防火牆、出口線路 配置 VLAN 和路由、排查丟包和延遲、處理線路故障、做網路變更 裝置命令列、ping、mtr、tcpdump、SNMP 監控
應用維運 業務系統及其中介軟體 釋出上線、管理 Nginx、Tomcat、MySQL、Redis 等元件,分析日誌,規劃容量 CI/CD 流水線、日誌平台、APM
機房 IDC 維運 機房裡的物理設施和硬體 裝置上下架、佈線、巡檢、換件報修、動環告警處理、客戶進出陪同 BMC 遠端管理、DCIM、工單系統、動環監控
DevOps / SRE 交付流程和系統可靠性 建設 CI/CD 和基礎設施即程式碼,制定 SLO,組織值班和覆盤,用開發手段消除重複勞動 Git、Terraform、Kubernetes、Prometheus、Python 或 Go

此外,規模大的公司還會單獨設資料庫維運(DBA)和安全維運崗位。小公司裡,一個維運往往同時兼著系統、網路和應用三塊。

DevOps 和 SRE 容易混淆。DevOps 是一種協作方式,主張開發和維運共同負責從寫程式碼到線上執行的全過程,代表實踐是持續整合、持續交付和基礎設施即程式碼。SRE(站點可靠性工程)起源於 Google,用軟體工程的方法做維運:用 SLO 量化可靠性目標,用“錯誤預算”平衡釋出速度和穩定性。例如 SLO 定為每月 99.9%,這個月的錯誤預算就是 43.2 分鐘,用完了就暫停新功能上線、優先修穩定性問題。Google 的 SRE 實踐還要求重複性的手工維運工作不超過工作時間的一半,其餘時間用來寫工具、改進系統。

崗位與技能要求對照:維運需要學什麼

崗位 必備技能 加分項
系統維運 Linux 系統管理、Shell 指令碼、儲存與 RAID、常見服務的配置 Ansible 等批次管理工具,虛擬化平台
網路維運 TCP/IP、子網劃分、VLAN、靜態路由,至少一個廠商裝置的命令列 OSPF、BGP 等路由協議,抓包分析
應用維運 Linux、Nginx 等中介軟體、資料庫基本操作、日誌分析 能讀懂業務架構,CI/CD
機房 IDC 維運 伺服器硬體、佈線規範、BMC 使用、供電與製冷常識 網路和 Linux 基礎,指令碼自動化
DevOps / SRE 程式設計(Python 或 Go)、容器與 Kubernetes、監控體系、CI/CD 分散式系統原理,效能分析

零基礎入門,建議按這個順序學,每一步都在自己的虛擬機器或便宜的雲伺服器上動手:

  1. Linux 基礎:檔案和許可權、程序、軟體包、systemd 服務、日誌檢視;
  2. 網路基礎:IP 與子網、DNS、TCP 三次握手、常用排查命令;
  3. Shell 指令碼:把一項每天手工做的檢查寫成指令碼,放進定時任務;
  4. 一套 Web 服務:從零搭起 Nginx、應用程式和 MySQL,配好 HTTPS;
  5. 一套監控:用 Zabbix 或 Prometheus 監控上面這套服務,設定告警;
  6. 一個自動化工具:用 Ansible 把第 4 步的部署過程寫成劇本,一條命令重建整套環境。

做完這六步,再按興趣往系統、網路、應用或 SRE 方向深入。

維運工程師的一天

下面是兩種崗位一個普通工作日的範例,實際安排因公司和班制而異:

時間 系統或應用維運(網際網路公司) 機房 IDC 維運(白班)
09:00 看夜間告警和值班記錄,確認有沒有遺留問題 交接班,核對夜班處理過的工單和告警
09:30 看監控大盤:錯誤率、磁碟、備份任務是否成功 巡檢機房:溫溼度、UPS、空調、機櫃告警燈
10:30 處理工單:開通帳號、給資料庫擴容磁碟 上架兩台新伺服器:接線、配 BMC 位址、錄入資產台帳
13:30 參加變更評審,確認晚上發版的方案和回滾步驟 按工單為客戶更換故障硬碟,舊盤登記返修
15:00 寫指令碼,把每週手工匯出的報表改成自動生成 處理報障“伺服器連不上”:先看遠端控制檯,再查交換器連接埠
17:30 更新文件,交代晚上值守的注意事項 寫交接記錄,未完成的工單交給夜班
22:00 在變更視窗執行發版,驗證後結束;本週輪到 on-call 夜班同事值守動環和網路告警

可以看出兩類崗位的共同點:大量時間花在工單、告警和變更這三條線上。工作做得好的維運,會不斷把重複的事交給指令碼和系統,把時間留給排障和改進。

機房維運怎麼用 DCIM、工單和監控系統

機房 IDC 維運的工作物件是成百上千台物理裝置,靠記憶和表格很快就會管不過來,通常要靠三類系統配合:監控系統負責發現問題,工單系統負責派活和留痕,DCIM 負責記錄每台裝置在哪個機櫃、接在哪個交換器連接埠、用哪些 IP。

以 DCIM 機房管理系統 為例,它的能力清單裡包含工單管理、故障管理、維修管理、流量監控和網路 TOP 排行:頻寬異常時從即時流量圖和排行裡定位是哪台伺服器,報修和換件的過程在故障與維修記錄裡留痕。上面一天工作流裡“伺服器連不上”這類報障,可以在 IPMI 遠端管理 裡直接開啟伺服器的 VNC 控制檯判斷卡在哪一步,必要時遠端重啟或掛載映象修復,不用先跑一趟機櫃;遠端會話全程錄影,SSH 會話另有命令級日誌,交接和事後覆盤時能準確還原誰在什麼時候做了什麼。

常見問題

維運要考哪些證書?

證書不是入行門檻,但能幫你係統地學一遍,也有助於簡歷篩選:Linux 方向常見紅帽的 RHCSA、RHCE,網路方向常見華為 HCIA、HCIP 和思科 CCNA,容器方向有 CNCF 的 CKA。面試時更看重動手經驗,能講清自己處理過的故障比證書更有說服力。

維運要值夜班嗎?

多數崗位要。機房維運通常倒班,系統和應用維運多為白班加輪流值守(on-call),告警在夜裡響時值班人員要在約定時間內回應;較大的變更也常安排在夜間業務低峰的視窗執行。

維運工程師要會寫程式碼嗎?

至少要會 Shell,能把重複操作寫成指令碼;往 DevOps、SRE 方向走,要熟練掌握 Python 或 Go,能開發自動化工具、呼叫各種系統的 API。不寫程式碼也能入行,但職業發展的空間會小很多。

想看看在你的機房裡怎麼用?

從一次產品示範開始,梳理你的業務鏈路。

查看價格
服務熱線 400-112-2951

讓我們聊聊你的 IDC 業務

掃碼新增企業微信,預約產品示範或申請試用。

Toplink 企業微信二維碼

長按儲存或使用企業微信 / 微信掃描

也可致電
400-112-2951
Telegram
@TopLink88