Hz cloud 什么都好,就是盘太小,最基础的实例只有 20G 盘,相比 Scaleway 的 50G 还是差了点。不过考虑到它 CPU 也好,盘也快,所以想把建在 Scaleway 上面的本博客搬到 Hz cloud。正好最近 Hz cloud 出了 Volume 的功能可以自己加硬盘,在星菊的帮助下,使用 LVM 完成了 Volume 和自带分区合并的功能。
要做到这点,需要分两步,一个是在 Rescue 模式下将系统安装在 LVM 分区上,第二步是在系统中扩展 LVM 分区。
安装系统时,需要在后台进入 Rescue 模式,Hz 家的 Rescue 都一样,在选定 image 以后会弹出配置文件让你编辑,在分区那里需要这么写:
PART /boot ext4 512M PART lvm vg0 all LV vg0 root / ext4 all
之后双击 Esc 退出,正常安装就行,之后 LVM 分区就挂载在 / 这里了。
然后重启进入系统,在 Volume 页面创建之后 attach 到之前的实例。通常来说,系统会安装在 /dev/sda,新的 Volume 在 /dev/sdb。执行以下命令将分区合并:
pvcreate -ff /dev/sdb vgextend vg0 /dev/sdb lvresize -l +100%FREE vg0/root resize2fs /dev/vg0/root
做了如下几件事:
- 在 /dev/sdb 上创建 Physical Volume
- 将 Volume Group vg0 扩展到 /dev/sdb 上
- 扩展 Logical Volume vg0/root 到所有的可用空间
- 扩展 /dev/vg0/root 上的文件系统
我们可以通过 pvdisplay vgdisplay 和 lsblk 看到效果:
root@sb1 ~ # pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name vg0 PV Size <37.65 GiB / not usable 2.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 9637 Free PE 0 Allocated PE 9637 PV UUID ZbfxjP-RNf5-ScPU-eclg-dMjj-0WKg-T3FA2p --- Physical volume --- PV Name /dev/sdb VG Name vg0 PV Size 750.00 GiB / not usable 4.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 191999 Free PE 191999 Allocated PE 0 PV UUID ZphGg0-2XcJ-Kjzy-gfBX-7pSp-Wo4L-fbVkD5 root@sb1 ~ # vgdisplay --- Volume group --- VG Name vg0 System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 2 Act PV 2 VG Size 787.64 GiB PE Size 4.00 MiB Total PE 201636 Alloc PE / Size 9637 / 37.64 GiB Free PE / Size 191999 / <750.00 GiB VG UUID 7It9l8-70zz-03Uk-8md3-mPBZ-o7fe-clN3QX root@sb1 ~ # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 38.2G 0 disk ├─sda1 8:1 0 512M 0 part /boot └─sda2 8:2 0 37.7G 0 part └─vg0-root 253:0 0 787.7G 0 lvm / sdb 8:16 0 750G 0 disk └─vg0-root 253:0 0 787.7G 0 lvm / sr0 11:0 1 1024M 0 rom
在完成了所有命令之后,可以在 lsblk 中看到 / 已经扩充到了 787.7G