如何为Linux安装配置双SSD的LVM分区以实现高性能
双SSD LVM配置方案:优化NVMe用于高性能程序
首先,你的思路完全正确——利用NVMe的高读写速度承载对性能敏感的程序和数据,同时用大容量SATA SSD存储常规用户数据,LVM的灵活性刚好能完美适配这种需求。下面我会分策略选择和具体操作步骤两部分来解答:
一、分区策略选择:/home vs /opt,以及高性能数据的安置
1. 是否把/home放在NVMe?
这取决于你的用户数据类型:
- 如果你的/home里大多是对速度敏感的内容(比如频繁读写的虚拟机磁盘、大型项目文件),且NVMe容量足够(480GB其实不小),可以把/home放在NVMe。
- 但如果你的/home里有大量照片、视频、文档这类对速度要求不高的大容量数据,更推荐把/home放在1TB的SATA SSD上,把NVMe的宝贵空间留给真正需要性能的程序和数据。
2. 是否创建/opt分区?
非常建议!/opt目录本来就是为第三方大型程序(比如VirtualBox、Docker、大型IDE)设计的,把它放在NVMe上能直接提升程序启动和运行时的读写效率。
更优的细分方案
为了更精准地分配性能资源,我推荐:
- 将NVMe的空间分成两个逻辑卷:
/opt:存放VirtualBox等第三方程序本体/vbox-data:专门存放VirtualBox的虚拟机磁盘文件(这部分是性能瓶颈,放在NVMe能大幅提升虚拟机的启动和运行速度)
- 将SATA SSD的空间分成两个逻辑卷:
/(根分区):存放系统核心文件/home:存放常规用户数据(文档、媒体等)
二、具体操作步骤(以全新安装Linux为例,安装后配置逻辑类似)
前置准备
- 备份所有重要数据,操作会清除两块SSD上的所有内容
- 用Linux安装介质(U盘)启动,进入安装界面,选择“手动分区”(不同发行版表述可能不同,比如Ubuntu叫“其他选项”)
步骤1:创建物理卷(PV)
- 用
lsblk或安装器的磁盘列表识别两块盘:- NVMe盘通常是
/dev/nvme0n1 - SATA SSD通常是
/dev/sda
- NVMe盘通常是
- 为每块磁盘创建LVM类型的分区(或直接用整个磁盘,无需分区):
- 如果用分区,在安装器中创建新分区,类型选择“LVM物理卷”,分区ID设为
8e(部分安装器会自动设置)
- 如果用分区,在安装器中创建新分区,类型选择“LVM物理卷”,分区ID设为
- 执行命令创建PV(如果是安装器界面,直接选择“创建物理卷”选项即可):
pvcreate /dev/nvme0n1 pvcreate /dev/sda
步骤2:创建卷组(VG)
将两块物理卷加入同一个卷组(方便后续灵活调整空间,也可以分开创建两个卷组,但统一管理更方便):
vgcreate vg_system /dev/nvme0n1 /dev/sda
这里vg_system是卷组的名字,你可以自定义。
步骤3:创建逻辑卷(LV)
根据我们的策略分配空间(以下数值仅供参考,你可以根据自己的需求调整):
- 为SATA SSD创建根分区和/home:
# 根分区分配50GB(足够大多数发行版使用) lvcreate -L 50G -n root vg_system /dev/sda # 将SATA剩余空间全部分配给/home lvcreate -l 100%FREE -n home vg_system /dev/sda - 为NVMe创建/opt和/vbox-data:
# /opt分配100GB(足够存放多个大型第三方程序) lvcreate -L 100G -n opt vg_system /dev/nvme0n1 # 将NVMe剩余空间全部分配给虚拟机数据 lvcreate -l 100%FREE -n vbox_data vg_system /dev/nvme0n1
步骤4:格式化逻辑卷
为每个逻辑卷创建ext4文件系统(也可以选择xfs,根据你的发行版偏好):
mkfs.ext4 /dev/mapper/vg_system-root mkfs.ext4 /dev/mapper/vg_system-home mkfs.ext4 /dev/mapper/vg_system-opt mkfs.ext4 /dev/mapper/vg_system-vbox_data
步骤5:挂载并配置开机自动挂载
- 在安装器中分别挂载每个逻辑卷:
/dev/mapper/vg_system-root挂载到//dev/mapper/vg_system-home挂载到/home/dev/mapper/vg_system-opt挂载到/opt/dev/mapper/vg_system-vbox_data可以先挂载到临时目录,比如/mnt/vbox_data,安装后再调整
- 安装完成后,编辑
/etc/fstab确保开机自动挂载:
添加以下条目(可以用UUID替代设备路径,更稳定,用blkid命令查看每个逻辑卷的UUID):UUID=xxxxxx /opt ext4 defaults 0 2 UUID=yyyyyy /mnt/vbox_data ext4 defaults 0 2
步骤6:迁移VirtualBox虚拟机数据
- 停止所有正在运行的VirtualBox虚拟机
- 迁移默认虚拟机目录:
mv ~/VirtualBox\ VMs /mnt/vbox_data/ - 在VirtualBox中设置默认存储路径:
打开VirtualBox → 文件 → 首选项 → 常规 → 默认虚拟机位置,选择/mnt/vbox_data/VirtualBox VMs
或者创建软链接,保持原路径不变:ln -s /mnt/vbox_data/VirtualBox\ VMs ~/
三、后期调整与维护
- 查看LVM状态:用
pvs查看物理卷,vgs查看卷组,lvs查看逻辑卷 - 调整逻辑卷大小:比如需要扩展/opt空间:
lvextend -L +50G /dev/mapper/vg_system-opt resize2fs /dev/mapper/vg_system-opt # 刷新ext4文件系统大小
内容的提问来源于stack exchange,提问作者TrevorKS
相关产品推荐
相关产品推荐

