磁盘管理 -- LVM逻辑卷的制作和扩容

  • LVM的特点

  • 传统分区的缺点:

传统的文件系统是基于分区的,一个文件系统对应一个分区。这种方式比较直观,但不易改变。当一个分区空间已满时,无法对其扩充,只能采用重新分区/建立文件系统,非常麻烦;或把分区中的数据移到另一个更大的分区中。

  • 当采用LVM时:

1.将硬盘的多个分区由LVM统一为卷组管理,可以方便的加入或移走分区以扩大或减小卷组的可用容量,充分利用硬盘空间;

2.文件系统建立在LVM上,可以跨分区,方便使用;

3.当系统空间不足而加入新的硬盘时,不必把用户的数据从原硬盘迁移到新硬盘,而只须把新的分区加入卷组并扩充逻辑卷即可。

#使用LVM主要是方便管理、增加了系统的扩展性。可以跨分区,多个硬盘组合。

  • LVM的制作步骤:

  1. 拥有基本分区

  2. 做成物理卷: pv ------- sdb1、sdb2 打pv的标记。

  3. 加入卷组: vg-------- 卷组里面包含:sdb1 sdb2,建立在PV之上。

  4. 逻辑卷 : lv ------- 逻辑卷是从卷组里面拿空间出来做成的逻辑卷,在起个名,建立在VG之上

  5. 制作文件系统------mkfs.xfs lvm路径

  6. 挂载 ------mount 使用lvm

  7. #制作lvm的时候可以是一整块硬盘也可以是硬盘分好的区并且是还没有用的。必须是没有做文件系统的

  • 创建了LVM


[root@server-1 ~]# yum -y install lvm2        #如果没有pv命令安装
[root@server-1 ~]# ll /dev/sd*                #查看所有磁盘
brw-rw----. 1 root disk 8,  0 2月  25 09:04 /dev/sda
brw-rw----. 1 root disk 8,  1 2月  25 09:04 /dev/sda1
brw-rw----. 1 root disk 8,  2 2月  25 09:04 /dev/sda2
brw-rw----. 1 root disk 8, 16 2月  25 09:04 /dev/sdb
[root@server-1 ~]# pvcreate /dev/sdb          #创建sdb为物理卷
  Physical volume "/dev/sdb" successfully created.
[root@server-1 ~]# pvs                        #查看PV
  PV         VG     Fmt  Attr PSize   PFree 
  /dev/sda2  centos lvm2 a--  <19.00g     0 
  /dev/sdb          lvm2 ---   10.00g 10.00g
[root@server-1 ~]# vgcreate vg1 /dev/sdb       #将sdb创建为vg1
  Volume group "vg1" successfully created
[root@server-1 ~]# vgs                         #查看vg
  VG     #PV #LV #SN Attr   VSize   VFree  
  centos   1   2   0 wz--n- <19.00g      0 
  vg1      1   0   0 wz--n- <10.00g <10.00g
[root@server-1 ~]# vgscan 
  Reading volume groups from cache.
  Found volume group "vg1" using metadata type lvm2
  Found volume group "centos" using metadata type lvm2
[root@server-1 ~]# vgdisplay                    #详细查看vg
  --- Volume group ---
  VG Name               vg1
  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               <10.00 GiB
  PE Size               4.00 MiB
  Total PE              2559
  Alloc PE / Size       0 / 0   
  Free  PE / Size       2559 / <10.00 GiB
  VG UUID               jHlw8l-xPxZ-0RHB-UR5L-pjLa-E4RN-8E90wu

参数解释:

-L 指定lv的大小

-n 给创建的lv起一个名字

-l 20 指定PE


[root@server-1 ~]# lvcreate -L 500M -n lv1 vg1      #在vg1里创建一个大小为500M的lv1
  Logical volume "lv1" created.
[root@server-1 ~]# lvs                              #查看lv
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- <17.00g                                                    
  swap centos -wi-ao----   2.00g                                                    
  lv1  vg1    -wi-a----- 500.00m             
