我有一个 Nexenta ZFS 系统,用于处理大型 NFS 卷(使用了 250 TB 的约 85%)。一周前,70 个磁盘中的一个发生故障,系统正在重新同步热备用磁盘,没有任何问题(除了由于密集的重新同步 I/O 而导致的大量性能损失)。
我知道拥有更多的可用空间将减少将来重新同步所需的时间,因此我计划很快从 NFS 卷中清理约 70 TB。
但我不确定是否进行清理在当前重新同步期间是否会导致问题,或者它是否会减少当前重新同步所需的时间,这引出了我的问题:
- 删除文件会对正在进行的 ZFS 重新同步产生负面影响吗?
系统信息:
# uname -a
SunOS stor-nas02a 5.11 NexentaOS_4:55745843a2 i86pc i386 i86pc
阵列信息:
- 7x raidz2(每个 10 个磁盘)
- 2 个 SLOG 镜子
- 各种备用件和缓存
- 地位:
action: Wait for the resilver to complete.
scan: resilver in progress since _________
29.7T scanned out of 199T at 60.2M/s, (scan is slow, no estimated time) # the 199 TB is compressed
451G resilvered, 14.92% done
答案1
任何用户空间存储操作都可以执行,但它们确实会在执行过程中有效地停止重新同步。ZFS 优先考虑正常操作(使用文件系统),而不是重新同步操作。重新同步以非连续顺序读取池中的所有数据,并仅将所需数据写入新磁盘。删除与写入没有太大区别,特别是因为我想您可能有快照,这意味着删除在磁盘命中方面基本上是非操作。
我不建议在重新同步期间销毁快照。但这并不是出于安全考虑或担心数据丢失,而是因为这会使池变得毫无用处。几年前的记忆告诉我,在单个磁盘重新同步时,小型(25TB 12x2TB,ZIL 和 SLOG 在~fast SSD 上)池的性能下降会破坏~1TB,导致系统大约一天无法使用。
简而言之,ZFS 尽其所能为您提供对数据的可靠访问,并让您正常使用数据,同时它在后台完成所有日常工作。重新同步至关重要,但它们也是可中断的后台任务。