我的硬碟到底要加多大, 才會顯示這訊息…?
問題與答案 (FAQ)
Q&A 類別 A: 概念理解類
Q1: 什麼是「磁碟空間」?
- A簡: 指儲存裝置可使用與已使用的容量總和,受分割區與檔案系統管理,決定能存放資料的上限。
- A詳: 磁碟空間是硬碟、SSD 等儲存裝置可用與已用容量的度量,由分割區與檔案系統管理。檔案系統會以叢集或區塊配置空間並記錄已占用、保留與可用部分。可用空間可能因系統預留、配額限制、快照占用而與表面數字不同。了解實際空間需同時檢視分割、檔案系統與平台工具的數據。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: A-Q4, A-Q7, B-Q1
Q2: 作業系統會顯示「磁碟空間太多」嗎?
- A簡: 不會。作業系統設計為在空間不足時警示,不會因空間太多而報錯。
- A詳: 主流作業系統不會提示「空間太多」。人機互動原則偏重例外與風險,因此提供「空間不足」或「即將耗盡」告警,以避免資料寫入失敗。即使空間極大,也僅在相容性、格式化或控制器限制上提醒。網路上「空間太多」多屬惡搞截圖或玩笑梗圖。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: B-Q2, B-Q24, A-Q14
Q3: 為什麼會顯示「磁碟空間不足」?
- A簡: 因可用空間低於系統或應用設定的門檻,預防寫入失敗與系統不穩定。
- A詳: 當可用空間低於預設或自訂閾值,系統會顯示不足警示。目的在確保檔案保存、更新安裝與日誌寫入不會中斷。影響因素包括大型檔案、日誌暴增、快照、回收桶、保留空間與配額。不同平台的預警門檻與彈性各異,但核心是避免服務中斷與資料損毀。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: B-Q2, D-Q1, D-Q7
Q4: 磁碟容量的單位與換算方式是什麼?
- A簡: 廠商多用十進位(GB),系統常以二進位(GiB)顯示,造成標示與顯示不一致。
- A詳: 容量標示常見兩套:十進位(1 GB=10^9 位元組)為儲存廠商慣用;二進位(1 GiB=2^30 位元組)為系統與工程常用。再加上檔案系統中繼資料、預留空間與快照占用,導致使用者看到的可用/總容量與包裝標示不同。理解換算能避免誤判容量「被吃掉」。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: B-Q4, A-Q14, D-Q10
Q5: 磁碟(HDD)與固態硬碟(SSD)有何差異?
- A簡: HDD 以磁性碟盤旋轉讀寫;SSD 以快閃記憶體儲存,速度快、無機械結構。
- A詳: HDD 由碟盤與讀寫磁頭組成,容量成本低、順序吞吐佳;SSD 以 NAND 儲存,具低延遲、高 IOPS、抗震、低功耗。SSD 寿命受寫入次數影響,需要 TRIM/GC 維持效能。容量、耐用、成本與效能的取捨影響選型,常見混合部署(熱資料 SSD、冷資料 HDD)。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: B-Q8, C-Q9, D-Q9
Q6: 什麼是「分割區」與「卷」?
- A簡: 分割區是磁碟的邏輯切片;卷為檔案系統掛載單位,可能跨多分割或多磁碟。
- A詳: 分割區將物理磁碟切成區段,便於多系統或不同用途管理;卷(Volume)是檔案系統實際掛載與使用的單位,可對應單一分割、RAID 集或 LVM 聚合。卷的大小、冗餘與彈性取決於底層架構(MBR/GPT、RAID、LVM)。理解兩者關係有助安全擴容與備份。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: A-Q9, B-Q11, C-Q7
Q7: 什麼是檔案系統?常見有哪些?
- A簡: 檔案系統管理檔案與目錄儲存結構,常見 NTFS、ext4、APFS、XFS、exFAT。
- A詳: 檔案系統提供命名、目錄、權限、分配與回收機制,確保資料一致性與效能。常見有 NTFS(Windows)、ext4/XFS(Linux)、APFS(macOS)、exFAT(跨平台可攜)。各自支援不同的最大檔案/容量、權限、快照、壓縮與日誌能力。選擇取決於平台、相容與功能需求。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: A-Q8, B-Q3, B-Q9
Q8: NTFS、exFAT、FAT32、ext4、APFS 有何差異?
- A簡: 差異在最大容量、權限、安全、日誌、相容性與跨平台支援程度。
- A詳: FAT32 相容廣但單檔 4GB 限制;exFAT 適合隨身儲存,無 4GB 限制;NTFS 支援 ACL、壓縮、日誌,適合 Windows;ext4 穩定、支援大容量,Linux 常用;APFS 為 macOS 現行,支援快照、空間共享。選擇時需平衡功能與跨平台需求。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: B-Q3, C-Q6, D-Q10
Q9: MBR 與 GPT 有什麼不同?
- A簡: MBR 支援較小容量與最多四主分割;GPT 支援超大容量與更多分割且更可靠。
- A詳: MBR 以 32 位址空間描述,單磁碟與分割大小受限,最多四個主分割(或含延伸);GPT 使用 64 位址,支援超大磁碟與大量分割,具有備援表與 CRC 校驗提升可靠性。新系統建議使用 GPT,搭配 UEFI 啟動更佳相容與安全。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: B-Q5, C-Q8, D-Q10
Q10: 檔案系統的最大檔案與容量限制?
- A簡: 各檔案系統設有限制;需查規格以避免單檔或卷大小超過上限。
- A詳: FAT32 單檔 4GB、卷最多 8TB(依叢集);NTFS 單檔與卷可達 TB~PB 等級;ext4 單檔至 16TB、卷至 1EB(實務受配置影響);APFS 支援極大理論上限。實務受叢集大小、控制器、OS 版本與工具限制。規劃前應確認需求與上限。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: A-Q8, B-Q3, C-Q10
Q11: 什麼是磁碟配額(Quota)?
- A簡: 限制使用者或群組可使用的檔案數量或容量,避免資源被少數人耗盡。
- A詳: 配額在檔案系統層限制空間或檔案數(inode)使用,按使用者/群組套用。可設定硬限制(不得超過)與軟限制(可短暫超過並警告)。常用於多人系統、共享主機、教育環境,防止無限制寫入造成服務中斷。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: B-Q6, C-Q6, D-Q3
Q12: 為何空間看似足夠仍無法寫入?
- A簡: 可能因配額、inode 用盡、保留空間、快照占用或開啟檔案未釋放。
- A詳: 即便 df 顯示有空間,仍可能寫入失敗。常見因配額達上限、inode 耗盡(小檔過多)、系統保留空間(如 ext4 reserved)、快照佔用底層空間、已刪檔案仍被程序佔用、或磁碟壞軌導致寫入失敗。需針對原因逐一排查與處置。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: D-Q2, D-Q3, B-Q15
Q13: 什麼是 TRIM 與垃圾回收(GC)?
- A簡: SSD 用於回收已刪除區塊與整理寫入,維持效能與壽命。
- A詳: TRIM 讓 OS 告知 SSD 哪些區塊可回收,以便控制器進行垃圾回收與寫入放大管理。GC 將分散有效資料整合,釋放整頁/整塊以提升寫入效率。未啟用 TRIM 時,SSD 可能因無法預先清理而變慢。現代 OS 多支援自動 TRIM。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: B-Q8, D-Q9, C-Q2
Q14: 為何實際容量小於包裝標示?
- A簡: 單位換算差異、檔案系統開銷、保留空間、備援與快照造成落差。
- A詳: 包裝採十進位標示,系統以二進位呈現;此外檔案系統中繼資料、日誌、對齊、叢集占用、保留空間(例如 ext4 5%)、RAID 校驗與快照都會占掉部分容量。故顯示值小於標示屬正常,需辨識各因素比例與來源。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: A-Q4, B-Q15, D-Q10
Q15: 為什麼需要監控磁碟空間?
- A簡: 預防服務中斷與資料寫入失敗,及早處理異常並規劃容量。
- A詳: 磁碟滿會導致應用寫入錯誤、資料庫中斷、系統更新失敗與日誌遺失。監控可及早偵測異常成長(如日誌暴增)、設定告警與自動清理,並提供趨勢以做容量規劃。對 SLA、可靠度與成本控管至關重要。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: B-Q20, C-Q4, C-Q5
Q16: 什麼是 RAID?為何影響容量與可靠度?
- A簡: 透過多顆磁碟組成陣列,換取效能或冗餘,不同等級取捨容量與保護。
- A詳: RAID0 併條增速但無冗餘;RAID1 鏡像保護但容量對半;RAID5/6 以校驗提供容錯並犧牲部分容量;RAID10 兼具效能與冗餘但成本高。選擇取決於可用容量、效能與容錯需求。陣列層會改變可見容量與風險分佈。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: B-Q10, C-Q10, D-Q8
Q17: Linux 中 inode 與磁碟使用率差在哪?
- A簡: 磁碟使用率看空間,inode 使用率看檔案數;inode 用盡也會寫入失敗。
- A詳: inode 是檔案中繼資料節點,記錄權限、位置等。df 顯示空間利用率,df -i 顯示 inode 利用率。大量小檔或不當配額可能先用完 inode,即使空間仍剩餘。監控需同時觀察兩者,避免誤判。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: B-Q7, D-Q3, C-Q2
Q18: 什麼是稀疏檔(Sparse file)?
- A簡: 允許檔案宣告大尺寸但未配置對應空間,僅在寫入時實配。
- A詳: 稀疏檔用洞(holes)表示未寫區域,不占磁碟空間,實際占用隨寫入成長。常見於虛擬磁碟、資料庫、快照。報表可能顯示檔案邏輯大小很大,但實際占用較小。清理與備份需識別稀疏屬性以避免費時與容量誤估。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: B-Q12, C-Q10, D-Q8
Q19: 什麼是資料重複刪除與壓縮?差異?
- A簡: 壓縮減少資料冗餘度;重複刪除跨檔或區塊去除重複內容。
- A詳: 壓縮透過編碼降低資料體積,適合可壓縮格式;重複刪除以指紋比對相同區塊,僅保存一次,適合備份或相似檔案多的場景。兩者可並用,需考量 CPU 開銷、延遲與資料型態。對容量與成本影響顯著。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: B-Q14, C-Q9, D-Q6
Q20: 什麼是日誌型檔案系統(Journaling)?
- A簡: 先記錄變更日誌再提交寫入,提升一致性,代價是部分空間與寫入開銷。
- A詳: Journaling 在提交前將變更記錄於日誌區,當斷電或異常時可回放或回滾,避免檔案系統損壞。NTFS、ext4、XFS、APFS 皆為日誌型。其需要少量額外空間與 I/O,但帶來可靠性提升,是現代系統主流。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: B-Q9, A-Q14, D-Q7
Q21: ext4 為何預留空間?能調整嗎?
- A簡: 預設保留約 5% 給 root 與避免碎片;可用 tune2fs 調整比例。
- A詳: ext4 預留空間降低高使用率時碎片化風險並保證系統可寫入關鍵日誌。對大型資料卷可適度下調預留比例以釋放容量。使用 tune2fs -m <百分比> 可修改,需先卸載或唯讀掛載,並評估風險與效能影響。百分比>
- 難度: 中級
- 學習階段: 核心
- 關聯概念: B-Q15, C-Q2, D-Q10
Q22: 交換空間(Swap)與磁碟空間關係?
- A簡: Swap 以磁碟模擬記憶體,會占用部分空間並影響效能表現。
- A詳: 當 RAM 不足時,系統將不常用頁面換入 Swap(檔案或分割區)。它占用磁碟空間且存取較慢,過度依賴會影響效能。容量規劃需兼顧 RAM 與 Swap 大小。SSD 上使用需評估寫入壽命與 TRIM 支援。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: C-Q2, D-Q1, B-Q8
Q23: 檔案碎片化如何影響容量與效能?
- A簡: 碎片化使檔案分散,降低讀寫效率,但容量影響有限。
- A詳: 碎片化主要造成隨機存取增加、延遲上升,對 HDD 影響明顯;SSD 受快取與控制器影響較小。容量上,多為管理開銷增加,不會造成大幅可用空間消失。定期重組(HDD)或維持足夠空間可緩解。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: B-Q22, D-Q9, A-Q5
Q24: 為何網路常見「磁碟空間太多」梗圖?
- A簡: 因作業系統不會這樣設計,反差幽默;多為惡搞截圖或翻拍。
- A詳: 「磁碟空間太多」違反日常經驗與設計常識,形成反差喜感。實務上系統僅在不足時提醒,太多不構成風險。該梗能引發對容量與告警設計的討論,但不代表實際產品行為。辨識資訊真偽仍重要。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: A-Q2, B-Q24, A-Q15
Q25: 容量規劃的核心原則是什麼?
- A簡: 以基線與成長率估算,預留安全裕度並設計可擴充架構與告警。
- A詳: 收集歷史使用趨勢建立基線,估算日/週/月成長。考慮尖峰、備份快照、臨時檔與災備需求,設定通知與自動清理。架構上採用可線性擴充的方案(LVM、RAID、雲儲存),並定期複核假設以避免過度或不足投資。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: B-Q22, C-Q7, C-Q10
Q26: 虛擬磁碟與實體磁碟有何不同?
- A簡: 虛擬磁碟為檔案形式,容量可薄供應;實體為硬體,容量固定。
- A詳: 虛擬磁碟(VMDK/VHDX)是檔案,支援薄供應(隨用隨長)與快照,易於遷移與備份;實體磁碟固定容量、效能與壽命由硬體決定。虛擬層還有資料存放於資料存放區(datastore)的額外抽象,需同步監控宿主與客體容量避免雙重耗盡。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: B-Q12, C-Q10, D-Q8
Q&A 類別 B: 技術原理類
Q1: 作業系統如何計算可用/已用磁碟空間?
- A簡: 透過檔案系統中繼資料統計已分配區塊與可用區塊,再加上保留與快照因素。
- A詳: 技術原理說明:OS 讀取超級區塊與位圖,統計已用/可用區塊。關鍵步驟或流程:掛載時更新統計、寫入時標記、垃圾收集與回收桶延遲釋放。核心組件介紹:超級區塊、位圖/空間管理器、快照/CoW 模組與保留空間設定。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: A-Q1, A-Q12, B-Q17
Q2: 低空間警示與通知的機制如何運作?
- A簡: 以門檻觸發事件,UI 氣泡或通知中心提示,並寫入事件/系統日誌。
- A詳: 技術原理說明:系統守護行程定期檢查剩餘容量或百分比。關鍵步驟或流程:監控→比較門檻→發送通知→觸發清理策略。核心組件介紹:Windows Storage Service、Linux systemd-tmpfiles/logrotate、通知中心/事件檢視器。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: A-Q3, C-Q4, C-Q5
Q3: 檔案系統位址空間如何決定上限?
- A簡: 由位址寬度與叢集大小決定,受實作與工具限制影響實務上限。
- A詳: 技術原理說明:位址空間=位元數×區塊大小,決定可索引容量。關鍵步驟或流程:格式化時選擇區塊/叢集大小、建立 inode/元資料。核心組件介紹:位址指標、間接塊、B-Tree/Extent、超級區塊設定。
- 難度: 高級
- 學習階段: 進階
- 關聯概念: A-Q10, A-Q8, B-Q19
Q4: 十進位與二進位單位如何在系統中換算?
- A簡: OS 以 2 的次方計算,廠商以 10 的次方標示;顯示與標示產生差異。
- A詳: 技術原理說明:GiB=2^30,GB=10^9;UI 可能簡化顯示。關鍵步驟或流程:系統呼叫 API 取回位元組數,UI 再換算。核心組件介紹:Windows GetDiskFreeSpaceEx、Linux statvfs、macOS NSFileManager 與 ByteCountFormatter。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: A-Q4, A-Q14, D-Q10
Q5: MBR/GPT 分割表的技術原理?
- A簡: MBR 用 32 位 LBA 與四分割;GPT 用 64 位 LBA、備援表與 CRC 校驗。
- A詳: 技術原理說明:GPT 在磁碟頭尾各存分割表並以 CRC 校驗完整性。關鍵步驟或流程:初始化→建立/刪除分割→寫入表→同步備援。核心組件介紹:保護 MBR、主/備 GPT 表、分割項目陣列與 GUID 型分割類型。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: A-Q9, C-Q8, D-Q10
Q6: 配額(Quota)技術架構與流程?
- A簡: 以索引記錄帳號用量,寫入/刪除時檢查限額,逾限觸發警告或拒絕。
- A詳: 技術原理說明:配額檔追蹤空間與 inode 用量。關鍵步驟或流程:啟用配額→掃描建檔→即時更新→軟/硬限制處理。核心組件介紹:quotaon/quotaoff、edquota、內核配額模組與報表工具。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: A-Q11, C-Q6, D-Q3
Q7: inode 的運作機制?
- A簡: inode 儲存檔案中繼資料與資料指標,數量有限,耗盡會阻止新檔建立。
- A詳: 技術原理說明:inode 包含權限、時間戳、資料位址。關鍵步驟或流程:格式化分配 inode 表→建立檔案分配 inode→回收釋放。核心組件介紹:inode 表、資料區塊、目錄項與連結計數(硬/符號連結)。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: A-Q17, D-Q3, B-Q3
Q8: SSD 的 TRIM/GC 原理?
- A簡: TRIM 宣告可回收區塊,GC 內部合併有效資料,減少寫入放大維持效能。
- A詳: 技術原理說明:FTL 將邏輯位址對映至實體頁;TRIM 標記無效頁。關鍵步驟或流程:OS 發 TRIM→控制器標記→閒時 GC 合併→釋放擦除塊。核心組件介紹:FTL、Wear Leveling、SLC/MLC/TLC、OP 保留空間。
- 難度: 高級
- 學習階段: 進階
- 關聯概念: A-Q13, D-Q9, C-Q2
Q9: Journaling 的工作流程與組件?
- A簡: 先寫日誌後提交,異常時回放或回滾,確保一致性與快速復原。
- A詳: 技術原理說明:Write Ahead Logging。關鍵步驟或流程:開始交易→寫日誌→寫資料→標記完成→清理。核心組件介紹:Journal 區、Transaction、Checkpoint、Recovery 程序。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: A-Q20, D-Q7, B-Q1
Q10: RAID 0/1/5/6/10 的原理與取捨?
- A簡: 以條帶與鏡像/校驗達成效能與容錯,容量與可靠度權衡不同。
- A詳: 技術原理說明:條帶分散 I/O,鏡像複製,校驗計算恢復。關鍵步驟或流程:建立陣列→初始化→重建/校驗→失效處理。核心組件介紹:RAID 控制器、條帶大小、校驗演算法(XOR、Q parity)。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: A-Q16, C-Q10, D-Q8
Q11: LVM 的架構與擴容流程?
- A簡: 藉由 PV-VG-LV 抽象彈性管理,支援線上擴充與快照。
- A詳: 技術原理說明:將實體磁碟抽象為 PV,聚合成 VG,分配 LV。關鍵步驟或流程:新增磁碟→pvcreate→vgextend→lvextend→檔案系統擴容。核心組件介紹:PV/VG/LV、PE/LE、thin pool 與快照。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: C-Q7, D-Q1, B-Q12
Q12: Thin Provisioning 的機制?
- A簡: 宣告大容量實際按需配置,提高利用率但需監控底層實際空間。
- A詳: 技術原理說明:邏輯空間大於實體,寫時配置。關鍵步驟或流程:建立 thin pool→配置 thin LV/虛擬磁碟→監控使用→預警溢出。核心組件介紹:thin pool、mapping table、overcommit 比例、宿主資料存放區。
- 難度: 高級
- 學習階段: 進階
- 關聯概念: A-Q18, A-Q26, D-Q8
Q13: Snapshot 的寫入時複製原理?
- A簡: 透過寫入時複製保留舊資料,快照後變更才複製到新區域保存歷史。
- A詳: 技術原理說明:Copy-on-Write。關鍵步驟或流程:建立快照→寫入攔截→保存原資料→更新映射。核心組件介紹:快照索引、參照計數、差異區、合併/清理機制。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: A-Q18, D-Q7, C-Q10
Q14: 壓縮與重複資料刪除的內部機制?
- A簡: 壓縮以編碼減冗,重複刪除以雜湊切塊比對,只存唯一資料。
- A詳: 技術原理說明:串流壓縮(LZ4/zstd)與內容定界切塊(CDC)。關鍵步驟或流程:分塊→計算指紋→查重→引用更新。核心組件介紹:指紋索引、重複區塊存放、即時/離線處理模式。
- 難度: 高級
- 學習階段: 進階
- 關聯概念: A-Q19, C-Q9, D-Q6
Q15: ext4 5% 預留空間的設計原理?
- A簡: 為系統與碎片抑制而設的保護緩衝,可調整以兼顧可靠與容量。
- A詳: 技術原理說明:預留給 root 與日誌,維持低碎片率。關鍵步驟或流程:格式化設定預設比例→可後調整。核心組件介紹:reserved block count、tune2fs 工具、權限檢查與回退策略。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: A-Q21, D-Q10, C-Q2
Q16: Windows Storage Sense 與磁碟清理機制?
- A簡: 自動清理暫存與回收桶,依門檻策略釋放空間並發出提示。
- A詳: 技術原理說明:背景服務監控空間,觸發清理規則。關鍵步驟或流程:偵測→判斷規則→刪除暫存/舊更新→報告。核心組件介紹:StorageService、DISM 清理、Temp/Downloads/WinSxS 管理。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: C-Q1, C-Q4, D-Q4
Q17: df 與 du 為何數字不同?背後機制?
- A簡: df 看檔案系統空間;du 看目錄已可見檔案大小,開啟中已刪檔會造成落差。
- A詳: 技術原理說明:df 讀 superblock 統計;du 遍歷檔案樹加總。關鍵步驟或流程:刪檔但程序仍持有→空間未釋放。核心組件介紹:檔案描述符、link count、/proc/
/fd 觀察與 lsof 工具。 - 難度: 中級
- 學習階段: 核心
- 關聯概念: D-Q2, C-Q2, A-Q12
Q18: API 如何回報磁碟資訊(Windows/Linux/macOS)?
- A簡: 提供系統呼叫與結構回傳容量、分割與檔案系統屬性。
- A詳: 技術原理說明:系統呼叫封裝 VFS/內核資訊。關鍵步驟或流程:應用呼叫→內核查詢→回傳結構。核心組件介紹:Windows GetDiskFreeSpaceEx、Linux statvfs/statfs、macOS URLResourceValues。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: B-Q1, B-Q4, C-Q4
Q19: 檔案系統叢集大小如何影響利用率?
- A簡: 叢集越大小檔浪費越多,但管理成本較低;需依工作負載選擇。
- A詳: 技術原理說明:最小配置單位為叢集,內部碎片造成空間浪費。關鍵步驟或流程:格式化時選擇叢集大小→依檔案分布評估。核心組件介紹:allocation unit、內部碎片、目錄與索引結構影響。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: A-Q23, D-Q10, B-Q3
Q20: 監控系統如何實作磁碟告警(Prometheus 等)?
- A簡: 透過匯出器收集指標,設定規則與警報管道,依門檻通知。
- A詳: 技術原理說明:拉取/推送指標模型。關鍵步驟或流程:部署 node_exporter→抓取 metrics→Alertmanager 規則→通知 Slack/Email。核心組件介紹:Exporter、TSDB、Alertmanager、Rule Engine。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: C-Q5, A-Q15, D-Q7
Q21: 虛擬化平台如何呈現虛擬磁碟大小?
- A簡: 對客體呈現邏輯大小,可薄供應;宿主實際占用需另行監控。
- A詳: 技術原理說明:hypervisor 對映虛擬磁碟檔至客體 block device。關鍵步驟或流程:建立虛擬磁碟→指派給 VM→隨寫入成長。核心組件介紹:VMDK/VHDX、datastore、thin/thick、balloon 驅動。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: A-Q26, B-Q12, D-Q8
Q22: 容量規劃的數學模型與流程?
- A簡: 以線性或季節性模型估算趨勢,設安全邊界,定期校正。
- A詳: 技術原理說明:移動平均、指數平滑、回歸或 Prophet。關鍵步驟或流程:收集→清洗→建模→驗證→部署→迭代。核心組件介紹:時序資料庫、儀表板、告警門檻與 SLO 對應。
- 難度: 高級
- 學習階段: 進階
- 關聯概念: A-Q25, C-Q4, C-Q5
Q23: ZFS/Btrfs 的校驗與自我修復機制?
- A簡: 全域校驗與副本/RAID 搭配 scrub,能發現並修復靜默錯誤。
- A詳: 技術原理說明:每區塊帶 checksum,讀取比對,異常由鏡像/校驗重建。關鍵步驟或流程:寫入→產生校驗→scrub 背景掃描→修復。核心組件介紹:CoW、校驗碼、快照、送出/接收複製。
- 難度: 高級
- 學習階段: 進階
- 關聯概念: A-Q19, B-Q13, D-Q7
Q24: 為何「太多空間」不會變成錯誤?人機介面考量?
- A簡: 錯誤應反映風險與行動,空間多不構成風險,僅在相容或限制上提示。
- A詳: 技術原理說明:使用者介面以問題導向設計,避免噪音告警。關鍵步驟或流程:定義告警準則→評估影響→只在風險時提示。核心組件介紹:通知中心、嚴重度分級、可操作建議(actionable)。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: A-Q2, A-Q24, B-Q2
Q&A 類別 C: 實作應用類(10題)
Q1: 如何在 Windows 快速查看與清理磁碟空間?
- A簡: 以「儲存空間」與「磁碟清理/Storage Sense」檢視並移除暫存、回收桶與舊更新。
- A詳: 具體實作步驟:設定→系統→儲存空間檢視;啟用 Storage Sense;執行磁碟清理或 DISM。關鍵程式碼片段或設定:PowerShell Get-Volume;DISM /Online /Cleanup-Image /StartComponentCleanup。注意事項與最佳實踐:先檢視 WinSxS 影響、避免刪除必要驅動,定期排程清理。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: B-Q16, D-Q4, A-Q15
Q2: 如何在 Linux 檢視與釋放磁碟空間?
- A簡: 用 df/du 檢視,用 journalctl、logrotate、package manager 清理暫存與快取。
-
A詳: 具體實作步驟:df -h、du -sh /* sort -h;journalctl –vacuum-time=7d;apt/yum clean all。關鍵程式碼片段或設定:lsof grep deleted;logrotate 設定週期。注意事項與最佳實踐:先找最大目錄,避免直接 rm -rf /var/log/*,檢查 inode 使用率 df -i。 - 難度: 初級
- 學習階段: 基礎
- 關聯概念: B-Q17, D-Q2, D-Q1
Q3: 如何在 macOS 檢視與釋放磁碟空間?
- A簡: 透過「關於本機→儲存空間」與管理工具,清理快取、下載與 iOS 備份。
- A詳: 具體實作步驟:蘋果選單→關於本機→儲存空間→管理;清理垃圾桶、舊 iOS 備份;使用 tmutil 刪除舊本機快照。關鍵程式碼片段或設定:tmutil listlocalsnapshots /;sudo tmutil deletelocalsnapshots
。注意事項與最佳實踐:避免刪除 Photos/Library 原始檔,先備份。 - 難度: 初級
- 學習階段: 基礎
- 關聯概念: D-Q5, A-Q7, B-Q13
Q4: 如何設定 Windows 磁碟空間告警(PowerShell + 工作排程)?
- A簡: 撰寫腳本檢測門檻並寄信/通知,以工作排程定期執行。
- A詳: 具體實作步驟:撰寫 PowerShell 取用率;門檻比較;寄信。關鍵程式碼片段或設定:Get-PSDrive -PSProvider FileSystem;Send-MailMessage;Task Scheduler 觸發每日執行。注意事項與最佳實踐:使用安全憑證、避免過度通知,分級門檻 80/90/95%。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: B-Q2, B-Q20, A-Q15
Q5: 如何設定 Linux 磁碟空間告警(bash + cron + mail)?
- A簡: 用 shell 腳本檢查 df 門檻,透過 mailx 或 webhook 發送通知並以 cron 排程。
-
A詳: 具體實作步驟:撰寫檢查腳本;設定 /etc/cron.d 排程;配置 mail。關鍵程式碼片段或設定:df -P awk 判斷%>閾值;mail -s “Low disk” admin@;或 curl webhook。注意事項與最佳實踐:限制頻率、寫入日誌、區分系統與資料分割。 - 難度: 中級
- 學習階段: 核心
- 關聯概念: B-Q20, D-Q7, A-Q15
Q6: 如何啟用與設定 Linux 檔案系統配額(ext4/XFS)?
- A簡: 掛載啟用 usrquota/grpquota,建立配額索引並設定使用者/群組限制。
- A詳: 具體實作步驟:/etc/fstab 加 usrquota,grpquota;mount -o remount;quotacheck -cum /;quotaon /;edquota user。關鍵程式碼片段或設定:repquota -a 檢視。注意事項與最佳實踐:先通知使用者、設軟硬限制與寬限期、監控超限事件。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: B-Q6, A-Q11, D-Q3
Q7: 如何擴充 Linux LVM 分割區與檔案系統?
- A簡: 新增磁碟至 VG,再擴展 LV 與檔案系統,確保備份與步驟順序正確。
- A詳: 具體實作步驟:fdisk/gdisk 建 PV→pvcreate→vgextend→lvextend -r /dev/vg/lv。關鍵程式碼片段或設定:xfs_growfs 或 resize2fs。注意事項與最佳實踐:先快照或備份、確認對應檔案系統支援線上擴充、避免超賣 thin pool。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: B-Q11, D-Q1, A-Q6
Q8: 如何將 MBR 磁碟轉 GPT 並擴容(Windows)?
- A簡: 使用 MBR2GPT 工具轉換後以磁碟管理擴展分割,建議先完整備份。
- A詳: 具體實作步驟:確認 UEFI 支援→mbr2gpt /validate /allowFullOS→mbr2gpt /convert→磁碟管理擴充。關鍵程式碼片段或設定:bcdedit 檢查啟動模式。注意事項與最佳實踐:關閉 BitLocker、備份還原點、確保電源穩定。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: A-Q9, B-Q5, D-Q10
Q9: 如何治理 Docker 的磁碟使用與清理?
- A簡: 定期清理未用的 images/containers/volumes,控制日誌與建置快取。
- A詳: 具體實作步驟:docker system df;docker system prune -a;限制 log-opt max-size;使用多階段建置。關鍵程式碼片段或設定:/etc/docker/daemon.json 設定日誌輪替。注意事項與最佳實踐:先審核影響、避免刪除在用 volume、加上保留標籤。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: D-Q6, A-Q19, B-Q17
Q10: 如何在虛擬化平台擴展虛擬磁碟(VMware/Hyper-V)?
- A簡: 先在宿主擴大虛擬磁碟,再於客體 OS 擴容分割與檔案系統。
- A詳: 具體實作步驟:vSphere/Hyper-V 擴大 VMDK/VHDX→客體辨識新容量→擴展分割(gparted/diskmgmt)→擴充檔案系統。關鍵程式碼片段或設定:Windows diskpart;Linux growpart + resize2fs。注意事項與最佳實踐:備份、關閉快照、注意 thin datastore 可用空間。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: A-Q26, B-Q21, D-Q8
Q&A 類別 D: 問題解決類(10題)
Q1: 遇到「No space left on device」怎麼辦?
- A簡: 先確認 df 與 df -i,再找出最大目錄與異常檔案,清理或擴容並建立告警。
- A詳: 問題症狀描述:寫入失敗、服務中斷、錯誤 ENOSPC。可能原因分析:空間或 inode 用盡、日誌暴增、快照佔用。解決步驟:df/df -i→du 排查→lsof 找已刪仍占用→清理與重啟相關程序→暫時擴容。預防措施:告警門檻、logrotate、容量規劃。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: B-Q17, C-Q2, A-Q15
Q2: 為何 df 與 du 數字不一致?如何處理?
- A簡: 已刪但仍被程序開啟的檔案未釋放,需找出程序並重啟或關閉。
-
A詳: 問題症狀描述:df 顯示滿、du 看不出大檔。可能原因分析:deleted 檔案被占用、掛載點被覆蓋。解決步驟:lsof grep deleted;檢查 /proc/*/fd;重啟相關服務。預防措施:監控 open files、定期輪轉日誌避免巨檔。 - 難度: 中級
- 學習階段: 核心
- 關聯概念: B-Q17, C-Q2, A-Q12
Q3: inode 用盡但空間未滿如何處理?
- A簡: 清理大量小檔、調整配額或以較大 inode 比例重新格式化。
- A詳: 問題症狀描述:無法建立新檔,df -i 100%。可能原因分析:小檔暴增、配額限制。解決步驟:找出含大量小檔目錄→壓縮/打包或清理→必要時搬移資料並以較高 inode 密度重建檔案系統。預防措施:限制暫存檔生成、logrotate、配額控管。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: A-Q17, B-Q7, C-Q6
Q4: Windows 更新因空間不足失敗如何解決?
- A簡: 執行磁碟清理與 DISM,移除舊更新,暫時外接儲存或擴容系統分割。
- A詳: 問題症狀描述:Windows Update 錯誤代碼與安裝中止。可能原因分析:WinSxS/暫存檔占滿。解決步驟:磁碟清理→DISM /StartComponentCleanup→移除暫存與回收桶→外接儲存作為臨時空間→擴展 C 槽。預防措施:啟用 Storage Sense、保留至少 20GB 可用空間。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: C-Q1, B-Q16, A-Q15
Q5: macOS 顯示已滿但找不到大檔,怎麼辦?
- A簡: 檢查本機快照與系統資料,使用 tmutil 移除舊快照並重新索引。
- A詳: 問題症狀描述:儲存管理顯示「系統資料」占用異常。可能原因分析:Time Machine 本機快照、Spotlight 索引、容器共享。解決步驟:tmutil listlocalsnapshots;刪除舊快照;sudo mdutil -E / 重建索引。預防措施:定期外接備份、保留足夠空間。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: C-Q3, B-Q13, A-Q7
Q6: Docker 占滿磁碟如何清理?
- A簡: 清理未用映像、容器、建置快取與日誌,設定日誌輪替與保留策略。
- A詳: 問題症狀描述:/var/lib/docker 暴增、ENOSPC。可能原因分析:dangling images、無限制日誌、層快取。解決步驟:docker system prune -a;清理未用 volumes;調整 log-opt。預防措施:CI 建置策略、定期清理、監控磁碟使用。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: C-Q9, B-Q14, A-Q19
Q7: 日誌暴增造成空間不足如何控管?
- A簡: 啟用 logrotate/壓縮與保留天數,審核日誌等級與輸出目的地。
- A詳: 問題症狀描述:/var/log 或應用日誌迅速成長。可能原因分析:DEBUG 等級、rotate 失效。解決步驟:檢查 logrotate 設定→啟用壓縮與 size/time 觸發→調整日誌等級→導向集中式系統。預防措施:容量告警、守門檻自動壓縮。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: B-Q9, C-Q2, B-Q20
Q8: VM thin 虛擬磁碟佔滿 datastore 如何緊急處理?
- A簡: 立刻暫停高寫入 VM、釋放宿主空間、擴展 datastore 或 Storage vMotion。
- A詳: 啍題症狀描述:datastore 到達 100%,VM I/O 錯誤。可能原因分析:過度薄供應、快照堆疊。解決步驟:刪除不必要快照→清理 ISO/暫存→臨時加掛存放→Storage vMotion→擴容。預防措施:監控使用率、設定門檻、限制 overcommit。
- 難度: 高級
- 學習階段: 進階
- 關聯概念: B-Q12, C-Q10, A-Q26
Q9: SSD 空間不足導致效能下降,如何復原?
- A簡: 釋放空間、確保 TRIM 啟用、預留 OP 空間並更新韌體。
- A詳: 問題症狀描述:寫入延遲升高、吞吐下降。可能原因分析:寫入放大、GC 壓力、TRIM 未啟用。解決步驟:釋放 10–20% 空間→驗證 TRIM(fstrim/defrag /L /O)→預留過度配置→韌體更新。預防措施:維持空間裕度、自動 fstrim 排程。
- 難度: 中級
- 學習階段: 核心
- 關聯概念: B-Q8, C-Q2, A-Q5
Q10: 容量顯示遠小於標示,如何診斷?
- A簡: 檢查單位換算、分割表、RAID/保留空間與快照,占用來源逐一排除。
- A詳: 問題症狀描述:新磁碟可用顯示明顯較小。可能原因分析:GB/GiB 差異、分割未擴展、RAID 校驗、ext4 預留、快照。解決步驟:確認單位→列出分割與檔案系統→檢查預留與快照→必要時擴展。預防措施:規劃叢集大小、初始化時正確設定。
- 難度: 初級
- 學習階段: 基礎
- 關聯概念: A-Q4, A-Q14, B-Q15
學習路徑索引
- 初學者:建議先學習哪 15 題
- A-Q1: 什麼是「磁碟空間」?
- A-Q2: 作業系統會顯示「磁碟空間太多」嗎?
- A-Q3: 為什麼會顯示「磁碟空間不足」?
- A-Q4: 磁碟容量的單位與換算方式是什麼?
- A-Q5: 磁碟(HDD)與固態硬碟(SSD)有何差異?
- A-Q7: 什麼是檔案系統?常見有哪些?
- A-Q8: NTFS、exFAT、FAT32、ext4、APFS 有何差異?
- A-Q14: 為何實際容量小於包裝標示?
- A-Q15: 為什麼需要監控磁碟空間?
- A-Q23: 檔案碎片化如何影響容量與效能?
- B-Q4: 十進位與二進位單位如何在系統中換算?
- B-Q2: 低空間警示與通知的機制如何運作?
- C-Q1: 如何在 Windows 快速查看與清理磁碟空間?
- C-Q2: 如何在 Linux 檢視與釋放磁碟空間?
- D-Q1: 遇到「No space left on device」怎麼辦?
- 中級者:建議學習哪 20 題
- A-Q6: 什麼是「分割區」與「卷」?
- A-Q9: MBR 與 GPT 有什麼不同?
- A-Q10: 檔案系統的最大檔案與容量限制?
- A-Q11: 什麼是磁碟配額(Quota)?
- A-Q12: 為何空間看似足夠仍無法寫入?
- A-Q16: 什麼是 RAID?為何影響容量與可靠度?
- A-Q17: Linux 中 inode 與磁碟使用率差在哪?
- A-Q18: 什麼是稀疏檔(Sparse file)?
- B-Q1: 作業系統如何計算可用/已用磁碟空間?
- B-Q5: MBR/GPT 分割表的技術原理?
- B-Q6: 配額(Quota)技術架構與流程?
- B-Q7: inode 的運作機制?
- B-Q9: Journaling 的工作流程與組件?
- B-Q11: LVM 的架構與擴容流程?
- B-Q17: df 與 du 為何數字不同?背後機制?
- C-Q4: 如何設定 Windows 磁碟空間告警(PowerShell + 工作排程)?
- C-Q5: 如何設定 Linux 磁碟空間告警(bash + cron + mail)?
- C-Q6: 如何啟用與設定 Linux 檔案系統配額(ext4/XFS)?
- C-Q7: 如何擴充 Linux LVM 分割區與檔案系統?
- D-Q2: 為何 df 與 du 數字不一致?如何處理?
- 高級者:建議關注哪 15 題
- A-Q19: 什麼是資料重複刪除與壓縮?差異?
- A-Q21: ext4 為何預留空間?能調整嗎?
- A-Q26: 虛擬磁碟與實體磁碟有何不同?
- B-Q3: 檔案系統位址空間如何決定上限?
- B-Q8: SSD 的 TRIM/GC 原理?
- B-Q10: RAID 0/1/5/6/10 的原理與取捨?
- B-Q12: Thin Provisioning 的機制?
- B-Q13: Snapshot 的寫入時複製原理?
- B-Q14: 壓縮與重複資料刪除的內部機制?
- B-Q15: ext4 5% 預留空間的設計原理?
- B-Q20: 監控系統如何實作磁碟告警(Prometheus 等)?
- B-Q21: 虛擬化平台如何呈現虛擬磁碟大小?
- B-Q22: 容量規劃的數學模型與流程?
- B-Q23: ZFS/Btrfs 的校驗與自我修復機制?
- D-Q8: VM thin 虛擬磁碟佔滿 datastore 如何緊急處理?