Linux

Linux逻辑卷的创建及扩缩容

一、 创建逻辑卷:

逻辑卷的创建需要经过三个步骤,第一步创建物理卷pv;第二步创建卷组vg;第三步创建逻辑卷lv。

创建物理卷:

pvcreate /dev/sdb1
pvcreate /dev/sdb2

查看物理卷:

pvdisplay

创建卷组myvg:

vgcreate myvg /dev/sdb1 /dev/sdb2

查看卷组:

vgdisplay
--- Volume group ---
  VG Name               myvg
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  4
  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               19.99 GiB
  PE Size               4.00 MiB
  Total PE              5118
  Alloc PE / Size       5118 / 19.99 GiB
  Free  PE / Size       0 / 0   
  VG UUID               CnG19u-iM81-6RUH-xihJ-UoVQ-6M10-Ix4jfg

创建逻辑卷mylv:

把myvg的所有PE全部创建lv:
lvcreate -l 5118 -n mylv /dev/myvg
或者创建指定大小(不能超过vg的大小)的lv
lvcreate -L 10G -n mylv /dev/myvg

查看逻辑卷:

lvdisplay

挂载逻辑卷:(其挂载方式与普通分区挂载一样)

mount /dev/myvg/mylv /mnt

二、逻辑卷的扩容

逻辑卷的底层又卷组组成,所以要扩展逻辑卷就要先扩展卷组容量,而卷组又由物理卷组成,所有要先增加物理卷。

添加新硬盘,并分区

#lsblk   查看新硬盘
[root@localhost ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   50G  0 disk 
├─sda1            8:1    0  500M  0 part /boot
└─sda2            8:2    0 49.5G  0 part 
  ├─centos-root 253:0    0 46.5G  0 lvm  /
  └─centos-swap 253:1    0    3G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0    8G  0 part 
│ └─myvg-mylv   253:2    0   20G  0 lvm  
└─sdb2            8:18   0   12G  0 part 
  └─myvg-mylv   253:2    0   20G  0 lvm  
sdc               8:32   0   20G  0 disk 
sr0              11:0    1 55.9M  0 rom  

分区:
fdisk /dev/sdc

创建物理卷pv:

[root@localhost ~]# pvcreate /dev/sdc1
  Physical volume "/dev/sdc1" successfully created.
[root@localhost ~]# pvcreate /dev/sdc2
  Physical volume "/dev/sdc2" successfully created.

扩展卷组vg:

[root@localhost ~]# vgextend myvg /dev/sdc1
  Volume group "myvg" successfully extended
[root@localhost ~]# vgdisplay myvg
  --- Volume group ---
  VG Name               myvg
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               <29.99 GiB
  PE Size               4.00 MiB
  Total PE              7677
  Alloc PE / Size       5118 / 19.99 GiB
  Free  PE / Size       2559 / <10.00 GiB
  VG UUID               CnG19u-iM81-6RUH-xihJ-UoVQ-6M10-Ix4jfg

扩展逻辑卷lv:

指定增加一定数量的PE到lv中:

[root@localhost ~]# lvextend -l +2559 /dev/myvg/mylv
  Size of logical volume myvg/mylv changed from 19.99 GiB (5118 extents) to <29.99 GiB (7677 extents).
  Logical volume myvg/mylv successfully resized.
或者指定扩展到多少个PE:
[root@localhost ~]# lvextend -l 10000 /dev/myvg/mylv
  Size of logical volume myvg/mylv changed from 29.98 GiB (7675 extents) to 39.06 GiB (10000 extents).
  Logical volume myvg/mylv successfully resized.
或者指定lv大小:
[root@localhost ~]# lvextend -L 29.98G /dev/myvg/mylv
  Rounding size to boundary between physical extents: 29.98 GiB.
  Size of logical volume myvg/mylv changed from <29.69 GiB (7600 extents) to 29.98 GiB (7675 extents).
  Logical volume myvg/mylv successfully resized.

同步文件系统:

若为xfs文件系统(必须先挂载)则:
root@localhost ~]# xfs_growfs /dev/myvg/mylv
或者
root@localhost ~]# xfs_growfs /mnt   
meta-data=/dev/mapper/myvg-mylv  isize=512    agcount=4, agsize=1310208 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=5240832, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 5240832 to 7859200
若为ext文件系统(挂载不挂载都可以)则:
[root@localhost ~]# resize2fs /dev/mapper/myvg-mylv
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/mapper/myvg-mylv to 10481664 (4k) blocks.
The filesystem on /dev/mapper/myvg-mylv is now 10481664 blocks long.

三、逻辑卷缩容

说明:一般不建议缩容,缩容有风险,可能造成数据丢失,操作之前先进行数据备份!

Leave a Reply