说明:此操作在centos7下进行,如果是centos6发行版,需要注意格式化LV的文件系统类型(centos7.0开始默认文件系统是xfs,centos6是ext4)、最后一步写入系统的类型

查看当前磁盘

[ root@iz2zebxuxtu9vt42i6fd7hz:~ ]# df -lh
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G  464K  1.9G   1% /run
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/vda1        50G  2.5G   45G   6% /
tmpfs           379M     0  379M   0% /run/user/0

查看块分区

[ root@iz2zebxuxtu9vt42i6fd7hz:~ ]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda    253:0    0   50G  0 disk
└─vda1 253:1    0   50G  0 part /
vdb    253:16   0  100G  0 disk

可以看到 /dev/vdb 为新增的磁盘

创建PV

[ root@iz2zebxuxtu9vt42i6fd7hz:~ ]# pvcreate -v /dev/vdb
    Wiping signatures on new PV /dev/vdb.
    Set up physical volume for "/dev/vdb" with 209715200 available sectors.
    Zeroing start of device /dev/vdb.
    Writing physical volume data to disk "/dev/vdb".
  Physical volume "/dev/vdb" successfully created.

注意:

PV创建好之后,到这一步可以选择扩展或者新建挂载点,扩容的前提条件是扩容挂载点的磁盘格式是LVM格式,这里先演示新建挂载点然后删除挂载点并扩容

新增LVM挂载

查看PV

[ root@iz2zebxuxtu9vt42i6fd7hz:~ ]# pvdisplay
  "/dev/vdb" is a new physical volume of "100.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/vdb
  VG Name
  PV Size               100.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               Z0y1TE-H5D7-N2p6-u7Zl-u4d4-2DOL-w3j1eP

注意看 VG Name,前面的是系统安装时选择LVM格式的,后面的还没有创建,所以 VG Name 为空

新建VG

[ root@iz2zebxuxtu9vt42i6fd7hz:~ ]# vgcreate vg01_data /dev/vdb
  Volume group "vg01_data" successfully created

查看VG

[ root@iz2zebxuxtu9vt42i6fd7hz:~ ]# vgdisplay
  --- Volume group ---
  VG Name               vg01_data
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <100.00 GiB
  PE Size               4.00 MiB
  Total PE              25599
  Alloc PE / Size       0 / 0
  Free  PE / Size       25599 / <100.00 GiB
  VG UUID               bEr3ZM-R5wv-nm0j-FAWm-xAwQ-I3im-TLKxHe

可以看到 vg01_data 为新建的VG

新建LV

[ root@iz2zebxuxtu9vt42i6fd7hz:~ ]# lvcreate  -l 100%FREE -n lv_data vg01_data
  Logical volume "lv_data" created.

格式化LV

格式化文件系统类型有xfs,ext4,这里测试使用ext4格式,默认centos7下使用xfs格式,centos6为ext4格式

[ root@iz2zebxuxtu9vt42i6fd7hz:~ ]# mkfs.ext4 -i 32768 /dev/mapper/vg01_data-lv_data
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
3276800 inodes, 26213376 blocks
1310668 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2174746624
800 block groups
32768 blocks per group, 32768 fragments per group
4096 inodes per group
Superblock backups stored on blocks:
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
	4096000, 7962624, 11239424, 20480000, 23887872
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

新建挂载点并挂载

mkdir /data
echo '/dev/mapper/vg01_data-lv_data            /data                    ext4    defaults        0 0' >>/etc/fstab
mount -a

查看新增挂载后的块分区

[ root@iz2zebxuxtu9vt42i6fd7hz:~ ]# lsblk
NAME                MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda                 253:0    0   50G  0 disk
└─vda1              253:1    0   50G  0 part /
vdb                 253:16   0  100G  0 disk
└─vg01_data-lv_data 252:0    0  100G  0 lvm  /data

可以看到新增磁盘以LVM格式挂载在 /app 下

删除LVM挂载点

删除挂载点

[ root@iz2zebxuxtu9vt42i6fd7hz:~ ]# umount -v /dev/mapper/vg01_data-lv_data
umount: /data (/dev/mapper/vg01_data-lv_data) unmounted

删除LV

[ root@iz2zebxuxtu9vt42i6fd7hz:~ ]# lvremove /dev/vg01_data/lv_data
Do you really want to remove active logical volume vg01_data/lv_data? [y/n]: y
  Logical volume "lv_data" successfully removed

删除VG(参数为 VG Name)

vgremove vg01_data
Do you really want to remove volume group "vg01_data" containing 1 logical volumes? [y/n]: y
Do you really want to remove active logical volume vg01_data/lv_data? [y/n]: y
  Logical volume "lv_data" successfully removed
  Volume group "vg01_data" successfully removed