我即将设置一个 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
以删除。如果驱动器只有一个分区,它将删除它(将其标记为删除,除非我们告诉它删除,否则它不会发生)。否则我认为(我的只有一个)它会要求您输入要删除的分区的编号。
现在您需要创建新分区。输入n
new。系统会询问是扩展分区还是主分区。输入p
primary。系统会询问分区号,输入 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
到项目列表中。如果此文件为空或不存在,只需将其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 所说。