Lvm与磁盘配额

LVM

PV物理卷:物理卷时LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录LVM的属性,并把存储空间分割成默认大小为4MB的基本单元(PE),从而构成物理卷。
VG卷组:有一个或多个物理卷组成一个整体,即成为卷组,在卷组中可以动态地添加或移除物理卷。
LV逻辑卷:从卷组中分割出的一块空间,形成逻辑卷。使用mkfs等工具可在逻辑卷上创建文件系统。
在这里插入图片描述

LVM的管理命令

在这里插入图片描述
主要命令

pvcreate 设备名1 设备名2
vgcreate 卷组名 物理卷名1 物理卷名2
lvcreate -L 容量大小 -n 逻辑卷名 卷组名
lvextend -L +大小 /dev/卷组名/逻辑卷名

LVM操作主要命令步骤

1,关闭主机,添加两块新硬盘,重启主机
在这里插入图片描述
在这里插入图片描述
2,先使用fdisk工具将磁盘设备/dev/sdb、/dev/sdc划分出主分区sdb1,sdc1,并把分区类型的id标记号改为“8e”

[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xb988f78a 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB

命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”

3,创建物理卷

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

4创建卷组,卷组名为cx

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

5,创建逻辑卷,逻辑卷名为cx1,容量为20GB,生成的文件路径为/dev/cx/cx1

[root@localhost ~]# lvcreate -L 20G -n cx1 cx
  Logical volume "cx1" created.
[root@localhost ~]#

6,对逻辑卷进行格式化,创建XFS文件系统,并挂载到/opt目录下

[root@localhost ~]# mkfs -t xfs /dev/cx/cx1
meta-data=/dev/cx/cx1            isize=512    agcount=4, agsize=1310720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5242880, 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 ~]# mount /dev/cx/cx1 /opt
[root@localhost ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  2.0G     0  2.0G    0% /dev
tmpfs                   tmpfs     2.0G     0  2.0G    0% /dev/shm
tmpfs                   tmpfs     2.0G   13M  2.0G    1% /run
tmpfs                   tmpfs     2.0G     0  2.0G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        60G  5.3G   55G    9% /
/dev/sda1               xfs       497M  165M  333M   34% /boot
tmpfs                   tmpfs     394M   12K  394M    1% /run/user/42
tmpfs                   tmpfs     394M     0  394M    0% /run/user/0
/dev/mapper/cx-cx1      xfs        20G   33M   20G    1% /opt
[root@localhost ~]#

7,再扩容

[root@localhost ~]# lvextend -L +10G -r /dev/cx/cx1 扩容10G并刷新
  Size of logical volume cx/cx1 changed from 20.00 GiB (5120 extents) to 30.00 GiB (7680 extents).
  Logical volume cx/cx1 successfully resized.
meta-data=/dev/mapper/cx-cx1     isize=512    agcount=4, agsize=1310720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=5242880, 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 5242880 to 7864320

最后查询一下是否扩容成功

[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk
├─sda1            8:1    0  500M  0 part /boot
└─sda2            8:2    0 59.5G  0 part
  ├─centos-root 253:0    0 59.5G  0 lvm  /
  └─centos-swap 253:1    0    8M  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk
└─cx-cx1        253:2    0   30G  0 lvm  /opt
sdc               8:32   0   20G  0 disk
└─cx-cx1        253:2    0   30G  0 lvm  /opt
sr0              11:0    1  4.4G  0 rom
[root@localhost ~]#

成功从20G扩容到30G.

磁盘配额的概述

当Linux根分区的磁盘空间耗尽时,Linux操作系统将无法再建立新的文件,同时也可能会出现服务程序崩溃、系统无法启动等故障。
实现磁盘限额的条件
需要Linux内核支持
安装xfsprogs与quota软件包
Linux磁盘限额的特点**
作用范围:针对指定的文件系统(分区)
限制对象:用户账号、组账号
限制类型:磁盘容量、文件数量
限制方法:软限制、硬限制

CentOS7中设置磁盘配额步骤

1检查是否已安装xfsprogs和xfs_quota软件包

[root@localhost ~]# rpm -q xfsprogs quota
xfsprogs-4.5.0-22.el7.x86_64
quota-4.01-19.el7.x86_64

2,以支持配额功能的方式挂载文件系统

[root@localhost ~]# umount /dev/cx/cx1
[root@localhost ~]# mount -o usrquota,grpquota /dev/cx/cx1 /opt

编辑用户和组账户的配额设置

[root@localhost ~]# useradd zhangshuo
[root@localhost ~]# passwd zhangshuo
[root@localhost ~]# xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=40 ihard-50 zhangshuo' /opt/

4,验证磁盘配额功能

[root@localhost ~]# chomd 777 /opt
bash: chomd: 未找到命令...
相似命令是: 'chmod'
[root@localhost ~]# chmod 777 /opt
[root@localhost ~]# su zhangshuo
[zhangshuo@localhost root]$ cd /opt
[zhangshuo@localhost opt]$ dd if=/dev/zero of=/opt/ddtest.txt bs=10M count=12
dd: 写入"/opt/ddtest.txt" 出错: 超出磁盘限额
记录了11+0 的读入
记录了10+0 的写出
104857600字节(105 MB)已复制,0.257328 秒,407 MB/秒
[zhangshuo@localhost opt]$
[zhangshuo@localhost opt]$ ll -h
总用量 100M
-rw-rw-r--. 1 zhangshuo zhangshuo 100M 44 16:27 ddtest.txt
[zhangshuo@localhost opt]$ [zhangshuo@localhost opt]$ dd if=/dev/zero of=/opt/ddtest.txt bs=10M count=10
bash: [zhangshuo@localhost: 未找到命令...
[zhangshuo@localhost opt]$ dd if=/dev/zero of=/opt/ddtest.txt bs=10M count=10  记录了10+0 的读入
记录了10+0 的写出
104857600字节(105 MB)已复制,0.0817764 秒,1.3 GB/秒
[zhangshuo@localhost opt]$

5,查看配额使用情况
查看所有可用分区的磁盘容量配额使用情况

[root@localhost ~]# xfs_quota -x -c 'report -a'
User quota on /opt (/dev/mapper/cx-cx1)
                               Blocks
User ID          Used       Soft       Hard    Warn/Grace
---------- --------------------------------------------------
root                0          0          0     00 [--------]
zhangshuo      102400      81920     102400     00  [6 days]

Group quota on /opt (/dev/mapper/cx-cx1)
                               Blocks
Group ID         Used       Soft       Hard    Warn/Grace
---------- --------------------------------------------------
root                0          0          0     00 [--------]
zhangshuo      102400          0          0     00 [--------]

[root@localhost ~]#

查看磁盘容量和文件数的报告

[root@localhost ~]# xfs_quota -x -c 'report -abih'                             User quota on /opt (/dev/mapper/cx-cx1)
                        Blocks                            Inodes
User ID      Used   Soft   Hard Warn/Grace     Used   Soft   Hard Warn/Grace
---------- --------------------------------- ---------------------------------
root            0      0      0  00 [------]      3      0      0  00 [------]
zhangshuo    100M    80M   100M  00 [6 days]      1     40     50  00 [------]

Group quota on /opt (/dev/mapper/cx-cx1)
                        Blocks                            Inodes
Group ID     Used   Soft   Hard Warn/Grace     Used   Soft   Hard Warn/Grace
---------- --------------------------------- ---------------------------------
root            0      0      0  00 [------]      3      0      0  00 [------]
zhangshuo    100M      0      0  00 [------]      1      0      0  00 [------]

[root@localhost ~]#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值