Bel*_*dez 3 linux backup filesystems mount rsnapshot
我们有一个外部 USB 2 驱动器,用作我们配置的备份驱动器。我们使用rsnapshot进行备份。它使用一些标准命令来管理快照:
rm -rf
: 删除过期的快照mv
:将旧快照向下移动一个插槽cp -al
: 将上一个快照复制到新插槽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
Run Code Online (Sandbox Code Playgroud)
我的问题:
我目前使用 ext4 作为文件系统。也许这不是 Red Hat 中可用的最佳选择。有人有任何建议可以加快进程吗?
分区的挂载选项是sync,dirsync 1 2
. 有没有办法优化它,因为它仅用于 rsnapshot?当然,推理将不胜感激。
ext4 没问题。
“sync,dirsync”选项使数据和元数据更新同步,这对大多数工作负载的性能是一个主要的负面影响。删除这些选项很可能会提高性能,但是您必须记住在拔电缆之前卸载设备,否则您可能会丢失数据(大概这就是为什么首先添加这些选项的原因,它们不是默认选项,或者也许这是您的发行版为 USB 设备提供的某种特殊魔法)。
noatime 禁用 atime 更新,从而减少对文件系统的写入量。或多或少所有应用程序,包括 rsnapshot,都不需要 atime,所以这应该是完全安全的。
data=writeback 减少了日志的开销,代价是稍微增加了在断电情况下丢失数据的可能性。根据发行版,这可能已经是默认设置。
使用 ext4 也可以完全禁用日志(从内核 2.6.29 开始),尽管我不推荐那个。这仍然具有 ext4 的所有其他改进,因此这应该比使用 ext2、fwiw 更快。
屏障=0 禁用屏障,从而提高写入性能,代价是增加崩溃中数据丢失的可能性。