当前位置: 首页>>技术问答>>正文


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

, , ,

问题描述

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

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

最佳解决方案

你可能想要使用LVM。你可以找到一些指南here

次佳解决方案

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


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

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

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

Disk /dev/sda: 500.1 GB, 500107862016 bytes

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

Command (m for help):

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

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

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

Changed system type of partition 1 to 8e (Linux LVM)

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

  • 现在我们需要安装LVM,所以运行sudo apt-get install lvm2来安装它。

  • 我会诚实地说,我不确定这一步是做什么,但其他方向说要做modprobe dm-mod来加载LVM模块。我没有得到任何错误,所以我认为它有效。

  • 我们需要编辑/etc /modules文件,以便在启动时加载此模块。 sudo nano /etc/modules打开它进行编辑。将dm-mod添加到项目列表中。

  • 我们还想编辑lvm配置以更新过滤器,因此扫描时间不长(我认为这就是为什么)。 sudo nano -w /etc/lvm/lvm.conf也是如此,并改为:

filter = [ “a/.*/” ]

成为:

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

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

Reading all physical volumes. This may take a while…
No volume groups found

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

  • 现在运行sudo pvcreate /dev/sda1来设置分区。

  • 现在运行sudo vgcreate media /dev/sda1,用您希望分区标记为的名称替换媒体。

  • 现在运行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 defaults 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/Movies /mnt/shared/media

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

第三种解决方案

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

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2370.html,未经允许,请勿转载。