我们注意到 NetApp 文件管理器上的一个卷存在问题。NetApp 通知,该卷似乎已满,该卷正在使用或保留 100% 的空间(0% 的 inode)- 这显示为警告。问题是,它看起来不是这样。卷大小为 190 GB。卷为灵活类型,文件空间保证,无镜像。我们在映射的卷上恰好有两个 LUN。95 GB 和 50 GB。它们都设置为为快照保留 0%。两者都有空间预留。卷上仍有很多空间(理论上)。df -r 显示:
Filesystem kbytes used avail reserved Mounted on
/vol/BACKUP/ 199229440 199229440 0 142799672 /vol/BACKUP/
聚合上还有一些可用空间。我们在同一个聚合上有类似的卷和 LUN(相同配置),它们完全没问题。我们有新的机架,我们想将一些数据迁移到那里,在安装新机架之前,我们要确保我们备份了所有数据。然而,由于这个特定的卷,备份失败(没有快照的可用空间)。
补充:如果我检查生产系统上占用的空间,两个 LUN 都映射了,则只有 94 GB。
答案1
看一下man vol
并读一下相关内容fractional reserve
——这就是问题的根源。
具体来说,当 LUN 空间不足时,它们会严重损坏并可能导致主机混乱。NetApp 允许您对卷进行快照 - 快照会按卷上更改的块比例使用空间。如果您的卷已填满,并且您无法分配新的块,因为存在快照...您的 LUN 将全部中断。
因此引入了部分预留,即“每当我拍摄快照时,保留卷空间,这样我就不会冒用完的风险”。设置为 100,每个卷(当存在快照时)尝试保留等于分配的 LUN 空间总和的空间 - 这意味着卷需要达到大小的 200% 才能确保您不会用完。
降低部分储备是有风险的,但如果您不定期循环 LUN 中的所有数据,风险并不大。请记住,用完将意味着 LUN 写入失败,这通常是个坏消息。您还可以调整卷保证选项 -file
保证与fractional reserve 100
意味着您的卷需要是其中 LUN 大小的 200%(如果您有多个快照,则为 +一些,尽管每个快照不会是 +100%)。
答案2
我见过这个问题。LUN 的工作方式是,当您写入扇区时,这些扇区的原始内容将被取消分配,但不会从卷中清除,直到使用它们的任何快照被删除。就我而言,我没有快照 LUN,但我们遇到了电源故障,我们的 UPS 只覆盖了两个电源电路中的一个。在这种情况下,NAS 会优先清理未使用的块。
最佳实践是在每个卷中放置一个 LUN。精简配置 LUN,然后在包含的卷上设置自动增长。我密集配置卷。这意味着只要 LUN 仍然基本未使用,您就永远不会遇到麻烦。当每个扇区都已写入并且它们开始大量覆盖时,卷将稍微增长以适应 LUN 增加的占用空间,而不是脱机。当然,服务器仍然看到相同大小的 LUN,因此一旦这种情况结束,空间利用率就会恢复正常。
对 LUN 进行精简配置的命令是lun set reservation lunpath disable
。在卷上配置自动增长的命令是vol autosize volname -m 100g -i 5g on
(将最大值设置为 100GB,并每次增加 5GB)。