Hetzner Cloud Volume | LVM 分区 | swap 空间

使用 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

执行以上命令的步骤:

  1. /dev/sdb 上创建 Physical Volume
  2. 将 Volume Group vg0 扩展到 /dev/sdb
  3. 将 Logical Volume vg0/root 扩展到所有可用空间
  4. 扩展 /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 空间的步骤如下

  1. 查看一下卷组空闲空间, 是否还有空闲空间能用于扩展 swap 分区

    vgdisplay
    

    vgdisplay.jpg

    从倒数第二行, 我们可以看到, 本机 CentOS 卷组的空闲空间小于 5GB, 分出 1GB 来扩展 swap 空间足够了

  2. 查看逻辑卷

    lvdisplay
    

    lvdisplay.jpg

    逻辑卷 swap 的路径为 /dev/centos/swap

  3. 扩展逻辑卷 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 空间并未增加。还需要执行以下几步

  4. 更新 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 
    

    free.jpg

    增加成功!都不用去修改 fstab 文件, 是不是很方便?

Linux LVM简明教程 图片备份

linux.cn_article-3218-1.html.png


原文

Hetzner Cloud Volume 功能的使用
Linux LVM简明教程
新玩法, CentOS7中LVM通过扩展逻辑卷扩展swap空间

最后更新于 2019-02-21
使用 Hugo 构建
主题 StackJimmy 设计