溫馨提示×

Overlay文件系統如何工作

小樊
46
2025-08-08 22:28:30
欄目: 編程語言

Overlay文件系統通過聯合掛載將多個目錄層(lowerdir、upperdir等)合并為統一視圖,核心工作流程如下:

  1. 組成結構

    • lowerdir:只讀層,存儲基礎文件(如容器鏡像層)。
    • upperdir:可寫層,保存用戶修改的數據。
    • merged:最終呈現的合并視圖,用戶直接訪問。
    • workdir:臨時工作目錄,確保操作原子性(如刪除時創建whiteout文件)。
  2. 關鍵操作邏輯

    • 文件讀取
      1. 先在upperdir查找,存在則直接讀取。
      2. 不存在則到lowerdir查找,支持多層lowerdir疊加。
    • 文件修改
      • 若修改upperdir已有文件,直接寫入upperdir。
      • 若修改lowerdir文件,觸發寫時復制(CoW):將文件從lowerdir復制到upperdir,再在上層修改。
    • 文件刪除
      • 刪除lowerdir文件時,在upperdir創建whiteout文件(隱藏lower層文件)。
      • 刪除upperdir文件時,標記為opaque(直接刪除)。
  3. 特性與優勢

    • 節省空間:僅存儲差異數據,避免重復拷貝基礎層。
    • 性能優化:多數操作在upperdir完成,減少磁盤IO。
    • 原子性操作:通過workdir確保修改的完整性。

典型應用:Docker容器存儲、Live CD/USB、軟件測試環境等。
掛載命令示例:

mount -t overlay overlay -o lowerdir=/lower1:/lower2,upperdir=/upper,workdir=/work /merged  

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女