小编kkt*_*uri的帖子

制作或文件缓存之前强制的tmpfs来交换

考虑以下场景。您有一个安装了 Linux的慢速只读媒体(例如写保护的拇指驱动器、CD/DVD 等)(不是 Live CD 本身,而是正常版本),并且在没有字面意义的计算机上使用它其他形式的存储。它很慢,因为它是 USB 2。根文件系统作为overlayfs 挂载,因此它对于日志和您所做的许多其他临时工作是“可写的”,但所有写入都转到 RAM (tmpfs upperdir)。为Live发行情况非常典型的场景。

由于没有其他形式的存储,swap 挂载在 zram 上。因此,当 Linux 决定交换时,它会压缩这些页面并将它们仍然存储在 RAM 中,但至少它们是被压缩的。这实际上很不错,因为大多数应用程序的 RAM 很容易压缩(RAM 通常在数据中非常冗余,因为它意味着“快速”)。这适用于应用程序内存,但不适用于 tmpfs。

事情是这样的:zram很快,令人难以置信。另一方面,拇指驱动器很慢。假设它是 20 MiB/s,相比之下这真的很慢。您可以在这里看到问题以及为什么内核不会做正确的事情。

请注意,此问题不是重复如何使 TMPFS 内的文件更可能交换。问题几乎相同,但我对那个问题的答案并不满意,抱歉。内核绝对不会自行做“正确的事”,不管如何聪明的人设计它是。我不喜欢人们不了解情况并认为他们更了解情况。他们迎合一般情况。这就是 Linux 具有如此可调整性的原因,因为无论它多么智能,它都无法预测它的用途。

例如,我可以(并且确实)将vm.swappiness (/proc/sys/vm/swappiness) 设置为 100,这告诉它积极交换应用程序内存并保留文件缓存。这个选项很好,但不幸的是,它不是全部。

我希望它在处理交换时将文件缓存优先于任何其他 RAM 使用。这是因为丢弃文件缓存导致它不得不从慢20 MIB /秒的驱动器,这是多读回比交换zram慢。对于应用程序,vm.swappiness 有效,但不适用于 tmpfs。

tmpfs 挂载为页缓存,因此它与文件缓存具有相同的优先级。如果您从 tmpfs 读取文件,它将优先于较旧的文件缓存条目(最近使用)。但是,这是不好的,内核显然没有做正确的事情在这里。应该考虑将 tmpfs 交换为 zram 比文件缓存“最近使用”要好得多,因为从驱动器读取非常慢。

所以我需要明确地告诉它与文件缓存相比更频繁地从 tmpfs 交换:它应该比 tmpfs 保留更多的文件缓存。/proc/sys/vm 中有很多选项,但我找不到。真让人失望。

如果做不到这一点,有没有办法告诉内核某些设备/驱动器比其他设备/驱动器慢得多,并且它应该比其他人更愿意为它们保留缓存?tmpfs 和 zram 很快。拇指驱动器不是。我可以告诉内核这个信息吗? …

linux cache swap zram tmpfs

7
推荐指数
1
解决办法
1173
查看次数

防止位腐烂(或验证)的简单备份解决方案

我正在寻找一种简单的解决方案来防止存储在各种驱动器上的数据发生随机位翻转(所谓的位腐烂)。它们不是磁盘阵列,只是单个磁盘,我每周备份一次。所以我不是在寻找冗余,而是为了文件完整性——即我想知道我很长时间没有访问过的文件是否被随机损坏,并希望在可能的情况下修复它们。

请注意,我想要一个通用的解决方案,我并不是在寻找像 ZFS 或 btrfs(我已经知道)之类的文件系统,部分原因是它们仅用于校验和的开销太大,而且它们太复杂了/ 不稳定(btrfs 情况)。

它不一定是自动的。也就是说,如果我必须运行一个命令来为新写入的文件生成校验和(可能还有恢复),那很好,但它应该易于使用,而不是像手动存储校验和并验证然后将坏文件复制回来等(我已经在做,这就是为什么我要求更简单,更少手动的东西)。

乍一看,SnapRAID似乎做我想做的,除了它是为磁盘阵列制作的,这是我的问题。我认为它可以只使用 1 个数据磁盘和 1 个奇偶校验磁盘,在这种情况下,奇偶校验磁盘可能是数据磁盘的镜像(备份),但我不确定。

除此之外,它可以满足我的需求:校验和文件,验证这一点的能力,甚至可以从备份(奇偶校验)中修复它们。我仍然会在外部媒体上每周运行一次备份,但是这个本地备份需要更少的手动操作,因为它开始变得难以管理。

是否还有其他工具,例如SnapRAID仅针对 1 个数据磁盘或文件系统而设计的工具,它们通过自动校验和/备份进行保护,还是我应该使用SnapRAID?只有 1 个磁盘可以正常工作吗?

因为它使用奇偶校验磁盘进行备份,所以在使用它之前我必须完全擦除我的本地备份磁盘SnapRAID,所以我犹豫是否只是为自己“测试”而无需确认。这样做的一个缺点是奇偶校验磁盘不能作为普通磁盘访问,即使在这种情况下它不是真正的奇偶校验磁盘而只是一个镜像。

因此,如果有另一个类似的易于使用的工具来处理1 个磁盘而不是磁盘阵列的文件的备份和完整性,我想知道。谢谢。

backup checksum disk integrity

5
推荐指数
1
解决办法
1164
查看次数

标签 统计

backup ×1

cache ×1

checksum ×1

disk ×1

integrity ×1

linux ×1

swap ×1

tmpfs ×1

zram ×1