[Note] 有關系統管理:Systems Administration – What is Systems Administration?

此篇主要是紀錄 Coursera 平台上的課程 Google IT Support Professional Certificate 中 System Administration and IT Infrastructure Services 的第一個星期的上課筆記,大致上是系統管理相關介紹。其他的筆記也一併附上,未來整理好之後下方文字可以直接連結到該筆記:


目錄


What is System Administration?

我這邊直接引述維基百科的解釋:「IT基礎設施是人們對計算機、網絡設備、計算機網絡以及各種軟體等軟硬體的統稱。一個企業可以在公司內部署自己的IT基礎設施,也可以由雲端運算開發商提供IT基礎設施,也可以將兩者相結合。」系統管理員有相當多不同的職責,而視公司規模又可能分為多人部門或是一人管理。這一堂課將會提到管理 100 人內的小型組織所需技能。

Servers Revisited

基本上,系統管理員就是負責公司 IT 服務的人,職務可能包括電子郵件、檔案儲存、網站的運行等等,這些都會牽涉到伺服器(server)。伺服器籠統一點的說法是為其他軟體或機器提供服務的軟體或機器,像是電子郵件伺服器為其他機器提供電子郵件服務; SSH 伺服器為其他機器提供 SSH 服務等等。一般行業的標準通常是 24 小時全年無休地運行。

The Cloud

另外除了一般本地機台以外,還有「雲端」。現在人們對於雲端這個詞已經不陌生,我們的照片、檔案等等可以存在雲端,我們可以利用雲端處理大數據,也可以利用它來進行運算。資料中心或稱數據中心(Data Center)是指安置電腦系統的設施,用於存放重要程式和資料的實體設備。路由器、交換器、防火牆、儲存系統、伺服器等等皆是資料中心設計的主要元件。

像 Google 和 Facebook 這樣的大公司通常擁有自己的數據中心,因為他們有數十億用戶需要隨時訪問他們的數據。 而較小的公司可以和資料中心租借其中一部份,或是使用雲端服務,這些資料通常會儲存在數據中心內。

Systems Administration Tasks

Organizational Policies

如前述所言,在小公司中電腦的系統管理策略通常是由系統管理員的責任,大多數問題都蠻常見。例如:是否允許使用者安裝軟體、是否要求複雜密碼而密碼政策又要如何訂定、哪些檔案可以訪問等等。

User and Hardware Provisioning

系統管理員的其他職責是管理使用者和硬體。系統管理員必須建立新使用者並且授權,若員工離開公司,則需要將其帳號刪除。系統管理員還要確保每個使用者所使用的硬體配置是經過標準化的,並且清楚知道硬體的生命週期。硬體的生命週期有四個主要階段:採購(Procurement)、部署(Deployment)、維護(Maintenance)和退休(Retirement)。

Routine Maintenance

管理機器時,不能只是設置完後就丟著,必須不斷更新和維護,以確保資訊安全。為了更有效地管理更新,可以執行批次更新(batch update),進行週期性的更新作業。

Vendors

規模較小的公司內通常不只電腦需要進行設定,影印機和電話也需要處理。像是 HP, Dell, Apple 等等公司可以供應企業帳戶,通常也會為公司提供折扣。

Troubleshooting and Managing Issues

系統管理員還需要面對更大規模的問題進行故障排除以及排序優先順序,例如有個管理的伺服器停止運作,或是一個人對於影印機有問題等等。首先故障排除、提出問題、隔離問題,追蹤 cookie 和查看日誌都是很好的方式找出問題。在某些公司內,系統管理員必須全天待命,如果半夜伺服器或網路發生故障,則需要有人在場。但也不需要 24 總是待著,可以使用監控服務,並在出現問題的時候發出提醒。

Applying Changes

With Great Power Comes Great Responsibility

擁有管理權限時,要避免對不需要管理員權限的任務使用管理員權限。在 Linux 系統中,我們通常使用 sudo 進行管理員身分執行命令。另外在執行之前可計畫採取的行動,並記錄。在 Linux 系統中,有個叫做 script 的命令,可以用來記錄指令的使用。

script session.log

而在 Windows 系統中,有 Start-Transcript 的命令功能是一樣的,這些工具對於自動化過程都很有幫助,另外也能使用 recordMyDesktop 來記錄與圖形介面的互動。這些工具都是確保我們在遇上問題時能夠快速恢復或更改成之前的狀態。

Start-Transcript -Path C:\Transcript.txt

Change Management

應變管理(change management)。

IT change management plans

  • Person/team responsible for the change
  • Change priority
  • Change description
  • Purpose of the change
  • Scope of the change
  • Date, time, and duration of the change
  • Change rollback or backout plan
  • Technical evaluation
  • Systems affected by the change
  • Anticipated impact of changes
  • Resources needed to implement the change
  • Training for users impacted by the change
  • Risk level for change
  • Change instructions

Never Test in Production

我們有可能需要對在線上的架構進行更改,像是加上新的服務、更改現在的配置等等,我們需要在測試環境中進行操作。測試環境(test environment)通常是和正式環境(production environment,也就是正式上線模式)幾乎一樣配置的虛擬機,但不會為使用者提供服務,讓我們能在客戶看不見的狀況下修復架構。測試完之後,我們才會把正式的產品部署到線上。一般建議能夠先部署到一小組的機器,並且驗證是否有問題,若沒有問題就可以部署到其餘的機器(這樣若有問題只會有一小部分的使用者接觸到)。

系統開發的三個階段:開發->測試->上線。

不論問題或是服務有多麼小,都不應該在正式環境中進行更改。

讓我知道你在想什麼!