![无 LVM(例如文件系统中的 VDI 文件)](https://linux22.com/image/1552280/%E6%97%A0%20LVM%EF%BC%88%E4%BE%8B%E5%A6%82%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%AD%E7%9A%84%20VDI%20%E6%96%87%E4%BB%B6%EF%BC%89.png)
如何将两个 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
使用blkid
或lsblk --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 步。