CentOS LVM逻辑卷管理

Posted asker009

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS LVM逻辑卷管理相关的知识,希望对你有一定的参考价值。

CentOS 挂载(U盘NTFS格式,新硬盘,增加交换分区,扩展根分区等)中扩展根分区部分用的就是LVM逻辑卷管理来进行扩展的。

1、为什么会有逻辑卷管理

传统磁盘管理是直接对硬盘分区进行访问,你如果磁盘不够了,再加一块硬盘,然后分区格式化,系统和应用直接对分区后的硬盘直接访问。

这个访问是独立,脱离原有目录系统的,比如在windows系统里经常出现C盘不够了,当时分区没想到windows会如此臃肿,要解决这个问题,

只能重新挂硬盘,借助第三方软件来动态的、非在线式的调整,而且,非常慢。

而LVM逻辑卷管理,可以动态的、实时的实现这个过程,非常快。LVM能做到这点,是LVM在磁盘上抽象了一层管理系统,系统和应用已经不

直接访问磁盘,而是访问这个抽象层,也就是LVM里的逻辑卷。

技术分享图片

2、常用的LVM命令

 
  物理卷  
  卷组     逻辑卷  
  扫描     pvscan(pvs)     vgscan(vgs)     lvscan(lvs)  
  创建   pvcreate   vgcreate   lvcreate
  显示   pvdisplay   vgdisplay   lvdisplay
  删除   pvremove   vgremove   lvremove
  扩展     vgextend   lvextend
  缩减     vgreduce   lvreduce

 

 

 

 

 

 

 

 

 3、逻辑卷示例

3.1、创建物理卷

