Linux下如何通过lvm分区进行扩容
装系统时直接选的就是ext4文件系统,也没想到后来ubuntu居然成了日常使用的主力系统...
一开始分区的时候只给了300G,想装个什么游戏或者装一个windows虚拟机的话,分的存储空间就显得有点少了,但是又不想重装,干脆就再创建一个分区挂载到主目录下边,把游戏、wine应用、windows虚拟机都放这里好了
步骤 1: 创建新的lvm分区
这里我使用的是GParted,从Windows那边砍了300G,选择格式化为lvm2 pv
步骤 2: 初始化物理卷(PV)
使用 pvcreate
命令来初始化分区为物理卷。打开终端,输入以下命令:
(假设分区路径为/dev/nvme0n1p5
)
sudo pvcreate /dev/nvme0n1p5
运行以下命令检查物理卷的状态:
sudo pvdisplay
这时可以看到 /dev/nvme0n1p5
被标记为物理卷。
步骤 3: 创建卷组(VG)
接下来,创建卷组(VG),一个卷组包含一个或多个物理卷。假设你希望将该 PV 添加到一个新的卷组中,命名为 myvg
,可以运行以下命令:
sudo vgcreate myvg /dev/nvme0n1p5
使用以下命令检查卷组状态:
sudo vgdisplay
确保 myvg
卷组创建成功。
步骤 4: 创建逻辑卷(LV)
接下来需要在卷组中创建一个或多个逻辑卷。假设要创建一个名为 mylv
的逻辑卷,大小为 100GB,可以运行以下命令:
sudo lvcreate -L 100G -n mylv myvg
如果希望创建一个默认大小的逻辑卷(例如,使用整个剩余空间),可以使用 -l
参数指定使用所有可用空间:
sudo lvcreate -l 100%FREE -n mylv myvg
可以使用以下命令检查逻辑卷状态:
sudo lvdisplay
步骤 5: 格式化逻辑卷
格式化刚创建的逻辑卷为文件系统(假设你选择使用 ext4
文件系统):
sudo mkfs.ext4 /dev/myvg/mylv
步骤 6: 挂载逻辑卷
创建挂载点并将逻辑卷挂载到该位置:
sudo mkdir /mnt/mydata
sudo mount /dev/myvg/mylv /mnt/mydata
步骤 7: 配置自动挂载
如果希望系统重启后自动挂载该逻辑卷,可以编辑 /etc/fstab
文件:
sudo nano /etc/fstab
在文件中添加以下行,以确保系统启动时自动挂载逻辑卷:
/dev/myvg/mylv /mnt/mydata ext4 defaults 0 2
但是如果只在/etc/fstab
中编写上述内容的话,会发现当前用户只有访问权限,所以需要在挂载时自动设置特定权限
假设当前用户名是lihua,输入id lihua
可以看到这两个内容: uid=1000
和 gid=1000
修改上文中/etc/fstab
的内容为:
/dev/myvg/mylv /mnt/mydata ext4 defaults,uid=1000,gid=1000 0 2
这时再运行sudo mount -a
就可以发现已经成功挂载目录并设置相应权限
其他
挂载好新分区之后就可以把steam上的游戏移动到新分区了,不过在ubuntu的文件管理的“其他位置”那一栏看到的新分区的卷标却是“322 GB 新分区”,虽然没有什么影响,但是对于强迫症来说看着还是有点别扭。。
于是就想着去GParted上修改一下分区卷标,却发现停用分区之后也没法修改(不清楚什么原因
询问AI之后得到以下解决方案:
1. 设置卷标
使用e2label
为分区设置卷标(上文创建逻辑卷时选择的是ext4文件系统)
假设设置卷标为MyVolume
sudo e2label /dev/myvg/mylv "MyVolume"
2. 修改/etc/fstab
内容
修改/etc/fstab
中相关内容为:
LABEL=MyVolume /mnt/mydata ext4 defaults,uid=1000,gid=1000 0 2
这时执行sudo mount -a
进行重新挂载就可以了