it-swarm.cn

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

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

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

39
Jacob Schoen

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

16
mgunes

我决定写下我所做的一步一步的指示来设置它。一个重要的注意事项是我在一个系统上执行此操作,我从一个不属于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以删除。如果驱动器只有一个分区,它将删除它(好标记它以便删除,直到我们告诉它这样做才会发生)。否则我认为(我的只有一个)它会要求您输入要删除的号码。

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

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

将分区1的系统类型更改为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。你应该看到类似的东西:

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

如果已经设置了任何卷组,请运行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/Movies/mnt/shared/media

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

47
Jacob Schoen

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

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

6
JanC