Filesystems

使用具有送出能力的差異,也就是覆蓋,也就是聯合,文件系統

  • August 17, 2011

我在兩台 PC 上工作,我將所有文件從我的主 PC 同步到 USB 快閃記憶體。在我的第二台 PC 中,我將 USB 快閃記憶體安裝到與在我的主 PC 上相同的路徑來處理我的文件。

現在為了性能和快閃記憶體壽命,我需要使用任何類型的差異,也就是覆蓋,也就是聯合,文件系統(如 unionfs 或 aufs)讓我將 USB 快閃記憶體盤用作只讀和寫入更改到一個臨時目錄,最後允許我立即將更改寫回 USB 快閃記憶體。

有什麼幫助嗎?有希望嗎?

更新:

感謝您的所有回答和評論。我對 Linux 感興趣,我的問題是:上述任何文件系統是否允許在需要時將寫入送出到較低的文件系統?如果是,如何?

有一個名為“快照合併”的新 dm 目標。

如果您將 USB 快閃記憶體格式化為 LVM 物理卷,然後在邏輯卷中找到所需的文件系統,您可以

  1. 啟動包含 USB 快閃記憶體的捲組和本地磁碟上的另一個 LVM 物理卷。
  2. 在本地磁碟上創建邏輯卷的快照。
  3. 掛載快照,用它做任何你想做的事,然後解除安裝它。
  4. 將快照合併回原點。

這應該接近您所要求的,儘管它需要一個暫存塊設備而不是臨時目錄。


酌情替換用 {braces} 括起來的部分。

# USB 驅動器的初始設置。
pvcreate /dev/{USB}
vgcreate {可移動} /dev/{USB}
lvcreate -n {base} -l 100%PVS {removable} /dev/{USB}
mkfs -t {fs} {...} /dev/mapper/{removable}-{base}
# 暫存設備的初始設置。
pvcreate /dev/{SCRATCH}
# 安裝設備。
vgextend {可移動} /dev/{SCRATCH}
lvcreate -s -n {snap} -l 100%ORIGIN /dev/mapper/{removable}-{base} /dev/{SCRATCH}
mount -t {fs} -o {...} /dev/mapper/{removable}-{snap} {MOUNTPOINT}
# 解除安裝設備。
解除安裝 {MOUNTPOINT}
lvconvert --merge /dev/mapper/{removable}-{snap}
vgreduce {可移動} /dev/{SCRATCH}
vgchange -an {可移除}

未經測試,但所有 LVM 命令都有聯機幫助頁,因此您應該能夠從這裡弄清楚。如果在插入 USB 驅動器時未自動檢測到卷組,您可能需要vgscan在某處進行呼叫。

引用自:https://unix.stackexchange.com/questions/1970