Linux

rsnapshot 專用驅動器的最佳文件系統類型和掛載選項

  • July 22, 2011

我們有一個外部 USB 2 驅動器,我們將其用作配置的備份驅動器。我們使用rsnapshot進行備份。它使用一些標準命令來管理快照:

  1. rm -rf: 刪除過期的快照
  2. mv: 將較舊的快照向下移動到一個插槽
  3. cp -al: 將最後一個快照複製到新插槽
  4. rsync -a --delete --numeric-ids --relative: 同步新快照

正如您在下面的日誌中所看到的,大部分時間都花在了rm -rf這些cp -al步驟上:

[25/Dec/2010:14:00:02] rsnapshot hourly: started
[25/Dec/2010:14:00:02] echo 21012 > /var/run/rsnapshot.pid
[25/Dec/2010:14:00:02] rm -rf /mnt/extdrive/snapshots/hourly.5/
[25/Dec/2010:14:15:48] mv /mnt/extdrive/snapshots/hourly.4/ /mnt/extdrive/snapshots/hourly.5/
[25/Dec/2010:14:15:48] mv /mnt/extdrive/snapshots/hourly.3/ /mnt/extdrive/snapshots/hourly.4/
[25/Dec/2010:14:15:48] mv /mnt/extdrive/snapshots/hourly.2/ /mnt/extdrive/snapshots/hourly.3/
[25/Dec/2010:14:15:48] mv /mnt/extdrive/snapshots/hourly.1/ /mnt/extdrive/snapshots/hourly.2/
[25/Dec/2010:14:15:48] cp -al /mnt/extdrive/snapshots/hourly.0 /mnt/extdrive/snapshots/hourly.1
[25/Dec/2010:14:23:32] rsync -a --delete --numeric-ids --relative /etc /mnt/extdrive/snapshots/hourly.0/sm4/
[25/Dec/2010:14:23:52] touch /mnt/extdrive/snapshots/hourly.0/
[25/Dec/2010:14:23:52] rm -f /var/run/rsnapshot.pid
[25/Dec/2010:14:23:52] rsnapshot hourly: completed successfully

我的問題:

  1. 我目前正在使用 ext4 作為文件系統。也許這不是 Red Hat 提供的最佳選擇。有人有什麼建議可以加快這個過程嗎?
  2. 分區的掛載選項是sync,dirsync 1 2. 有沒有辦法優化它,因為它只用於 rsnapshot?當然,推理將不勝感激。
  1. ext4 沒問題。
  2. “sync,dirsync” 選項使數據和元數據更新同步,這對大多數工作負載的性能造成重大負面影響。刪除這些選項很可能會提高性能,但是您必須記住在拉電纜之前解除安裝設備,否則您可能會失去數據(大概這就是為什麼首先添加這些選項的原因,它們不是預設選項,或者也許這是您的發行版為 USB 設備所做的某種特殊魔法)。
  3. noatime 禁用 atime 更新,從而減少對文件系統的寫入量。或多或少所有應用程序,包括 rsnapshot,都不需要 atimes,所以這應該是完全安全的。
  4. data=writeback 減少了日誌的成本,代價是在電源故障的情況下稍微增加了失去數據的可能性。根據發行版,這可能已經是預設設置。
  5. 使用 ext4 也可以完全禁用日誌(從核心 2.6.29 開始),儘管我不建議這樣做。這仍然具有 ext4 的所有其他改進,因此這應該比使用 ext2、fwiw 更快。
  6. barrier=0 禁用屏障,這會提高寫入性能,但會增加崩潰中數據失去的可能性。

引用自:https://serverfault.com/questions/216097