linux--LVM分区和磁盘配额!

Posted handsomeboy-东

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux--LVM分区和磁盘配额!相关的知识,希望对你有一定的参考价值。

linux--LVM和磁盘限额

LVM概述

LVM(Logical Volume Manager,逻辑卷管理)可以弹性增加和缩小文件系统容量的分区,从而提高磁盘管理的灵活性
可以将几个物理硬盘或物理分区增合成一个大的分区,然后再在此大分区分小分区

LVM的四大重点:
1)PV:物理卷,可将一整块硬盘或某个分区转换为PV
2)VG:卷组:把多个物理卷组在一起,组成逻辑VG卷组,每个VG之间都是隔离的
3)LV:逻辑卷:存储多个PE
4)PE:最小的储存单位,默认为4M

LVM磁盘分区

1)添加两块硬盘,重启系统后查看是否成功,下面添加的是/dev/sdd和/dev/sde

[root@AIDEBOY ~]# fdisk -l

磁盘 /dev/sdb:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x2cd85475

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    10487807     5242880   83  Linux
/dev/sdb2        10487808    20973567     5242880   83  Linux
/dev/sdb3        20973568    83888127    31457280    5  Extended
/dev/sdb5        20975616    31461375     5242880   83  Linux
/dev/sdb6        31463424    41949183     5242880   83  Linux

磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/sda:214.7 GB, 214748364800 字节,419430400 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009badd

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648     6703103     3145728   82  Linux swap / Solaris
/dev/sda3         6703104   419430399   206363648   83  Linux

磁盘 /dev/sde:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/sdc:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x59136201

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048    10487807     5242880   83  Linux
/dev/sdc2        10487808    20973567     5242880   83  Linux
/dev/sdc3        20973568    83888127    31457280    5  Extended
/dev/sdc5        20975616    31461375     5242880   82  Linux swap / Solaris
/dev/sdc6        31463424    41949183     5242880   83  Linux

2)将/dev/sdd转换为PV并设置一个VG组加入到其中,在设置LV加入VG组中

[root@AIDEBOY ~]# pvcreate /dev/sdd                 //后面可以跟多个分区同时转换,转换连续的分区或磁盘可以用[],例如/dev/sd[d-f],下面的VG和LV的创建也是一样
  Physical volume "/dev/sdd" successfully created.

查看PV,VG,LV信息命令

pvscan或pvs或pvdisplay :          3条命令都可以查看,pvdisplay查看的信息更加详细,
vgscan或vgs或vgdisplay :
lvscan或lvs或lvdisplay :

将已经转换的/dev/sdd加入VG组

[root@AIDEBOY ~]# vgcreate vg01 /dev/sdd            //设置VG组并取名为vg01,将/dev/sdd加入vg01中
  Volume group "vg01" successfully created
[root@AIDEBOY ~]# lvcreate -n lv01 -L 5G vg01            //设置LV并取名为lv01,取用vg01的5G容量
  Logical volume "lv01" created.

查看设置结果

[root@AIDEBOY ~]# pvscan
  PV /dev/sdd   VG vg01            lvm2 [<20.00 GiB / <15.00 GiB free]
  Total: 1 [<20.00 GiB] / in use: 1 [<20.00 GiB] / in no VG: 0 [0   ]
[root@AIDEBOY ~]# vgscan
  Reading volume groups from cache.
  Found volume group "vg01" using metadata type lvm2
[root@AIDEBOY ~]# lvscan
  ACTIVE            '/dev/vg01/lv01' [5.00 GiB] inherit
[root@AIDEBOY ~]# 

移除PV、VG、LV命令

|pvremove 设备名
|vgremove vg组名
|lvremove
|vgreduce vg组名 vg组中的分区 :将分区从vg组中移除

3)将配置好的文件系统格式化并挂载在一个空目录上

[root@AIDEBOY ~]# mkfs.xfs /dev/vg01/lv01                          //这里注意格式化的设备名
meta-data=/dev/vg01/lv01         isize=512    agcount=4, agsize=327680 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=1310720, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

[root@AIDEBOY ~]# mount /dev/vg01/lv01 /home/whd1
[root@AIDEBOY ~]# df -h
文件系统               容量  已用  可用 已用% 挂载点
/dev/sda3              197G  6.6G  191G    4% /
devtmpfs               895M     0  895M    0% /dev
tmpfs                  910M     0  910M    0% /dev/shm
tmpfs                  910M   11M  900M    2% /run
tmpfs                  910M     0  910M    0% /sys/fs/cgroup
/dev/sda1              197M  152M   45M   78% /boot
tmpfs                  182M  4.0K  182M    1% /run/user/42
tmpfs                  182M   32K  182M    1% /run/user/0
/dev/sr0               4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64
tmpfs                  182M     0  182M    0% /run/user/1000
/dev/mapper/vg01-lv01  5.0G   33M  5.0G    1% /home/whd1              //挂载结果

