rsnapshot 专用驱动器的最佳文件系统类型和安装选项

Bel*_*dez 3 linux backup filesystems mount rsnapshot

我们有一个外部 USB 2 驱动器,用作我们配置的备份驱动器。我们使用rsnapshot进行备份。它使用一些标准命令来管理快照:

  1. rm -rf: 删除过期的快照
  2. mv:将旧快照向下移动一个插槽
  3. cp -al: 将上一个快照复制到新插槽
  4. rsync -a --delete --numeric-ids --relative: 同步新快照

正如您在下面的日志中看到的那样,大部分时间都花在了rm -rfcp -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
Run Code Online (Sandbox Code Playgroud)

我的问题:

  1. 我目前使用 ext4 作为文件系统。也许这不是 Red Hat 中可用的最佳选择。有人有任何建议可以加快进程吗?

  2. 分区的挂载选项是sync,dirsync 1 2. 有没有办法优化它,因为它仅用于 rsnapshot?当然,推理将不胜感激。

jan*_*neb 5

  1. ext4 没问题。

  2. “sync,dirsync”选项使数据和元数据更新同步,这对大多数工作负载的性能是一个主要的负面影响。删除这些选项很可能会提高性能,但是您必须记住在拔电缆之前卸载设备,否则您可能会丢失数据(大概这就是为什么首先添加这些选项的原因,它们不是默认选项,或者也许这是您的发行版为 USB 设备提供的某种特殊魔法)。

  3. noatime 禁用 atime 更新,从而减少对文件系统的写入量。或多或少所有应用程序,包括 rsnapshot,都不需要 atime,所以这应该是完全安全的。

  4. data=writeback 减少了日志的开销,代价是稍微增加了在断电情况下丢失数据的可能性。根据发行版,这可能已经是默认设置。

  5. 使用 ext4 也可以完全禁用日志(从内核 2.6.29 开始),尽管我不推荐那个。这仍然具有 ext4 的所有其他改进,因此这应该比使用 ext2、fwiw 更快。

  6. 屏障=0 禁用屏障,从而提高写入性能,代价是增加崩溃中数据丢失的可能性。