我正在运行 Debian,需要设置 NFS 服务器。我的服务器有五个相同的 2TB 磁盘。我需要设置文件夹配额。我计划使用软件 raid,将五个磁盘中的 3 个放入一个 raid 5 池,并使用剩余的两个磁盘作为备份空间。我觉得使用 RAID 和配额以及 NFS 管理起来有点麻烦。我很想使用类似 ZFS 的工具来简化所有这些工作,但我想知道 Linux 中是否有任何竞争软件。
作为一名新手系统管理员,我想知道是否有更好的系统可以在 Linux 下完成所有这些操作。
答案1
答案实际上取决于您设想如何使用备份驱动器。如果您打算将其用作热备用,我建议使用所有驱动器并使用 RAID6,这样您就可以在第三个磁盘发生故障而冒丢失数据的风险之前丢失两个驱动器。如果您只是使用它来备份以防出现文件系统问题或意外删除数据,那么我建议将所有驱动器用作 RAID5。
我逐渐意识到硬件 RAID 付出的努力比它的价值要多。软件 RAID 并不慢很多,在某些情况下甚至比硬件 RAID 快得多。软件 RAID 更易于管理,而硬件 RAID 只是另一个容易发生故障的组件,具有不兼容的元数据标准。
我建议你在 RAID 阵列上配置 LVM(逻辑卷管理)。这比任何标准分区都具有更大的灵活性。你可以增加分区的大小,对于某些文件系统,还可以减小它们的大小。大多数文件系统都允许你在挂载文件系统时增加大小。它还允许你执行其他管理任务,例如通过在卷组中添加和删除块设备,轻松地将正在使用的文件系统从一个设备迁移到另一个设备。一个有用的提示是,由于某些文件系统(如 XFS)无法缩小,因此你应该首先创建尽可能小的文件系统,并留出足够的空间以便在需要时扩展文件系统。
答案2
如果您使用 XFS 作为文件系统(您可能希望这样做,因为您将拥有约 8TB 的磁盘),则可以设置每个目录的配额。他们称该功能为“项目配额”,启动和运行它们有点麻烦,但一旦您弄清楚了它们,就会运行得相当好。
您可以阅读man 8 xfs_quota
以了解有关它们的更多信息。
基本上你需要两个文件:/etc/projects
和/etc/projid
。文件中/etc/projects
有一个 ID:目录映射,例如:
10:/mnt/raid/foo1
10:/mnt/raid/foo2
20:/mnt/raid/bar
然后在/etc/projid
文件中你有一个项目名称:ID 映射的列表:
foo:10
bar:20
您可以挂载启用了项目配额的文件系统mount -o pquota /dev/md0 /mnt/raid
,然后设置配额:
xfs_quota -x -c 'project -s foo' /mnt/raid
xfs_quota -x -c 'project -s bar' /mnt/raid
xfs_quota -x -c 'limit -p bhard=10g foo' /mnt/raid
xfs_quota -x -c 'limit -p bhard=20g bar' /mnt/raid
第一个命令设置文件系统中的配额元数据,第二个命令设置硬块限制。与使用 LVM 卷相比,这样做的好处是您可以增加或减少配额分配,还可以设置软配额,这样当目录开始使用大量空间时,您就可以收到警告(请参阅 命令report
)xfs_quota
。
缺点是该功能仅适用于 XFS 文件系统,因此除 XFS 之外的任何工具都不支持这些项目配额。
答案3
另外,由于你计划设置文件服务器,因此可能需要考虑使用面向文件服务器的 Linux 发行版,例如开放文件管理器,通过 Web 界面进行配置可能会更容易,并且如果需要,您仍然可以深入到低级的内容。
答案4
关于 NFS 下的配额,Red Hat 手册说:
rpc.rquotad — 该进程为远程用户提供用户配额信息。该进程由 nfs 服务自动启动,不需要用户配置。