LVM与磁盘配额
LVM与磁盘配额
目录
一、LVM概述
1.1、LVM 概述
1.2、LVM机制的基本概念
二、LVM 管理命令
2.1、主要命令
2.2、LVM命令详解
三、设置磁盘配额
3.1、磁盘配额的概述
3.2、磁盘配额步骤
四、CentOS 7 中设置磁盘配额的步骤
一、LVM概述
1、LVM概述
LVM是Linux系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘和分区之上,文件系统之下的一个逻辑层,在建立文件系统时屏蔽了下层的磁盘分区布局,能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高了磁盘管理的灵活性
2、LVM机制的基本概念
1)PV(Physical Volume,物理卷):
物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区快,用于记录LVM的属性,并把储存空间分割成默认大小为4MB的基本单元(PE),从而构成物理卷
2)VG(Logical Volume,逻辑卷)
由一个或多个物理卷组成一个整日,即称为卷组,在卷组中可以动态的添加或移除物理卷
3)LV(Logical Volume,逻辑卷)
逻辑卷建立在卷组上,与物理卷没有直接关系。对于逻辑卷来说,每一个卷组就是一个整体,从卷组中分割出的一块空间,作为用户创建文件系统的基础,这就是逻辑卷。使用 mkfs等工具可在逻辑卷上穿件文件系统
二、LVM 管理命令
1、主要命令

2、LVM命令详解
1)pvcreate命令
①、概述:pvcreate用于将整个分区或整个硬盘转换成物理卷,主要是添加LVM属性信息并且划分PE存储单位。
②、格式:pvcreate 设备名1 设备名2...
③、例:pvcreate /dev/sd[bc]1 使用通配符加入多个设备
pvcreate /dev/sdb1/ dev/sdc1

2)、pvdisplay命令
①、概述:显示物理卷的详细信息,需要使用指定的物理卷作为命令参数,默认时将显示所有的物理卷信息
②、例1:pvdisplay 显示所有物理卷信息

例2: pvdisplay /dev/sdb1 查看物理卷/dev/sdb1的详细信息

3)vgcreate命令
①、概述:用于将一个或多个物理卷创建为一个卷组
②、格式:vgcreate 卷组名 物理卷名1 物理卷名2
③、例:vgcreate abc /dev/sdb1 /dev/sdc1 用单个物理卷创建组名abc的卷组
vgcreate abc /dev/sd[bc]1 通配符方法创建组名abc的卷组


4)vgdisplay命令
①、概述:显示系统中各卷组的信息,需要指定卷组名作为指定参数,若不指定卷组名,则显示所有卷组参数
②、例:vgdisplay 显示所有卷组信息
vgdisplay abc 显示卷组名为abc的参数信息

5)vgextend命令
①、概述:用于扩展磁盘空间。当创建了新的物理卷,并需要将它添加到已有卷组中,就使用该命令
②、格式:vgextend 卷组名 新物理卷
③、例:vgextend abc /dev/sdd1 将新物理卷/dev/sdd1扩加值卷组abc中

6)lvcreate 命令
①、概述:用于从指定的卷组中分割空间,创建新的逻辑卷,需要指定逻辑卷的大小名称及所在的卷组作为参数
②、格式:lvcreate -L 逻辑卷容量大小 -n 逻辑卷名 卷组名
③、例:lvcreate -L 30G -n abc01 abc 从卷组abc中划出30G创建名为abc01的逻辑卷

7)lvdisplay 命令
①、概述:用于显示逻辑卷的详细信息,可使用卷组名作为参数,以显示该卷组中的所有逻辑卷信息,若不指定卷组名,则显示全部逻辑卷信息
②、格式:lvdisplay 卷组名 逻辑卷名 显示卷组中逻辑卷信息
lvdisplay 显示所有逻辑卷信息
③、例:lvdisplay /dev/abc/abc01

8)lvextend命令
①、概述:动态扩展逻辑卷的空间,可以从所在卷组中分割额外的空间进行扩展,只需指定增加的容量大小及逻辑卷文件位置即可,前提是该卷组中还有未分配的磁盘空间,否则需要先扩充卷组
②、格式:lvextend -L +大小 /dev/卷组名/逻辑卷名
③、例:lvextend -L +10G /dev/abc/abc01 将abc卷组中剩余的空间给abc01逻辑卷中新增10G ,最后可lvdisplay查看一下lv扩展是否成功


