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

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

我即将设置一个 box,使之成为一个文件服务器。我计划在 box 中安装多个驱动器,并希望将它们全部设置为看起来像一个驱动器。因此,我基本上可以将其安装在 /media 上,而不必真正关心使用哪个驱动器。我不确定这样做的正确术语是什么,所以我的 Google fu 在这种情况下毫无用处。

那么,如何设置多个硬盘驱动器以使其显示为一个驱动器?

答案1

我决定写下我设置它的分步说明。需要注意的是,我是在一个从不属于 LVM 的单独分区启动的系统上执行此操作的。因此,LVM 仅用于存储,不包含操作系统启动所需的任何文件。此外,这是为了创建一个大驱动器的外观,尽管可以使用类似的技术来创建多个驱动器的外观(实际上是分区)。这是一个非常自私的头脑风暴,因为其他指南对我来说并不那么完整。所以我希望它能帮助其他人。

这些说明基本上来自关联由 Murat Gunes 提供,其中还有一些信息是我从这里


我开始时使用的磁盘上没有任何我需要的东西。
  • 首先,您需要创建一个 Linux LVM 分区。您可以使用 fdisk 来执行此操作。您可以通过运行以下命令查看 Ubuntu 看到的所有驱动器及其列出方式:sudo fdisk -l

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

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

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

命令(m 获取帮助):

键入p以列出驱动器上的分区。您需要删除要成为 LVM 一部分的分区。因此键入d以删除。如果驱动器只有一个分区,它将删除它(将其标记为删除,除非我们告诉它删除,否则它不会发生)。否则我认为(我的只有一个)它会要求您输入要删除的分区的编号。

现在您需要创建新分区。输入nnew。系统会询问是扩展分区还是主分区。输入pprimary。系统会询问分区号,输入 1。对于第一个磁柱和最后一个磁柱,请将其留空以使用默认值。

现在您需要将其设置为 Linux LVM。输入t。它会要求输入一个十六进制代码,用于8eLinux LVM。您应该会看到类似以下内容:

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

最后输入w将更改写入磁盘。

  • 现在我们需要安装 LVM,因此运行sudo apt-get install lvm2来安装它。
  • 说实话,我不确定这一步是做什么的,但其他说明说要modprobe dm-mod加载 LVM 模块。我没有收到任何错误,所以我认为它有效。
  • 我们需要编辑 /etc/modules 文件,以便此模块在启动时加载。请sudo nano /etc/modules打开它进行编辑。添加dm-mod到项目列表中。如果此文件为空或不存在,只需将其dm-mod作为一行添加到文件中即可。
  • 我们还想编辑 lvm 配置以更新过滤器,这样扫描就不会花太长时间(我想这就是原因)。所以这样做sudo nano -w /etc/lvm/lvm.conf并将行更改为:

过滤器 = [ “a/.*/” ]

成为:

过滤器 = [ “a|/dev/hd[ab]|”, “r/.*/” ]

  • 现在我们需要设置第一个 LVM。执行sudo vgscan。您应该会看到类似以下内容的内容:

正在读取所有物理卷。这可能需要一段时间...
未找到卷组

以防万一已经设置了任何卷组,请运行sudo vgchange -a y以使其可用。

  • 现在运行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以调整所有内容的大小。
  • 您可以再次运行统计数据并验证其Free PE / Size是否已降至预期水平。
  • 通过执行以下操作重新安装卷sudo mount /dev/media/volume /mnt/media
  • 对任何其他驱动器重复上述操作。

我发现还有一件有用的事情是,我需要将文件从磁盘复制到我在添加该磁盘之前创建的 LVM 中。所以我使用了“cp -r -v”,这样它就会递归复制文件并使用详细输出,这样我就知道它在做什么。完整命令的示例如下:

cp -r -v /mnt/temp/电影/mnt/shared/media

您要从哪里/mnt/temp/Movies复制文件夹。

答案2

你可能想要使用逻辑卷管理器。你可以找到一些指南这里

答案3

我个人会确保所有驱动器的大小(大约)相同,然后从它们创建 RAID 5“阵列”。RAID 5 的缺点是,您会损失一个磁盘的总可用磁盘空间。RAID 5 的优点是,如果您的一个磁盘坏了,您不会丢失任何东西,您可以简单地更换损坏的硬盘。

如果您不太在意丢失数据而不愿意花费额外的磁盘,或者您打算使用一堆已有的不同大小的磁盘,那么最好使用 LVM,正如 Murat 所说。

相关内容