进入U盘系统后使用LVM安装Ubuntu 18.04
首先参考如何制作Ubuntu 18.04 LTS安装启动U盘制作一个Ubuntu18.04 LTS系统的U盘引导盘,然后从U盘启动进入Ubuntu 18.04系统,在这个只读系统里面使用LVM安装Ubuntu 18.04,和普通安装只有如下这一步有差异,需要勾选"Use LVM with the new Ubuntu installation",然后一路点击确认即可(安装完以后不要重启):
减少LVM根文件系统大小
前面安装LVM根文件系统会使用整个磁盘,假设该磁盘有3.5TB,而我们只想分配给根文件系统500GB,其他的分配给 /home文件夹。减小LVM根文件系统需要提前umount,所以我们只能在当前的U盘文件系统里面执行如下命令:
$ sudo pvdisplay /dev/sdb2
$ sudo lvreduce -r -L -3000G /dev/ubuntu-vg/root
如果命令运行成功,那么我们可以看到根文件系统已经变小了:
$ sudo lvdisplay /dev/ubuntu-vg/root
--- Logical volume ---
LV Path /dev/ubuntu-vg/root
LV Name root
VG Name ubuntu-vg
LV UUID tNe8dc-TsSa-5IpB-Wnwz-Ggyu-xyzZ-TFgoXV
LV Write Access read/write
LV Creation host, time ubuntu, 2020-12-01 15:06:17 +0800
LV Status available
# open 1
LV Size 500.00 GiB
Current LE 128000
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
创建LV /home文件夹并且扩展磁盘大小,替换原始的/home文件夹
现在我们可以拔掉U盘引导盘,然后重启进入刚才安装的Ubuntu 18.04,这时候可以使用sudo vgdisplay命令看到还有3T空间没有使用,我们想把新的/dev/sdc也加入到这个卷组(VG),组成新的/home文件夹,然后替换系统原始的/home,方法如下:
- 使用pvcreate命令准备供LVM使用的PV
sudo pvcreate /dev/sdc
- 使用vgextend将新的PV添加到现有的卷组(VG)中
sudo vgextend ubuntu--vg /dev/sdc
- 键入
sudo vgdisplay
以显示有关VG的统计信息,包括其剩余可用大小为6.7T - 使用lvcreate创建新的逻辑卷(LV),如下所示
sudo lvcreate -L 6700G -n home ubuntu–vg
- 键入
sudo lvdisplay
以确认创建的LV大小合适。你可以使用lvresize调整大小或使用lvremove删除它,然后重试 - 在LV上创建一个文件系统,如下所示
sudo mkfs -t ext4 /dev/mapper/ubuntu--vg-home
- 将新的LV挂载到具体文件夹,例如
sudo mount /dev/mapper/ubuntu--vg-home /mnt
- 复制/home到/mnt,我喜欢使用
sudo cp -a
- 编辑/etc/fstab以便启动后自动挂载新的LV /home
- 将当前/home重命名为其他名称(例如/home-orig),并创建一个新的空/home目录作为挂载点
- 重新启动并希望它能工作,如果一切正常,请删除旧的/home-orig目录