使用 LVM 分区把 vps 变成大盒子
安装系统时使用 LVM 分区
安装系统时, 需要在后台进入 Rescue 模式
输入 installimage
或者按向上的方向键会有历史命令回车后会弹出配置文件让你编辑, 在分区那里需要这么写
PART /boot ext4 512M
PART lvm vg0 all
LV vg0 root / ext4 all
双击 Esc 退出, 正常安装就行, 之后 LVM 分区就挂载在 / 这里了
重启并合并新 Volume
重启后, 进入系统, 在 Volume 页面创建并附加 (attach) 新的 Volume。通常, 系统安装在 /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
通过 LVM 逻辑卷扩展 swap 分区
在我们日常运维工作中, 偶尔也会遇到需要扩展 swap 空间的操作。扩展 swap 空间的方法很多, 现在让我们一起来探讨一下, 在 LVM 下扩展 swap 空间的方法
在 CentOS 7 中, 扩展 LVM 下的 swap 空间的步骤如下
-
查看一下卷组空闲空间, 是否还有空闲空间能用于扩展 swap 分区
vgdisplay
从倒数第二行, 我们可以看到, 本机 CentOS 卷组的空闲空间小于 5GB, 分出 1GB 来扩展 swap 空间足够了
-
查看逻辑卷
lvdisplay
逻辑卷 swap 的路径为
/dev/centos/swap
-
扩展逻辑卷 swap
[root@Geeklp201 ~]# lvextend -L 2GB /dev/centos/swap Size of logical volume centos/swap changed from 1.00 GiB (256 extents) to 2.00 GiB (512 extents). Logical volume centos/swap successfully resized.
扩展成功! 然而, 用 free 命令看一下, 当前 swap 空间并未增加。还需要执行以下几步
-
更新 swap 设置
[root@Geeklp201 ~]# lvextend -L 2GB /dev/centos/swap # 在操作之前最好把将缓冲区的数据写 入磁盘 [root@Geeklp201 ~]# sync;sync [root@Geeklp201 ~]# swapoff /dev/centos/swap [root@Geeklp201 ~]# mkswap /dev/centos/swap mkswap: /dev/centos/swap: warning: wiping old swap signature. 正在设置交换空间版本 1, 大小 = 2097148 KiB 无标签, UUID=4250fdac-92c1-43f4-b266-c9d9c69a2783 [root@Geeklp201 ~]# swapon /dev/centos/swap
增加成功!都不用去修改 fstab 文件, 是不是很方便?
Linux LVM简明教程 图片备份
原文
Hetzner Cloud Volume 功能的使用
Linux LVM简明教程
新玩法, CentOS7中LVM通过扩展逻辑卷扩展swap空间