如何将多个硬盘设置为一个卷?

我即将设置框基本上是一个文件服务器。 我打算在盒子里放置多个驱动器,并希望将它们全部设置好以便它们看起来像是一个驱动器。 所以我基本上可以将它安装在说/媒体上,而不是真正关心哪个驱动器被使用。 我不确定这样做的正确术语是什么,因此我的谷歌在这种情况下毫无用处。

那么如何设置多个硬盘驱动器才能显示为一个驱动器?

您可能想要使用LVM 。 你可以在这里找到一些指南。

我决定写下我所做的一步一步的指示来设置它。 一个重要的注意事项是我在一个系统上执行此操作,我从一个不属于LVM的单独分区启动。 因此,LVM仅用于存储,并且没有操作系统引导所需的任何文件。 这也是为了创建一个大型驱动器的外观,虽然可以使用类似的技术来创建多个驱动器的外观(真正的分区)。 这是一个非常自私的大脑转储,因为其他指南并不能完全解决我的问题。 所以我希望它可以帮助别人。

这些指示基本上来自Murat Gunes提供的链接以及我从这里收集的更多信息。


我从一个磁盘开始,我没有任何东西,我需要它。

  • 首先,您需要创建一个分区作为Linux LVM。 您可以使用fdisk执行此操作。 您可以通过运行以下sudo fdisk -l查看Ubuntu看到的所有驱动器以及它们的列出方式: sudo fdisk -l

每个部分的第一行应该为您提供足够的信息来识别您的驱动器。 它看起来像:

磁盘/ dev / sda:500.1 GB,500107862016字节

重要的部分是/dev/sda 。 现在运行: sudo fdisk /dev/sda 。 你会看见:

命令(m求助):

键入p以列出驱动器上的分区。 您需要删除要作为LVM一部分的分区。 所以输入d删除。 如果驱动器只有一个分区,它将删除它(好标记它以便删除,直到我们告诉它这样做才会发生)。 否则我认为(我的只有一个)它会要求您输入要删除的号码。

现在你需要创建新的parition。 键入n表示新的。 它询问是扩展还是主要。 键入p表示主要。 它要求分区号,类型1.对于第一个柱面和最后一个柱面,只需将它们留空以使用默认值。

现在您需要将其设置为Linux LVM。 输入t 。 它要求输入hex代码,对Linux LVM使用8e 。 你会看到类似的东西:

将分区1的系统类型更改为8e(Linux LVM)

最后键入w以写出对磁盘的更改。

  • 现在我们需要安装LVM,所以运行sudo apt-get install lvm2来安装它。
  • 我会诚实地说,我不知道这一步是做什么,但其他方向说要做modprobe dm-mod来加载LVM模块。 我没有得到任何错误,所以我认为它有效。
  • 我们需要编辑/ etc / modules文件,以便在启动时加载此模块。 做sudo nano /etc/modules打开它进行编辑。 将dm-mod添加到项目列表中。
  • 我们还想编辑lvm配置以更新filter,因此扫描时间不长(我认为这就是为什么)。 所以做sudo nano -w /etc/lvm/lvm.conf并更改行:

filter = [“a /.*/”]

成为:

filter = [“a | / dev / hd [ab] |”,“r /.*/”]

  • 现在我们需要设置第一个LVM。 做sudo vgscan 。 你应该看到类似的东西:

阅读所有物理卷。 可能还要等一下…
没有找到卷组

如果已经设置了任何卷组,请运行sudo vgchange -ay以使其可用。

  • 现在运行sudo pvcreate /dev/sda1来设置分区。
  • 现在运行sudo vgcreate media /dev/sda1用您想要将分区标记为的名称替换media。
  • 现在运行sudo lvcreate -l100%FREE -nvolume media用您想要调用的名称替换volume。 这将使用分区中可用的所有可用空间。
  • 现在我们需要格式化音量,所以对于ext4,你可以做sudo mke2fs -t ext4 /dev/media/volume
  • 创建要安装卷的目录。 我做了sudo mkdir /mnt/media
  • 通过执行sudo mount /dev/media/volume /mnt/media 。 现在这仅适用于本次会议。 重新启动时,它不会自动重新安装。 为此,我们需要编辑/etc/fstab文件。 为此,添加sudo nano /etc/fstab并添加以下行:

/ dev / media / volume / mnt / media ext4默认值为0 1

此时您可以开始向磁盘添加文件,因此如果您需要清除要添加的其他磁盘,可以在此处复制它们。


向卷添加另一个驱动器

  • 因此,请再次按照第一个项目符号中的步骤操作,但是对于新驱动器
  • 现在,如果驱动器名称是/dev/sdb1则执行sudo vgextend media /dev/sdb1将其添加到卷。
  • 现在我们需要卸载音量。 要做到这一点,请执行sudo umount /dev/media/volume
  • 现在,您可以通过运行sudo vgdisplay来查看卷上的统计信息。 重要的部分是Free PE / Size 。 您需要知道可以为下一步添加到卷的空间大小。
  • 因此,如果你有150 Gb的空间,你可以做sudo lvextend -L+150G /dev/media/volume
  • 现在运行sudo e2fsck -f /dev/media/volume来检查文件系统。
  • 现在运行sudo resize2fs /dev/media/volume来调整所有内容的大小。
  • 您可以再次运行统计信息并validationFree PE / Size是否已降至您的预期。
  • 通过执行sudo mount /dev/media/volume /mnt/media重新安装卷
  • 冲洗并重复任何其他驱动器。

    我发现有用的东西是我需要将磁盘复制到我添加磁盘之前创建的LVM的文件。 所以我使用了cp -r -v这样它会递归复制文件并使用详细输出,所以我知道它在做什么。 完整命令的一个例子是:

cp -r -v / mnt / temp / Movies / mnt / shared / media

其中/mnt/temp/Movies是您要从中复制的文件夹。

就个人而言,我会确保所有驱动器(大约)都相同,并从它们创建一个RAID 5“arrays”。 RAID 5的缺点是在总可用磁盘空间中丢失了一个磁盘的大小。 RAID 5的优势在于,如果你的一个磁盘坏了,你就不会丢失任何东西,你可以简单地更换损坏的硬盘。

如果你不关心丢失数据以在其上花费额外的磁盘,或者你计划使用一堆你已经拥有的不同大小的磁盘,那么最好使用LVM,正如Murat所说。