问题描述
我即将设置框基本上是一个文件服务器。我打算在盒子里放置多个驱动器,并希望将它们全部设置好以便它们看起来像是一个驱动器。所以我基本上可以把它安装在说/媒体上,而不是真的关心哪个驱动器被使用。我不确定这样做的正确术语是什么,所以我的谷歌在这种情况下毫无用处。
那么如何设置多个硬盘才能显示为一个驱动器?
最佳解决方案
次佳解决方案
我决定写下我所做的一步一步的指示来设置它。一个重要的注意事项是我在一个系统上执行此操作,我从一个不属于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。