注:如果未生效可以使用刷新命令
命令:xfs_growfs /dev/卷组名/逻辑卷名——刷新xfs文件系统容量
resize2fs /dev/卷组名/逻辑卷名——刷新ext4文件系统容量
三、设置磁盘配额
当Linux根分区的磁盘空间耗尽时,Linux操作系统将无法再建立新的文件, 同时也可能会出现服务程序崩溃、系统无法启动等故障。
为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间文件、数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可用性。在CentOS系统中,不同
的文件系统使用不同磁盘配额配置管理工具。 例如,XFS文件系统通过xfs_quota工具进行管理; EXT3/4 文件系统通过 quota 工具进行管理。
1、磁盘配额的概述
1)实现磁盘配额的条件
①、需要Linux内核支持
②、安装xfsprogs与quote软件包
2)Linux磁盘限额的特点
①、作用范围:针对指定的文件系统(分区)
②、限制对象:用户账号和组账号
③、限制类型:磁盘容量、文件数量
④、限制方法:软限制、硬限制(软限制:发出警告提示;硬限制:直接中断执行)
2、磁盘配额步骤
步骤1:以支持配额功能的方式挂载文件系统
步骤2:编辑用户和组账号的配额设置
步骤3:验证磁盘配额功能
步骤4、查看磁盘配额使用情况
四、CentOS 7 中设置磁盘配额的步骤
1、检查是否已经安装 xfsprogs 和xfs_quote软件包
安装:rpm -q xfsprogs 检查是否已经安装xfsprogs
rqm -q quota 检查是否已经安装quote
yum install -y xfsprogs quota 如果未安装使用yum install命令安装即可

