无 LVM(例如文件系统中的 VDI 文件)

无 LVM(例如文件系统中的 VDI 文件)

如何将两个 SSD 分区为 LVM 以进行 Linux 安装?我有一个 1TB 的三星 SSD,还有一个 480GB 的 NVMe SSD,位于显卡插槽中。我希望能够选择某些程序安装到 480GB NVMe 上,以便它们以最大速度运行,因为读写速度会更高。例如,如果我安装 VirtualBox,我希望将其安装在 NVMe 上以获得最佳性能。

我是否应该将我的主分区配置为 NVMe 并在家中安装我想要获得最佳性能的东西?我是否应该/opt在 NVMe 上创建一个分区?我该怎么做?

答案1

对于工作站,这取决于个人偏好。我可能会创建一个 /srv 目录,然后将 NVMe 的文件系统挂载到那里。/opt 通常不用于 R/W 存储。Virtualbox 的性能并不取决于应用程序二进制文件的安装位置,而取决于磁盘映像的存储位置,例如,NVMe 驱动器就是一个不错的位置。

LVM 对于单个文件系统磁盘来说实际上毫无意义。它根本不了解文件系统,因此如果将它们合并到单个卷组 (VG) 中,则必须将单独的逻辑卷 (LV) 放置在特定的物理卷 (PV) 上。在存储 VM 映像等简单用例中,我不建议这样做,因为除非您对 VM 进行磁盘直通,否则它不会为您带来显着的优势。这在管理上要麻烦得多,因为您现在必须手动为每个 VM 分配 LV,然后手动创建磁盘直通 VMDK,如果您想在 NVMe 上存储其他文件系统数据,您也需要为此创建一个 LV。

此答案假设您已安装到 SSD 并且仅将 NVMe 磁盘用于高速存储。如果没有,大多数安装程序将允许您根据需要创建任意分区和挂载点。

无 LVM(例如文件系统中的 VDI 文件)

1. 创建分区并格式化

您可以使用gparted以图形方式执行此操作。选择要修改的设备,然后运行Device -> Create Partition Table​​,然后Partition -> New,最后Partition -> Format。每个操作的默认值可能都很好。记住您在最后一步中选择的文件系统类型。

2. 使用挂载位置更新 fstab

使用blkidlsblk --fs获取新文件系统的 UUID 编号。以 root 身份在 nano 等编辑器中打开 /etc/fstab,并添加如下行

UUID=abcdef00-0000-0000-0000-000000000000   /srv   ext4 defaults 0 2

将 uuid 替换为您的文件系统中的 uuid。此处不要使用引号。文件系统类型应从 ext4 更改为您在 gparted 中选择的类型。

测试挂载文件系统。

sudo mount /srv
df -h

不要提供额外的选项,因为mount这些应该从您的 fstab 更改中检测到。如果您需要提供选项,则 fstab 是错误的,需要编辑。如果成功,df应该显示您的 NVMe 设备安装在 /srv 上。/srv 现在将在启动时自动安装。

Digitalocean 有详细的使用命令行工具创建和格式化分区的指南

现在,当您在 vbox 中创建虚拟磁盘时,请将它们放在 /srv 的某个子目录中。您可能需要更改目录的权限才能使其工作(例如,sudo chown $(whoami) /srv将所有者更改为您自己)。

LVM(例如 VMDK 磁盘直通)

1. 按上述方法分区,但不要格式化

抵制使用未分区磁盘的冲动。当磁盘没有分区信息时,以后更容易出错。

这不是绝对必要的,但您可以将卷类型设置为 Linux LVM。

2.创建卷组

使用上面的设备运行 vgcreate 来初始化新的卷组。

sudo vgcreate nvme /dev/sdb1

用上面创建的适当分区替换 /dev/sdb1。

3. 创建用于磁盘直通的 LV

如果要为名为 vm1 的新虚拟机创建 30GiB 卷,请运行 lvcreate

sudo lvcreate -L30G -Cy -n vm1 nvme

现在使用 vboxmanage 创建一个 VMDK 文件以用作磁盘

sudo VBoxManage internalcommands createrawvmdk -filename $HOME/vm1.vmdx -rawdisk /dev/mapper/nvme-vm1

LVM 的设备映射器名称格式为 [vg 名称]-[lv 名称],因此如果您更改了上述内容,请在此处进行相应更改。

此时,你可能想要使用 udev 更改此 LV 的设备权限

有一个system-config-lvm用于以图形方式管理 LVM 的工具,但是据我所知没有用于创建 VMDK 磁盘直通文件的图形工具,并且 VBoxManage gui 无法为您完成第 3 步。

相关内容