[root@server-1 ~]# mkfs.xfs /dev/vg1/lv1        #将lv制作为xfs文件系统
meta-data=/dev/vg1/lv1           isize=512    agcount=4, agsize=32000 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=128000, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@server-1 ~]# mkdir /mnt/lv1                # 在/mnt下创建挂载点lv1
[root@server-1 ~]# mount /dev/vg1/lv1 /mnt/lv1   # 将lv1挂载到lv1
[root@server-1 ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  470M     0  470M    0% /dev
tmpfs                   tmpfs     487M     0  487M    0% /dev/shm
tmpfs                   tmpfs     487M  8.6M  478M    2% /run
tmpfs                   tmpfs     487M     0  487M    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        17G  6.4G   11G   38% /
/dev/sda1               xfs      1014M  171M  844M   17% /boot
tmpfs                   tmpfs      98M  4.0K   98M    1% /run/user/42
tmpfs                   tmpfs      98M   28K   98M    1% /run/user/0
/dev/sr0                iso9660   4.4G  4.4G     0  100% /run/media/root/CentOS 7 x86_64
/dev/mapper/vg1-lv1     xfs       497M   26M  472M    6% /mnt/lv1
[root@server-1 ~]# lvcreate -l 434 -n lv2 vg1         ##采用PE方式在创建lv2
  Logical volume "lv2" created.
[root@server-1 ~]# lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- <17.00g                                                    
  swap centos -wi-ao----   2.00g                                                    
  lv1  vg1    -wi-ao---- 500.00m                                                    
  lv2  vg1    -wi-a-----  <1.70g                                                    
[root@server-1 ~]# mkdir /mnt/lv2         #在/mnt下创建挂载点lv2
[root@server-1 ~]# mkfs.ext4 /dev/vg1/lv2    #将lv2制作为ext4文件系统
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
111104 inodes, 444416 blocks
22220 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=455081984
14 block groups
32768 blocks per group, 32768 fragments per group
7936 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 

[root@server-1 ~]# mount /dev/vg1/lv2 /mnt/lv2   #将lv2挂载到lv2上
[root@server-1 ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  470M     0  470M    0% /dev
tmpfs                   tmpfs     487M     0  487M    0% /dev/shm
tmpfs                   tmpfs     487M  8.6M  478M    2% /run
tmpfs                   tmpfs     487M     0  487M    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        17G  6.4G   11G   38% /
/dev/sda1               xfs      1014M  171M  844M   17% /boot
tmpfs                   tmpfs      98M  4.0K   98M    1% /run/user/42
tmpfs                   tmpfs      98M   28K   98M    1% /run/user/0
/dev/sr0                iso9660   4.4G  4.4G     0  100% /run/media/root/CentOS 7 x86_64
/dev/mapper/vg1-lv1     xfs       497M   26M  472M    6% /mnt/lv1
/dev/mapper/vg1-lv2     ext4      1.7G  5.1M  1.6G    1% /mnt/lv2

  • LVM逻辑卷扩容

如果lv所在的vg有空间直接扩容就可以了!

没有的话添加一块硬盘。

[root@server-1 ~]# lsblk

  • 扩容vg(vgextend)


[root@server-1 ~]# pvcreate /dev/sdc         #将sdc创建为物理卷
  Physical volume "/dev/sdc" successfully created.
[root@server-1 ~]# vgextend vg1 /dev/sdc          #将/dev/sdc扩展到vg1中
  Volume group "vg1" successfully extended
[root@server-1 ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree  
  centos   1   2   0 wz--n- <19.00g      0 
  vg1      2   2   0 wz--n-  14.99g <12.81g
  • 扩容lv


[root@server-1 ~]# lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- <17.00g                                                    
  swap centos -wi-ao----   2.00g                                                    
  lv1  vg1    -wi-a----- 500.00m                                                    
  lv2  vg1    -wi-a-----  <1.70g  
[root@server-1 ~]# lvextend -L 900M /dev/vg1/lv1    #将lv1扩容到900M
  Size of logical volume vg1/lv1 changed from 500.00 MiB (125 extents) to 900.00 MiB (225 extents).
  Logical volume vg1/lv1 successfully resized.
[root@server-1 ~]# lvextend -L +1000M /dev/vg1/lv2   #将lv2增加1000M
  Size of logical volume vg1/lv2 changed from <1.70 GiB (434 extents) to 2.67 GiB (684 extents).
  Logical volume vg1/lv2 successfully resized.
[root@server-1 ~]# lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- <17.00g                                                    
  swap centos -wi-ao----   2.00g                                                    
  lv1  vg1    -wi-a----- 900.00m                                                    
  lv2  vg1    -wi-a-----   2.67g
[root@server-1 ~]# lvextend -l +20 /dev/vg1/lv2     #在原有基础上加20个PE
  Size of logical volume vg1/lv2 changed from 2.67 GiB (684 extents) to 2.75 GiB (704 extents).
  Logical volume vg1/lv2 successfully resized.
[root@server-1 ~]# lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- <17.00g                                                    
  swap centos -wi-ao----   2.00g                                                    
  lv1  vg1    -wi-a----- 900.00m                                                    
  lv2  vg1    -wi-a-----   2.75g
  • FS(file system)文件系统扩容


[root@server-1 ~]# df -Th
/dev/mapper/vg1-lv1     xfs       497M   26M  472M    6% /mnt/lv1
/dev/mapper/vg1-lv2     ext4      1.7G  5.1M  1.6G    1% /mnt/lv2
[root@server-1 ~]# xfs_growfs /dev/vg1/lv1     #xfs扩容
meta-data=/dev/mapper/vg1-lv1    isize=512    agcount=4, agsize=32000 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=128000, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 128000 to 230400
[root@server-1 ~]# resize2fs /dev/vg1/lv2        #ext4扩容
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg1/lv2 is mounted on /mnt/lv2; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/vg1/lv2 is now 720896 blocks long.
[root@server-1 ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/vg1-lv1     xfs       897M   26M  872M    3% /mnt/lv1
/dev/mapper/vg1-lv2     ext4      2.7G  5.1M  2.6G    1% /mnt/lv2

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值