LVM逻辑卷管理和磁盘配额

LVM逻辑卷管理和磁盘配额

LVM用于动态调整磁盘容量,从而提高磁盘管理的灵活性
/boot分区用于存放引导文件,不能基于LVM创建

LVM名词

  • PV 物理卷
  • VG 卷组
  • LV 逻辑卷
  • PE 最小存储单元,默认4M

LVM创建步骤
先创建PV,再创建VG,再创建LV,然后格式化,再挂载

先创建物理卷

[root@localhost ~]# pvcreate /dev/sdb /dev/sdc
WARNING: xfs signature detected on /dev/sdb at offset 0. Wipe it? [y/n]: y
  Wiping xfs signature on /dev/sdb.
  Physical volume "/dev/sdb" successfully created.
  Physical volume "/dev/sdc" successfully created.

查看是否创建成功

[root@localhost ~]# pvs
  PV         VG Fmt  Attr PSize  PFree 
  /dev/sdb      lvm2 ---  20.00g 20.00g
  /dev/sdc      lvm2 ---  20.00g 20.00g
[root@localhost ~]# pvdisplay 
  "/dev/sdc" is a new physical volume of "20.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc
  VG Name               
  PV Size               20.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               lsjdkt-cPyE-Ava7-xUpq-vkCd-BX02-AHpsOx
   
  "/dev/sdb" is a new physical volume of "20.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb
  VG Name               
  PV Size               20.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               hNj3Ws-5Mb7-eMd5-eI5j-2hXz-zPKj-mYY3lc

然后创建卷组

[root@localhost ~]# vgcreate vg01 /dev/sdb /dev/sdc
  Volume group "vg01" successfully created

查看是否创建成功

[root@localhost ~]# vgs
  VG   #PV #LV #SN Attr   VSize  VFree 
  vg01   2   0   0 wz--n- 39.99g 39.99g
[root@localhost ~]# vgdisplay 
  --- Volume group ---
  VG Name               vg01
  System ID             
  Format                lvm2
  Metadata Areas        2
  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                2
  Act PV                2
  VG Size               39.99 GiB
  PE Size               4.00 MiB
  Total PE              10238
  Alloc PE / Size       0 / 0   
  Free  PE / Size       10238 / 39.99 GiB
  VG UUID               UdJX87-Rjfp-qVSo-rgya-KsSo-D2Sq-0kKEsc

然后创建逻辑卷并查看

[root@localhost ~]# lvcreate -n lv01 -L 5G vg01
  Logical volume "lv01" created.
[root@localhost ~]# lvs
  LV   VG   Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv01 vg01 -wi-a----- 5.00g                                                    
[root@localhost ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/vg01/lv01
  LV Name                lv01
  VG Name                vg01
  LV UUID                ty3qO0-QFBl-w33J-7qeU-aDUR-ZcJ8-XBpgsX
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2021-05-11 19:11:35 +0800
  LV Status              available
  # open                 0
  LV Size                5.00 GiB
  Current LE             1280
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

当逻辑卷不够用时可以扩容

[root@localhost ~]# lvextend -L +10G /dev/vg01/lv01 
  Size of logical volume vg01/lv01 changed from 5.00 GiB (1280 extents) to 15.00 GiB (3840 extents).
  Logical volume vg01/lv01 successfully resized.
[root@localhost ~]# lvs
  LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv01 vg01 -wi-a----- 15.00g       

然后格式化挂载

[root@localhost ~]# mkfs.xfs /dev/vg01/lv01 
meta-data=/dev/vg01/lv01         isize=512    agcount=4, agsize=983040 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=3932160, 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@localhost ~]# mkdir zhangsan
[root@localhost ~]# mount /dev/vg01/lv01 /zhangsan
[root@localhost ~]# df -h
文件系统               容量  已用  可用 已用% 挂载点
/dev/sda3              297G  4.1G  293G    2% /
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             1014M  174M  841M   18% /boot
tmpfs                  182M   12K  182M    1% /run/user/42
tmpfs                  182M     0  182M    0% /run/user/0
/dev/mapper/vg01-lv01   15G   33M   15G    1% /zhangsan

