LVM与磁盘配额!
Posted 龙少。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LVM与磁盘配额!相关的知识,希望对你有一定的参考价值。
LVM与磁盘配额
一.LVM概述
1.Logical Volume Manager,逻辑卷管理
可以动态调整磁盘容量,从而提高磁盘管理的灵活性
/boot分区用于存放引导文件,不能基于LVM创建,必须独立出来。
2.LVM机制的基本概念
PV 物理卷
VG 卷组 把多个物理卷加在一起组成物理卷
LV 逻辑卷
PE lvm 的最小存储单元,默认大小为4M
二.LVM的管理命令
1.PV物理卷管理
(1)pvscan命令
扫描系统中的所有物理卷并输出相关信息
[root@localhost ~]# pvscan
PV /dev/sdc lvm2 [20.00 GiB]
PV /dev/sdb lvm2 [20.00 GiB]
Total: 2 [40.00 GiB] / in use: 0 [0 ] / in no VG: 2 [40.00 GiB]
(2)pvcreate
创建物理卷,将分区转换成物理卷
[root@localhost ~]# pvcreate /dev/sdb /dev/sdc
Physical volume "/dev/sdb" successfully created.
Physical volume "/dev/sdc" successfully created.
(3)pvdisplay
显示物理卷的详细信息
[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 tgEfLZ-QDZc-Evc7-io9g-Jz1q-y8CE-MNkSQE
"/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 p0Hn5B-cvWg-vAR6-zWyu-5QBT-zr9T-S7KB8g
(4)pvremove
删除物理卷,将物理卷还原成普通分区
[root@localhost ~]# pvremove /dev/sdc
Labels on physical volume "/dev/sdc" successfully wiped.
2.VG卷组管理
(1)vgscan命令
扫描系统中已建立的卷组相关信息
[root@localhost ~]# vgscan
Reading volume groups from cache.
Found volume group "juanzu1" using metadata type lvm2
(2)vgcreate
创建卷组,将一个或者多个物理创建到一个卷组
vgcreate 卷组名 物理卷
[root@localhost ~]# vgcreate juanzu1 /dev/sdb
Volume group "juanzu1" successfully created
(3)vgdisplay
显示卷组的详细信息
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name juanzu1
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 <20.00 GiB
PE Size 4.00 MiB
Total PE 5119
Alloc PE / Size 0 / 0
Free PE / Size 5119 / <20.00 GiB
VG UUID pOM1CA-PgFn-Od81-mFjg-aCtB-szFa-4rudrM
(4)vgremove
用于删除指定的卷组
vgremove 卷组名
[root@localhost ~]# vgremove juanzu1
Volume group "juanzu1" successfully removed
(5)vgextend
用于扩展卷组的磁盘空间
vgextend 需要扩展的卷组名 需要添加到卷组中的物理卷
[root@localhost ~]# vgcreate juanzu1 /dev/sdb /dev/sdc
Volume group "juanzu1" successfully created
[root@localhost ~]# vgscan
Reading volume groups from cache.
Found volume group "juanzu1" using metadata type lvm2
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name juanzu1
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 tl5ksJ-QsdO-2pn8-5d5c-1viQ-HnKf-RosqKI
[root@localhost ~]# vgextend juanzu1 /dev/sde
Volume group "juanzu1" successfully extended
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name juanzu1
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 3
Act PV 3
VG Size <59.99 GiB
PE Size 4.00 MiB
Total PE 15357
Alloc PE / Size 0 / 0
Free PE / Size 15357 / <59.99 GiB
VG UUID tl5ksJ-QsdO-2pn8-5d5c-1viQ-HnKf-RosqKI
3.LV逻辑卷管理
(1)lvscan命令
扫描系统中的所有逻辑卷及相关信息
[root@localhost ~]# lvscan
ACTIVE '/dev/juanzu1/ljg' [1.00 GiB] inherit
(2)lvcreate
从指定的卷组中分隔空间,创建新的逻辑卷
lvcreate -L 容量大小 -n 逻辑卷名 卷组名
[root@localhost ~]# lvcreate -L 1G -n ljg juanzu1
Logical volume "ljg" created.
(3)lvdisplay
[root@localhost ~]# lvdisplay
--- Logical volume ---
LV Path /dev/juanzu1/ljg
LV Name ljg
VG Name juanzu1
LV UUID TCViF2-3vod-e6K7-IhhF-GFsz-JvNk-QxtXy6
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2021-05-16 16:29:24 +0800
LV Status available
# open 0
LV Size 1.00 GiB
Current LE 256
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
(4)lvextend
用于动态扩展逻辑卷的空间
lvextend -L +容量大小 /dev/卷组名/逻辑卷名
-l 是pe的数量
[root@localhost ~]# lvextend -L +1G /dev/juanzu1/ljg
Size of logical volume juanzu1/ljg changed from 1.00 GiB (256 extents) to 2.00 GiB (512 extents).
Logical volume juanzu1/ljg successfully resized.
[root@localhost ~]# lvdisplay /dev/juanzu1/ljg
--- Logical volume ---
LV Path /dev/juanzu1/ljg
LV Name ljg
VG Name juanzu1
LV UUID TCViF2-3vod-e6K7-IhhF-GFsz-JvNk-QxtXy6
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2021-05-16 16:29:24 +0800
LV Status available
# open 0
LV Size 2.00 GiB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
扩展后需要激活调整逻辑卷大小
xfs.growfs /dev/juanzu1/ljg 对xfs文件类型操作
如果是ext4文件类型用resize2fs进行刷新调整
[root@localhost ~]# lvcreate -L 1G -n lv1 juanzu1
Logical volume "lv1" created.
[root@localhost ~]# lvdisplay
--- Logical volume ---
LV Path /dev/juanzu1/lv1
LV Name lv1
VG Name juanzu1
LV UUID R8rV4k-fXpm-EbRp-FSH0-IzTW-pYec-Y9UFlU
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2021-05-16 18:49:41 +0800
LV Status available
# open 0
LV Size 1.00 GiB
Current LE 256
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
[root@localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda3 xfs 297G 5.4G 292G 2% /
devtmpfs devtmpfs 895M 0 895M 0% /dev
tmpfs tmpfs 910M 0 910M 0% /dev/shm
tmpfs tmpfs 910M 11M 900M 2% /run
tmpfs tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda1 xfs 197M 152M 45M 78% /boot
tmpfs tmpfs 182M 8.0K 182M 1% /run/user/42
tmpfs tmpfs 182M 36K 182M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/sdd1 xfs 2.0G 33M 2.0G 2% /root/tom
[root@localhost ~]# mkdir /abc
[root@localhost ~]# mkfs.xfs /dev/juanzu1/lv1
meta-data=/dev/juanzu1/lv1 isize=512 agcount=4, agsize=65536 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=262144, 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/juanzu1/lv1 /abc
[root@localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda3 xfs 297G 5.4G 292G 2% /
devtmpfs devtmpfs 895M 0 895M 0% /dev
tmpfs tmpfs 910M 0 910M 0% /dev/shm
tmpfs tmpfs 910M 11M 900M 2% /run
tmpfs tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda1 xfs 197M 152M 45M 78% /boot
tmpfs tmpfs 182M 8.0K 182M 1% /run/user/42
tmpfs tmpfs 182M 36K 182M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/sdd1 xfs 2.0G 33M 2.0G 2% /root/tom
/dev/mapper/juanzu1-lv1 xfs 1014M 33M 982M 4% /abc
[root@localhost ~]# lvextend -L +1G /dev/juanzu1/lv1
Size of logical volume juanzu1/lv1 changed from 1.00 GiB (256 extents) to 2.00 GiB (512 extents).
Logical volume juanzu1/lv1 successfully resized.
[root@localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda3 xfs 297G 5.4G 292G 2% /
devtmpfs devtmpfs 895M 0 895M 0% /dev
tmpfs tmpfs 910M 0 910M 0% /dev/shm
tmpfs tmpfs 910M 11M 900M 2% /run
tmpfs tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda1 xfs 197M 152M 45M 78% /boot
tmpfs tmpfs 182M 8.0K 182M 1% /run/user/42
tmpfs tmpfs 182M 36K 182M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/sdd1 xfs 2.0G 33M 2.0G 2% /root/tom
/dev/mapper/juanzu1-lv1 xfs 1014M 33M 982M 4% /abc
[root@localhost ~]# xfs_growfs /dev/juanzu1/lv1
meta-data=/dev/mapper/juanzu1-lv1 isize=512 agcount=4, agsize=65536 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=262144, 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 262144 to 524288
[root@localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda3 xfs 297G 5.4G 292G 2% /
devtmpfs devtmpfs 895M 0 895M 0% /dev
tmpfs tmpfs 910M 0 910M 0% /dev/shm
tmpfs tmpfs 910M 11M 900M 2% /run
tmpfs tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda1 xfs 197M 152M 45M 78% /boot
tmpfs tmpfs 182M 8.0K 182M 1% /run/user/42
tmpfs tmpfs 182M 36K 182M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/sdd1 xfs 2.0G 33M 2.0G 2% /root/tom
/dev/mapper/juanzu1-lv1 xfs 2.0G 33M 2.0G 2% /abc
vim /etc/fstab 写入 /dev/juznzu1/lv1 /abc defaults 0 0
mount -a 立即生效
(5)lvremove
用于删除指定的逻辑卷
[root@localhost ~]# lvremove /dev/juanzu1/ljg
Do you really want to remove active logical volume juanzu1/ljg? [y/n]: y
Logical volume "ljg" successfully removed
三.LVM 应用
步骤:
1.转化PV
2.建立VG卷组
3.建立LV逻辑卷
4.格式化挂载使用文件系统
四.磁盘配额概述
1.实现磁盘限额的条件
需要linux内核支持
使用quata软件包
2.linux磁盘限额的特点
(1)作用范围
针对指定的文件系统(分区)
(2)限制对象
用户账号、组账号
(3)限制类型
磁盘容量、文件数量
软限制:指定一个软性的配额数值(如 480MB 磁盘空间、180 个文件),在固定 的宽限期(默认为七天)内允许暂时超过这个限制,但系统会给出警告信息
硬限制:指定一个硬性的配额数值(如 500MB 磁盘空间、200 个文件),是绝对 禁止用户超过的限制值,当达到硬限制值时,系统也会给出警告并禁止继续写入数据。硬限制的配额值应大于相应的软限制值,否则软限制将失效
(4)限制方法
软限制、硬限制
磁盘容量:限制用户能够使用的磁盘数据块(Block)大小,也就是限制磁盘空间大小,默认单位为 KB
软限制:超出系统警告,仍可写入
硬限制:超出最高容量,无法再写入
假设软限制为5G,硬限制是8G;若系统指定的目录超过5G,系统会提示已超出,但是还可以继续录入,但是上限是8G,就无法再写入
文件数量:限制用户能够拥有的文件个数。在 Linux 操作系统中,每一个文件都有一个对应的数字标记,称为 i 结点(Inode)编号,这个编号在同一个文件系统内是唯一的,因此 xfs_quota 通过限制 i 结点的数量来实现对文件数量的限制
软限制:超出系统警告,仍可创建
硬限制:超出最高容量,无法再创建
假设软限制为5个,硬限制是10个;若系统创建目录超过5个,系统会提示已超出,但是还可以继续创建,但创建上限是10个,就无法再创建
五.磁盘配额管理
磁盘配额要求Linux内核支持磁盘配额技术,centos7默认支持
磁盘配额只对一般用户有效,对管理员(root)来说是没有任何作用限制的
1.ext4文件使用quota工具
(1)配置配额功能
查询当前分区支持的配额功能
mount | grep /dev/sdb1
增加分区/dev/sdb1用户和组的配额功能
mount -o remount,usrquota,grpquota /dev/sdb1
(2)激活配额选项
由于ext4文件系统,quota功能默认是不开启的,需要创建磁盘配额的配置文件(aquota.user 和 aquota.group),才可以去启动quota功能,使用 quotacheck 命令的-c创建选项
vim /etc/fstab写入配置
/dev/sdb1 /liuchun ext4 defaults,usrquota,grpquota 0 0
mount -a 激活
(3)生成配额文件quotacheck
创建配额的配置文件
quotacheck -cugv /dev/sdb1
选项说明:
-c: 创建磁盘配额的配置文件
-u: 用户,针对扫描用户的情况建立aquota.user
-g: 组,针对扫描用户的情况建立aquota.group
-v: 显示详情,显示扫描过程
(4)创建用户并设置限制edquota
edquota -u wuhao:对用户wuhao进行限制
选项说明
-u:用户名
-g:组名
-t:设定宽限时间
-p:复制磁盘配额规则,不需要每个用户或者组都手动设置一遍:edquota -p user1 -u user2
参数说明:
bloks:磁盘容量,单位是kb
inodes:文件数量
i进入输入模式
:wq 保存退出
(5)开启限额配置quotaon
-u /dev/sdb1:开启用户的磁盘配额
-g /dev/sdb1:开启组的磁盘配额
-a /dev/sdb1:开启所有分区的磁盘配额
-p /dev/sdb1:查看是否开启此功能
-p /dev/sdb1:查看是否开启此功能
(6)关闭配置quotaoff
-a:关闭所有分区的磁盘配置
-u:关闭用户的磁盘配额
-g:关闭组的磁盘配额
(7)查询配额情况quota
-u 用户名
-g 组名
-v 显示详情
-s 以常见耽误显示
-a 查询所有分区的磁盘配额
查看当前用户wuhao的配额情况:quota -u wuhao
参数说明
inode:可以创建文件或者目录的数量
block:可以存储的容量大小,*号代表超出
soft(软限制):最低限制容量,可以被超过,但会有警告信息,超过的部分会保存到宽限时期到期。一般是硬限制的80%,单位为KB
hard(硬限制):绝对不能被超过限制。达到hard时,系统会禁止继续增加新的文件
grace:宽限时间(一般为7天)单位为KB
当用户使用的空间超过了软限制但还没达到硬限制,在这个宽限的时间到期前必须将超过的数据降低到软限制以下(默认是7天),当宽限时间到期,系统将自动清除超过的数据。
0:表示不限制
2.配额操作配置
[root@以上是关于LVM与磁盘配额!的主要内容,如果未能解决你的问题,请参考以下文章