4)对VG组或LV拓展容量

lvextend -L 数值 /dev/vg组名/lv组名 : lv扩容
vgextend vg组名 未进行分区的磁盘或分区名 :对vg组进行扩容
[root@AIDEBOY ~]# lvextend -L +5G /dev/vg01/lv01       //+5G表示拓展5G,不用+表示变为5G,
  Size of logical volume vg01/lv01 changed from 5.00 GiB (1280 extents) to 10.00 GiB (2560 extents).
  Logical volume vg01/lv01 successfully resized.
[root@AIDEBOY ~]# lvs
  LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv01 vg01 -wi-ao---- 10.00g 
  [root@AIDEBOY ~]# lvextend -L +5G /dev/vg01/lv01                //对LV拓展5G
  Size of logical volume vg01/lv01 changed from 10.00 GiB (2560 extents) to 15.00 GiB (3840 extents).
  Logical volume vg01/lv01 successfully resized.
  [root@AIDEBOY ~]# lvs
  LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv01 vg01 -wi-ao---- 15.00g  
  [root@AIDEBOY ~]# df -h                  
文件系统               容量  已用  可用 已用% 挂载点
/dev/sda3              197G  6.6G  191G    4% /
devtmpfs               895M     0  895M    0% /dev
tmpfs                  910M     0  910M    0% /dev/shm
tmpfs                  910M   11M  900M    2% /run
tmpfs                  910M     0  910M    0% /sys/fs/cgroup
/dev/sda1              197M  152M   45M   78% /boot
tmpfs                  182M  4.0K  182M    1% /run/user/42
tmpfs                  182M   32K  182M    1% /run/user/0
/dev/sr0               4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64
tmpfs                  182M     0  182M    0% /run/user/1000
/dev/mapper/vg01-lv01  5.0G   33M  5.0G    1% /home/whd1

查看磁盘水位发现LV01的容量还是没有变化,此时还需要用命令对拓展的大小进行更新

xfs_growfs /dev/vg01/lv01  :对于xfs文件系统lv拓展容量后的激活命令
resize2fs /dev/vg01/lv01  :对于ext4文件系统拓展容量后的激活命令

再对vg01进行拓展:

[root@AIDEBOY ~]# vgextend vg01 /dev/sde          //这里可以直接将未分区的硬盘或分区加入到VG组中,并且不用做PV的转换
  Physical volume "/dev/sde" successfully created.
  Volume group "vg01" successfully extended
[root@AIDEBOY ~]# vgs
  VG   #PV #LV #SN Attr   VSize  VFree 
  vg01   2   1   0 wz--n- 39.99g 24.99g

拓展内容:

lvextend -L +5G -r /dev/lv1 : 加-r可以直接更新文件系统,不用xfs_growfs更新,而且-r对于文件系统都实用

磁盘限额

作用范围 :ext4文件系统只能对指定的分区,xfs文件系统精确到对整个系统、一个挂载点或一个目录限额
限制对象 :用户,组,服务器
限制类型 :磁盘容量,文件数量
限制方法 :软限制,硬限制

限额配置基本步骤

1)以支持配额功能的方式挂载文件系统
mount -o remount,usrquota,grpquota 设备名 :临时挂载
2)vim /etc/fstab
设备名  挂载点 文件系统类型 defaults,usrquota,grpquota 0 0 :  永久更改挂载
3)quotacheck -cugv 设备名 :创建用户和组的配额的配置文件
4)edquota -u 用户名 :对用户进行限额配置,会进入一个文本编辑模式,可以在里面设置文件数量以及磁盘容量的限额
5)quotaon -p 设备名 :查看限额配置
6)quota -u 设备名 :开启限额配置
7)quota -u 用户名 :查看当前用户限额情况

以上是关于linux--LVM分区和磁盘配额!的主要内容,如果未能解决你的问题,请参考以下文章

linux LVM 实战运用

Linux LVM介绍及管理

Linux LVM分区的创建、分配

Linux LVM 扩展磁盘分区

linux LVM与磁盘管理

linux lvm扩容磁盘大小