Linux下的NFS服务器通过多个磁盘

我运行的是Debian,需要安装一个NFS服务器。 我的服务器有五个相同的2TB磁盘。 我将需要设置文件夹配额。 我计划使用软件突袭,将5个磁盘中的3个放入一个RAID 5池中,并使用剩余的两个磁盘作为备份空间。 我觉得使用RAID和配额和NFS是有点痛苦的pipe理。 我很乐意使用类似ZFS的工具来使所有这些工作更容易,但是我想知道Linux中是否有任何有竞争力的软件。

作为一个新手系统pipe理员,我想知道在Linux下是否有更好的系统来完成这一切。

答案真的取决于你如何设想你正在使用的备份驱动器。 如果您想象使用它作为热备份,我build议您使用所有的驱动器和使用RAID6,所以你有能力失去两个驱动器,因为有第三个磁盘失败的风险丢失数据。 如果您只是在文件系统问题或意外删除数据时使用它来进行备份,那么我build议您将所有驱动器用作RAID5。

我慢慢的体会到,硬件RAID更值得付出。 软件RAID没有太慢,在某些情况下比RAID更快。 软件RAID更容易pipe理和硬件RAID是另一个失败的组件,不兼容的元数据标准。

我build议您在RAIDarrays上configurationLVM(逻辑卷pipe理)。 这比任何标准的分区都要灵活得多。 您可以增加分区的大小,并在某些文件系统的情况下,减小它们的大小。 大多数文件系统允许您在挂载文件系统时增加大小。 它还允许您执行其他pipe理任务,例如通过在卷组中添加和删除块设备,轻松地将文件系统从一台设备迁移到另一台设备。 一个有用的提示是,因为像XFS这样的文件系统不能缩小,所以你应该首先创build和你第一次需要的一样小的文件系统,并且留出足够的空间让你在需要的时候扩展你的文件系统。

如果你使用XFS作为你的文件系统,你可以设置每个目录的配额(你可能要这样做,因为你将拥有〜8TB的磁盘空间)。 他们称之为“项目配额”function,起步和运行起来有些痛苦,但一旦find解决办法,就可以相当好地工作。

你可以阅读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卷相对的是,您可以同时增加和减less配额分配,也可以设置软配额,以便在目录开始使用大量空间时收到警告(请参阅report xfs_quota命令)。

缺点是这个function只能用于XFS filesytems,所以这些项目配额不是除了XFS之外的任何工具所支持的。

或者,由于您正在计划设置文件服务器,因此您可能需要考虑使用面向文件服务器的Linux发行版(如Openfiler) ,该发行版可能更容易通过Web界面进行configuration,并且仍然可以下拉到必要的低级别的东西。

关于NFS下的配额, 红帽手册说:

rpc.rquotad – 此过程为远程用户提供用户配额信​​息。 这个过程由nfs服务自动启动,不需要用户configuration。