1 查看当前磁盘情况

  fdisk -l

    /dev/sda1 2048 6143 2048 83 Linux
    /dev/sda2 * 6144 1054719 524288 83 Linux
    /dev/sda3 1054720 10508287 4726784 8e Linux LVM

  我这里只有/dev/sda一块磁盘,系统默认已经使用了sda1 sda2 sda3,其中sda1忘了干嘛的了,sda2用作了boot,sda3用作逻辑卷,是其他逻辑盘的基础盘。由于最多支持4块主分区,所以现在需要将所有剩余空间都创建成一个扩展分区,然后在这个扩展分区上创建逻辑分区,逻辑分区可以建的随意了,要多少建多少。

2 新建扩展分区和逻辑分区

  fdisk /dev/sda

  输入n   

    Partition type:
    p primary (3 primary, 0 extended, 1 free)
    e extended
    Select (default e):(这里选e,创建扩展分区,将所有空间分配给它)

  前面的扩展分区创建完毕后再次输入n,因为主分区已经用完了,所以这里直接让创建逻辑分区,起始扇区默认,结束扇区+500M

  输入p查看当前创建情况

    /dev/sda1 2048 6143 2048 83 Linux
    /dev/sda2 * 6144 1054719 524288 83 Linux
    /dev/sda3 1054720 10508287 4726784 8e Linux LVM
    /dev/sda4 10508288 41943039 15717376 5 Extended(划走所有空间的扩展分区(主分区))
    /dev/sda5 10510336 11534335 512000 83 Linux(实际要用的逻辑分区)

  创建完逻辑分区后,输入w将创建信息写入系统完成创建

3 格式化新创建的逻辑分区

  在此之前先使用partprobe刷新分区表,否则/dev/sda5是不能被系统识别的,有些情况可能需要重启服务器(如虚拟机)

  mkfs.ext4 /dev/sda5

4 创建新的pv

  pvcreate /dev/sda5

5 将pv加入到root所在的vg

  通过df -l和vgdisplay命令可以知道root是在名为centos的vg内的

  vgextend centos /dev/sda5

  再次使用vgdisplay可以看到vg已经变大了(多了500m的空闲空间)

6 扩展root所在的lv

  通过lvdisplay可以知道root的lv路径为/dev/centos/root

  lvextend -l +100%free /dev/centos/root

  这时候通过lvdisplay可以看到root已经扩展了,但是df -l看到的root还是原来的大小,使用如下命令可同步一下

  resize2fs /dev/centos/root(centos7以前)

  或

  xfs_growfs /dev/centos/root(centos7)

7 查看结果

  df -l可查看当前磁盘情况