如何才能获得一个可以轻松增长的冗余文件系统?

如何才能获得一个可以轻松增长的冗余文件系统?

我想在一台用于备份的计算机上使用 Ubuntu Server。如果将来需要,我希望能够添加额外的磁盘空间。基本上,我喜欢 Drobo 的功能,但我不喜欢它使用专有文件系统。这意味着如果它坏了,我完全依赖它们。

因此,我研究了 RAID 5 + LVM 的 mdadm。但是,如果新磁盘大于旧磁盘,则不会使用所有磁盘空间。(快照的 LVM)我认为 ZFS 可以解决问题,但是 Linux 不支持。BtrFS 有点太年轻,不能信任我的文件,毕竟这是我的备份,我希望东西在那里是安全的。

我想要一台 ubuntu 机器而不是 NAS 的另一个原因是,我还想在其上运行其他东西,例如 Django、mythtv 后端和邮件服务器。

那么,如果我想以冗余的方式存储我的文件并且还能够对这些备份进行快照,我有哪些选择呢?

我仍处于研究阶段,因此我愿意接受建议。:)

答案1

您可以在顶部使用 RAID 1 + LVM。当需要更多空间时 - 添加另外 2 个磁盘,使用它们创建另一个 RAID 1,并将其添加到现有的 LVM

LVM 还支持快照

答案2

MD 有一种container模式,即“RAID 的 RAID”。随着您添加更多磁盘,您可以创建一个新的 RAID 并将其添加到容器中(具体取决于它们是否适合现有 RAID 集)。我敢打赌 drobo 也会做同样的事情。

来自手册页。

   CONTAINER  is  different again.  A CONTAINER is a collection of devices
   that are managed as a set.  This is similar to the set of devices  con‐
   nected to a hardware RAID controller.  The set of devices may contain a
   number of different RAID arrays each utilising some  (or  all)  of  the
   blocks  from  a  number  of  the  devices in the set.  For example, two
   devices in a 5-device set might form a RAID1 using the  whole  devices.
   The  remaining  three  might  have  a RAID5 over the first half of each
   device, and a RAID0 over the second half.

   With a CONTAINER, there is one set of metadata that  describes  all  of
   the arrays in the container.  So when mdadm creates a CONTAINER device,
   the device just represents the metadata.  Other  normal  arrays  (RAID1
   etc) can be created inside the container.

您还可以将 RAID 1 MD 阵列转换为 RAID 5。请参见

http://blog.serverhorror.com/2011/01/27/migrating-raid-levels-in-linux-with-mdadm/

尝试一下并让我们知道结果如何。

相关内容