Linux文件服务器存储池


8

是否可以让Linux服务器通过Samba共享多个硬盘作为一个存储池?这样,当我使用共享时,我不必担心将其保存到具有可用空间的某个驱动器中,而是将其保存到可以处理所有这些内容的池中。

我想我可以通过某种(软件)突袭来做到这一点,但实际上我的许多文件都不需要进行突击检查。我的目标是进行设置,使我拥有约500GB的搜查空间和几TB的未搜查空间。

我目前有一个轻型的W2008服务器,并且想转到linux,这将是一个非常不错的功能。

Answers:


19

在Linux上,您可以使用LVM将多个硬盘驱动器(PV)收集到一个卷组(VG)中,并与希望通过samba共享的逻辑卷(LV)进行分区。

有关更多信息,请参见此链接

LVM模式


1
图片的绝佳选择来说明这一概念。
andol

7

我会赞同Raphink关于LVM的建议(实际上是赞成)-这几乎完全是LVM的设计目标,并且根据我的经验也很有效。

需要注意的一件事是,在一堆驱动器上使用LVM仅比RAID0安全一些-如果一个驱动器出现故障,由于逻辑卷跨越驱动器边界,您可能会丢失一个驱动器,而不是一个值得使用的文件系统。因此,尽管“实际上不需要清除我的很多文件”,但请确保您为那些不太容易替换的文件制定了良好的备份计划。

如果存储服务器可能有很多活动,则可以考虑同时使用RAID0和LVM。这将为您带来许多I / O模式的显着性能提升,并且不会减少可用的总存储空间(由于RAID0不提供冗余,因此不为镜像数据或奇偶校验块使用空间)。将某些驱动器捆绑到RAID0阵列中后,就可以像将其与其他任何驱动器/分区一样,将该阵列设置为LVM PV,并根据需要使用逻辑卷对空间进行分区。

当然,对于RAID0,如果驱动器死机,则几乎肯定会丢失所有内容,但是如果您有一个足以用于JBOD的备份计划(这就是您对LVM所做的工作,那么这等效于某些RAID引用称为“线性模式” ”),其中有一个足以存储RAID0上的数据(并且任何人对使用LVM在多个驱动器上拥有的数据都不满意!)

您可以在同一驱动器上混合和匹配RAID级别。在我控制下的一台机器上,该机器作为VM主机运行以进行开发和测试,其阵列中的驱动器具有RAID0(用于VM本身)和RAID1(用于VM的备份)的一部分。每个驱动器都分为约100Gb分区,每个集合或分区可以是RAID阵列。当前,每个驱动器上的前两个是RAID0(由LVM链接为一个逻辑卷),后三个RAID1(同样以一个LV链接),中间的一个可以在需要更多空间时自由使用。如果这样做,您当然需要警惕I / O争用(事实并非如此)。在我的情况下,这是一个问题,因为两个RAID阵列很少同时看到明显的活动,因为RAID1集仅在进行新备份或还原旧备份时才可以访问)以及两个阵列都处于活动使用状态时磁头移动过多(例如它们位于驱动器的相对两端),但是您应该注意那些仅使用LVM而无任何RAID的情况。这种安排意味着我不必在安装时准确地猜测机器需要多少高速(R0)空间和高安全性(R1)空间之间的平衡。X个月的生产线丝毫不受影响,仅使用一个RAID10阵列即可。


“如果一个驱动器发生故障,由于逻辑卷跨越驱动器边界,您可能会损失一个驱动器价值以上的文件系统。” 谢谢您的大力支持,看来我不得不稍微修改一下计划。
Illotus 2009年

请注意,这与RAID0系统会遇到相同的问题:如果一个驱动器出现故障,则会丢失数据。根据David的回答,您可以将RAID和LVM结合使用。将RAID0系统与LVM结合使用是多余且无用的,但将RAID1、10、4、5或6与LVM结合使用可确保在丢失一个或多个硬盘驱动器时不会丢失数据。由于您需要比实际可用数据空间更多的磁盘空间,因此也会在硬件上花费更多。RAID的类型主要取决于您要使用的RAID的类型。如果没有硬件RAID,则可以在mdadm上使用LVM。
ℝaphink

3
将RAID0与LVM结合使用并不是没有用的-根据您的I / O负载(例如,许多通过Gbit网络进行的并发文件操作),您可以看到RAID0进行的条带化可以显着提高性能。即使在100Mbit的链路上,您也可能会发现几个并发和/或非常不连续的访问有所不同。对于不太繁重的I / O负载,差异可能并不明显。
David Spillett

将RAID-0与LVM结合并不是没有用的。默认情况下,LVM从头开始顺序分配空间。如果LVM集的一部分吸引了所有I / O注意力,并将该活动集中在一个磁盘上,则这可能会影响性能。RAID-0在RAID-0阵列中的所有磁盘上显式分割数据。这样可以加快读取和写入活动。区别在于,如果LVM集中的一个磁盘发生故障,则可能会丢失至少一些数据。如果RAID-0集中的一个磁盘发生故障,您将丢失所有数据。Raphink提出的RAID-5理念至少给您带来了防止磁盘故障的保护的幻想
David Mackintosh

感谢David和David所做的这些澄清,考虑这一点非常有趣。您是否认为即使使用mdadm之类的软件RAID系统或仅与硬件RAID系统一起使用,RAID0之上的LVM还是值得的?
phaphink

2

我还建议您看一下ZFS,它还包含内置的驱动器池和RAID镜像。

许可方面存在一些问题,使其实施起来有些尴尬,但是我一直在使用3 x 1TB驱动器的家庭系统上运行它,没有任何问题。


2
我是ZFS的忠实拥护者,但我不建议在生产环境中将Linux作为FUSE文件系统在Linux上运行。对于Linux,最好等待BTRFS成熟。BTRFS的设计比ZFS更好,但我认为距离生产就绪至少还有一年,也许是几年。
2009年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.