多卷数据存储不带条纹

我有一台运行Debian的networking存储服务器,包含多个硬盘。 这些驱动器都安装在samba共享文件夹的子目录中。 networking的所有成员都有完整的读写权限。

这个设置的问题是缺乏灵活性。 这些文件直接存储在一个文件夹中,一旦硬盘满了,用户必须在另一个硬盘上创build一个新的文件夹。

什么可能是dynamic分配空间的最佳解决scheme? 这是与我到目前为止:

  • RAID 0:由于单个硬盘的每次故障都会导致大量数据丢失,因此分条不是一种select
  • RAID 1:我的意图是重新使用不同大小的旧硬盘,所以这也不起作用
  • RAID 5:与上述相同,因硬盘大小不同而无法使用
  • LVM:很酷,因为它是可扩展的,但有没有一个选项来防止条纹? 如果没有,单个磁盘的故障将导致部分存储在该特定磁盘上的所有文件的损失…
  • btrfs:子卷pipe理很好,但是一个文件夹可以跨多个卷吗?

基本上,我正在寻找一个没有条带化的类似LVM的系统,或者至less可以将所有多卷文件手动(cron作业等)移回单个卷。

您可以直接在Linux LVM中获得有效的RAID替代,而无需使用mdadm或硬件RAID控制器。 这使您可以使用不同大小的磁盘。

你不能避免条纹,但会有冗余条纹,所以单个磁盘故障不会丢失任何数据。

只需将所有磁盘初始化为LVM物理卷,将其分配给相同的卷组,并在设置逻辑卷时使用正确的标志。

-m, --mirrors Mirrors镜像使用镜像副本创build镜像逻辑卷。 例如,指定-m1将导致一个双面镜子; 即线性音量加上一个副本。

因此,例如,命令行lvcreate -m1 -L 10G -n <name> <volume_group>将创build镜像逻辑卷或等同于RAID1arrays。

-i, --stripes Stripes给出-i, --stripes Stripes的数量。 这等于分散逻辑卷的物理卷的数量。 创buildRAID 4/5/6逻辑卷时,需要额外的奇偶校验设备进行内部计算。 指定-i3将使用3个设备用于条带化逻辑卷,4个设备用于RAID 4/5,5个设备用于RAID 6。

如果你有三个磁盘2个将是最大的条数(第三个是奇偶校验),而lvcreate --type raid5 -i2 -L 20G -n <name> <volume_group>会设置相当于三个磁盘的RAID5arrays。

当您的文件系统填满后,您可以添加一个额外的磁盘,并扩展LVM和文件系统,而无需手动创build新目录和混洗数据。