查看目前物理卷
[[email protected] ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <19.00g    0 
  /dev/sdb3  centos lvm2 a--  <15.00g    0 

查看目前磁盘情况,这个命令比较多,这里用lsblk直观一些
[[email protected] ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   32G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0    2G  0 part /backup
├─sdb2            8:18   0    3G  0 part [SWAP]
└─sdb3            8:19   0   15G  0 part 
  └─centos-root 253:0    0   32G  0 lvm  /
sdc               8:32   0    1G  0 disk 
sdd               8:48   0    1G  0 disk 
sde               8:64   0    1G  0 disk 
sdf               8:80   0    1G  0 disk 
sdg               8:96   0    1G  0 disk 
sr0              11:0    1  4.2G  0 rom  

把sdc,sdd,sde三个磁盘都创建成物理卷
[[email protected] ~]# pvcreate /dev/sdc /dev/sdd /dev/sde
  Physical volume "/dev/sdc" successfully created.
  Physical volume "/dev/sdd" successfully created.
  Physical volume "/dev/sde" successfully created.

[[email protected] ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <19.00g    0 
  /dev/sdb3  centos lvm2 a--  <15.00g    0 
  /dev/sdc          lvm2 ---    1.00g 1.00g
  /dev/sdd          lvm2 ---    1.00g 1.00g
  /dev/sde          lvm2 ---    1.00g 1.00g

3.2、创建新卷组esdata

查看目前卷组情况
[[email protected] ~]# vgs
  VG     #PV #LV #SN Attr   VSize  VFree
  centos   2   2   0 wz--n- 33.99g    0 

创建esdata卷组
[[email protected] ~]# vgcreate esdata /dev/sdc /dev/sdd /dev/sde
  Volume group "esdata" successfully created

再次查看
[[email protected] ~]# vgs
  VG     #PV #LV #SN Attr   VSize  VFree 
  centos   2   2   0 wz--n- 33.99g     0 
  esdata   3   0   0 wz--n- <2.99g <2.99g

3.3、创建逻辑卷,800M大小

[[email protected] ~]# lvs
  LV   VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- 31.99g                                                    
  swap centos -wi-ao----  2.00g                                                    

从esdata上创建名字为vo_esData的逻辑卷,800M
[[email protected] ~]# lvcreate -n vo_esData -L 800M esdata
  Logical volume "vo_esData" created.

[[email protected] ~]# lvs
  LV        VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root      centos -wi-ao----  31.99g                                                    
  swap      centos -wi-ao----   2.00g                                                    
  vo_esData esdata -wi-a----- 800.00m 

3.4、格式化逻辑卷vo_esData

查看逻辑卷路径
[[email protected] ~]# lvdisplay --- Logical volume --- LV Path /dev/esdata/vo_esData LV Name vo_esData VG Name esdata LV UUID tMu3LD-Xxyy-10b4-Nbvn-SFe9-hn9W-kdFlDV LV Write Access read/write LV Creation host, time bigdata-senior01.home.com, 2019-01-17 15:39:59 +0800 LV Status available # open 0 LV Size 800.00 MiB Current LE 200 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2
格式化成ext4格式,为啥不是xfs格式?因为xfs缩减不方便 [[email protected] ~]# mkfs.ext4 /dev/esdata/vo_esData mke2fs 1.42.9 (28-Dec-2013) 文件系统标签= OS type: Linux 块大小=4096 (log=2) 分块大小=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 51296 inodes, 204800 blocks 10240 blocks (5.00%) reserved for the super user 第一个数据块=0 Maximum filesystem blocks=209715200 7 block groups 32768 blocks per group, 32768 fragments per group 7328 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840 Allocating group tables: 完成 正在写入inode表: 完成 Creating journal (4096 blocks): 完成 Writing superblocks and filesystem accounting information: 完成

3.5、挂载

[[email protected] /]# mount /dev/esdata/vo_esData /mnt/esdata
[[email protected] /]# ls /mnt/esdata
lost+found
[[email protected] /]# df -h
文件系统                      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root        32G  4.2G   28G   13% /
devtmpfs                      901M     0  901M    0% /dev
tmpfs                         912M     0  912M    0% /dev/shm
tmpfs                         912M  8.6M  904M    1% /run
tmpfs                         912M     0  912M    0% /sys/fs/cgroup
/dev/sda1                    1014M  143M  872M   15% /boot
/dev/sdb1                     2.0G   67M  2.0G    4% /backup
tmpfs                         183M     0  183M    0% /run/user/1004
/dev/mapper/esdata-vo_esData  772M  1.6M  714M    1% /mnt/esdata

3.6、扩展逻辑卷,把刚才创建的800M的逻辑卷扩展到1.5G,只要卷组里还有足够的资源,就可以扩展逻辑卷。

如果卷组的空间不够,还可以再加硬盘创建物理卷,然后,把物理卷加入到对应的卷组里,保证卷组的资源。

[[email protected] /]# vgs
  VG     #PV #LV #SN Attr   VSize  VFree 
  centos   2   2   0 wz--n- 33.99g     0 
  esdata   3   1   0 wz--n- <2.99g <2.21g #卷组还有2.21GB的空间可用

[[email protected] /]# vgdisplay
  --- Volume group ---
  VG Name               esdata
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               <2.99 GiB
  PE Size               4.00 MiB
  Total PE              765
  Alloc PE / Size       200 / 800.00 MiB
  Free  PE / Size       565 / <2.21 GiB #卷组还有2.21GB的空间可用
  VG UUID               HhfZYk-xAbw-oYGP-S2bc-r53K-CxUO-ds2NUi

[[email protected] /]# lvs
  LV        VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root      centos -wi-ao----  31.99g                                                    
  swap      centos -wi-ao----   2.00g                                                    
  vo_esData esdata -wi-ao---- 800.00m                                                    
[[email protected] /]# lvextend -L 1.5G /dev/esdata/vo_esData
  Size of logical volume esdata/vo_esData changed from 800.00 MiB (200 extents) to 1.50 GiB (384 extents).
  Logical volume esdata/vo_esData successfully resized.
[[email protected] /]# lvs
  LV        VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root      centos -wi-ao---- 31.99g                                                    
  swap      centos -wi-ao----  2.00g                                                    
  vo_esData esdata -wi-ao----  1.50g   

[[email protected] /]# vgs
  VG     #PV #LV #SN Attr   VSize  VFree 
  centos   2   2   0 wz--n- 33.99g     0 
  esdata   3   1   0 wz--n- <2.99g <1.49g

卸载设备,然后才能拉伸文件系统容量
[[email protected] /]# umount /dev/esdata/vo_esData
[[email protected] /]# e2fsck /dev/esdata/vo_esData
e2fsck 1.42.9 (28-Dec-2013)
/dev/esdata/vo_esData: clean, 11/51296 files, 7726/204800 blocks
[[email protected] /]# resize2fs /dev/esdata/vo_esData
resize2fs 1.42.9 (28-Dec-2013)
请先运行 ‘e2fsck -f /dev/esdata/vo_esData‘.

[[email protected] /]# e2fsck -f /dev/esdata/vo_esData
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/esdata/vo_esData: 11/51296 files (0.0% non-contiguous), 7726/204800 blocks
[[email protected] /]# resize2fs /dev/esdata/vo_esData
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/esdata/vo_esData to 393216 (4k) blocks.
The filesystem on /dev/esdata/vo_esData is now 393216 blocks long.

[[email protected] /]# mount /dev/esdata/vo_esData /mnt/esdata
[[email protected] /]# df -h
文件系统                      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root        32G  4.2G   28G   13% /
devtmpfs                      901M     0  901M    0% /dev
tmpfs                         912M     0  912M    0% /dev/shm
tmpfs                         912M  8.6M  904M    1% /run
tmpfs                         912M     0  912M    0% /sys/fs/cgroup
/dev/sda1                    1014M  143M  872M   15% /boot
/dev/sdb1                     2.0G   67M  2.0G    4% /backup
tmpfs                         183M     0  183M    0% /run/user/1004
/dev/mapper/esdata-vo_esData  1.5G  2.4M  1.4G    1% /mnt/esdata

3.7、缩小逻辑卷容量

 








































以上是关于CentOS LVM逻辑卷管理的主要内容,如果未能解决你的问题,请参考以下文章

Centos 7.4 服务器配置LVM(逻辑卷管理)

CentOS LVM逻辑卷管理

CentOS8提高篇9:LVM(逻辑卷管理)

Centos7 LVM管理的逻辑卷重新划分分区

Centos 6 & 7 LVM 逻辑盘卷管理

CentOS安装,LVM逻辑卷