如果还是不够用的话可以再扩展

[root@localhost ~]# lvextend -L 20G /dev/vg01/lv01 
  Size of logical volume vg01/lv01 changed from 15.00 GiB (3840 extents) to 20.00 GiB (5120 extents).
  Logical volume vg01/lv01 successfully resized.
[root@localhost ~]# lvs
  LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv01 vg01 -wi-ao---- 20.00g  

但是此时看磁盘却还是没变

[root@localhost ~]# df -h
文件系统               容量  已用  可用 已用% 挂载点
/dev/sda3              297G  4.1G  293G    2% /
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             1014M  174M  841M   18% /boot
tmpfs                  182M   12K  182M    1% /run/user/42
tmpfs                  182M     0  182M    0% /run/user/0
/dev/mapper/vg01-lv01   15G   33M   15G    1% /zhangsan

这时需要用到调整扩展的命令,对应xfs类型

[root@localhost ~]# xfs_growfs /dev/vg01/lv01 
meta-data=/dev/mapper/vg01-lv01  isize=512    agcount=4, agsize=983040 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=3932160, 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 3932160 to 5242880

然后查看磁盘

[root@localhost ~]# df -h
文件系统               容量  已用  可用 已用% 挂载点
/dev/sda3              297G  4.1G  293G    2% /
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             1014M  174M  841M   18% /boot
tmpfs                  182M   12K  182M    1% /run/user/42
tmpfs                  182M     0  182M    0% /run/user/0
/dev/mapper/vg01-lv01   20G   33M   20G    1% /zhangsan

删除逻辑卷,卷组和物理卷,先卸载再删除

[root@localhost ~]# umount /dev/vg01/lv01 
[root@localhost ~]# lvremove /dev/vg01/lv01 
Do you really want to remove active logical volume vg01/lv01? [y/n]: y
  Logical volume "lv01" successfully removed
[root@localhost ~]# vgremove vg01 
  Volume group "vg01" successfully removed
[root@localhost ~]# pvremove /dev/sdb /dev/sdc
  Labels on physical volume "/dev/sdb" successfully wiped.
  Labels on physical volume "/dev/sdc" successfully wiped.

磁盘配额

将已挂载的硬盘重新挂载

[root@localhost ~]# mount -o remount.usrquota,grpquota /dev/sdb
mount: /dev/sdb 已经挂载或 /zhangsan 忙
       /dev/sdb 已经挂载到 /zhangsan 上
[root@localhost ~]# mount -a

然后创建用户的磁盘配额的配置文件

[root@localhost ~]# quotacheck -cugv /dev/sdb
quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown.
quotacheck: Scanning /dev/sdb [/zhangsan] done
quotacheck: Cannot stat old user quota file /zhangsan/aquota.user: 没有那个文件或目录. Usage will not be subtracted.
quotacheck: Old group file name could not been determined. Usage will not be subtracted.
quotacheck: Checked 3 directories and 0 files
quotacheck: Old file not found.
[root@localhost ~]# ls /zhangsan/
aquota.user  lost+found

创建zhangsan然后编辑配置文件

[root@localhost ~]# useradd zhangsan
[root@localhost ~]# edquota -u zhangsan
Disk quotas for user zhangsan (uid 1001):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sdb                          0       1024       2048          0        4        6

然后开启磁盘配额

[root@localhost ~]# quotaon -u /dev/sdb

发现已经被限制

[zhangsan@localhost zhangsan]$ touch 1 2 3 4 5
sdb: warning, user file quota exceeded.
[zhangsan@localhost zhangsan]$ touch 1 2 3 4 5 6
[zhangsan@localhost zhangsan]$ touch 1 2 3 4 5 6 7
sdb: write failed, user file limit reached.
touch: 无法创建"7": 超出磁盘限额
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值