2、以支持配额功能的方式挂载文件系统
添加usrquota、grpquota 挂载参数
格式:mount -o usrquota,grpquota /dev/卷组名/逻辑卷名
3、编辑用户和组账号的配额设置
1)useradd zhangsan 创建zhangsan用户
passwd zhangsan
2)使用xfs_quota命令编辑配置设置
格式:xfs_quota -x -c 'limit -u bsoft=N bhard=N isoft=N ihard=N 用户名' 挂载点
3)例:xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=40 ihard=50 zhangsan' /opt/ /opt为指定磁盘配额的分区
常用选项
-x∶ 表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用
-c∶ 表示直接调用管理命令
-u∶ 指定用户账号对象
-g∶ 指定组账号对象
bsoft∶ 设置磁盘容量的软限制数值(默认单位为 KB)
bhard∶ 设置磁盘容量的硬限制数值 (默认单位为 KB)
isoft∶设置磁盘文件数的软限制数值
ihard∶设置磁盘文件数的硬限制数值
4、限制命令
1)仅限制磁盘容量
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M zhangsan' /opt/
2)仅限制文件数
xfs_quota-x -c 'limit -u isoft=4 ihard=5 zhangsan' /opt/
3)查看zhangsan磁盘容量限制
xfs_quota -c 'quota -uv zhangsan' /opt/
4)查看zhangsan 文件数限制
xfs_quota -c 'quota -iuv zhangsan' /opt/
5、验证磁盘配额功能
chmod 777 挂载点
su 用户名
cd 挂载点
dd if=/dev/zero of=挂载点/test.txt bs=10M, count=12 #验证磁盘容量超限
touch {1..20}.txt 验证磁盘文件数超限
dd命令是一个设备转换和连续复制命令
“if=” 指定输入设备(或文件)
“of=” 指定输出设备(或文件)
“bs=” 指定读取数据块大小
“count=” 指定读取数据块的数量
/dev/zero “零”设备文件,可以无限的提取空字符,常用来生成一个特定大小的文件
6、查看磁盘配额使用情况
1)格式:xfs_quota -x -c 'report 选项'
2)常用选项
-a 代表所有用户账号和组账号
-b 代表容量
-i 代表文件数量
-h 代表人性化显示
LVM与磁盘配额的更多相关文章
- 解析Linux中LVM与磁盘配额
LVM 逻辑卷管理 LVM 概述 LVM 是 Linux 操作系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘和分区之上.文件系统之下的一个逻辑层,在建立文件系统时屏蔽了下层的磁盘分区布局,因此 ...
- Linux 系统管理——文件系统与LVM、磁盘配额实例
1.为主机增加80G SCSI 接口硬盘 2.划分三个各20G的主分区 3.将三个主分区转换为物理卷(pvcreate),扫描系统中的物理卷 4.使用两个物理卷创建卷组,名字为myvg,查看卷组大小 ...
- raid,磁盘配额,DNS综合测试题
DNS解析综合学习案例1.用户需把/dev/myvg/mylv逻辑卷以支持磁盘配额的方式挂载到网页目录下2.在网页目录下创建测试文件index.html,内容为用户名称,通过浏览器访问测试3.创建用户 ...
- 1-16-2 LVM管理和ssm存储管理器使用&磁盘配额
ssm存储管理器使用&磁盘配额 ssm存储管理器使用 系统存储管理器的使用 系统存储管理器(又称ssm,即system-storage-manager),是RHEL7/CentOS7新增的功能 ...
- 1-16-1 LVM管理和ssm存储管理器使用&磁盘配额
大纲: 1-1- LVM逻辑卷的管理 1-2- SSM管理工具的使用 1-3- 磁盘配额技巧 ====================================== 问题描述: 当我们需要在一个 ...
- 1-18-2 LVM管理和ssm存储管理器使用&磁盘配额 (二)
LVM管理和ssm存储管理器使用&磁盘配额 (二) 内容如下: ü LVM快照 ü ssm存储管理器的使用 ü 磁盘配额 第1章 LVM快照 lvm快照:为了保持系统的一致性,我们先做 ...
- 1-18-1 LVM管理和ssm存储管理器使用&磁盘配额(一)
LVM管理和ssm存储管理器使用&磁盘配额(一) LVM逻辑卷的管理 问题:对于生产环境下的服务器来说,如果存储数据的分区磁盘空间不够了怎么办? 因为如果要把一个分区的内容都拷贝到另一个分区上 ...
- Linux磁盘配额与LVM
一.LVM概述 逻辑卷管理 Logical Volume Manager二.LVM机制的基本概念三.LVM的管理命令 ① 主要命令 ② ==LVM逻辑卷操作流程== ③ 举例四.磁盘配额概述 ...
- LVM磁盘配额
目录 一.LVM概述 1.1.逻辑卷管理 1.2.LVM机制的基本概念 二.LVM管理命令 三.磁盘配额概述 3.1.实现磁盘配额的条件 3.2.Linux磁盘限额的特点 3.3.常用命令及选项 3. ...
随机推荐
- eth-trunk
------------恢复内容开始------------ 1.eth-trunk 是什么 *链路 聚合技术 2.做什么用的 *作为一种链路捆绑技术,可以把多个独立物理接口绑定在一起,作为一个大带宽 ...
- 【转】java-selenium三种等待方式
方式1: 线程等待:Thread.sleep(xxxx) 只要在case中加入sleep就会强制等待设置的时间后才会执行之后的命令,这种等待一般适用于调试脚本的时候. java代码: //等待3秒 T ...
- Python基础之变量、输入、输出
一.Hello World程序 在Windows终端执行python C:\Users\renyz02>python Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 2 ...
- Java 语言的主要特性
Java语言是简单的 Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用. Java丢弃了C++中很少使用的.很难理解的.令人迷惑的那些特性,如操作符重载.多继承.自动的强 ...
- 11.16-18 lsci、ipcs、ipcrm:清除ipc相关信息
lspci:显示所有PCI设备 lspci命令用来显示系统中的所有PCI总线设备或是连接到该总线上的所有设备. lspci命令的参数选项及说明 -v 显示详细信息 -vv 显示更详细的信 ...
- MyBatis 动态SQL(十二)
动态条件查询 以下是我们数据库表 tb_user 的记录: 假设现在有一个需求,就是根据输入的用户年龄和性别,查询用户的记录信息.你可能会说,这太简单了,脑袋里立马蹦出如下的 SQL 语句: SELE ...
- Swift系列九 - 属性
任何一门语言都有属性的概念.Swift中的属性是怎么的呢? 一.属性 Swift中跟实例相关的属性可以分为2大类:存储属性和计算属性. 1.1. 存储属性(Stored Property) 特点: 类 ...
- 推荐:C#命名规范12条
编码规范对于程序员而言尤为重要,有以下几个原因: 1.一个项目的生命周期中,80%的花费在于维护; 2.几乎没有任何一个项目,在其整个生命周期中,均由最初的开发人员来维护; 3.命名规范可以改善项目的 ...
- 【SpringBoot基础系列】手把手实现国际化支持实例开发
[SpringBoot基础系列]手把手实现国际化支持实例开发 国际化的支持,对于app开发的小伙伴来说应该比价常见了:作为java后端的小伙伴,一般来讲接触国际化的机会不太多,毕竟业务开展到海外的企业 ...
- GO学习-(15) Go语言基础之包
Go语言基础之包 在工程化的Go语言开发项目中,Go语言的源码复用是建立在包(package)基础之上的.本文介绍了Go语言中如何定义包.如何导出包的内容及如何导入其他包. Go语言的包(packag ...