Linux LVM与磁盘配额

news2025/4/6 3:01:20

目录

一.LVM概述

LVM

LVM机制的基本概念

PV(Physical Volume,物理卷)

VG(Volume Group,卷组)

LV(Logical Volume,逻辑卷)

二.LVM 的管理命令

三.创建并使用LVM

1.创建并扩容逻辑卷步骤

添加三块新的硬盘,重启主机

先使用fdisk工具将其中的两块磁盘设备/dev/sdb、/dev/sdc划分出主分区sdb1、sdc1,并且把分区类型的ID标记号改为"8e";

创建物理卷

4.创建卷组,卷组名为vg01

5.创建逻辑卷,逻辑卷名为lv01,容量为30GB,生成的文件路径为/dev/vg01/lv01

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

7.逻辑卷再扩容

 8.扩容逻辑卷

9.刷新XFS文件系统

四.磁盘配额

实现磁盘限额的条件

作用范围

CentOS7 中设置磁盘配额步骤

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

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

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

4.查看磁盘容量和文件数限制

5.查看磁盘限额使用情况


一.LVM概述

LVM

  • Logical Volume Manager,逻辑卷管理能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性
  • ·/boot分区用于存放引导文件,不能基于LVM创建

LVM机制的基本概念

  • PV   (物理卷)
  • VG   (卷组)
  • LV    (逻辑卷)

PV(Physical Volume,物理卷)

  • 物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录 LVM 的属性,并把存储空间分割成默认大小为 4MB 的基本单元(PE),从而构成物理卷。

VG(Volume Group,卷组)

  • 由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷。

LV(Logical Volume,逻辑卷)

  • 从卷组中分割出的一块空间,形成逻辑卷。使用 mkfs 等工具可在逻辑卷上创建文件系统。

二.LVM 的管理命令

  • 建立物理卷:pvcreate 设备名1 [设备名2…](分区或磁盘)
  • 建立卷组:==vgcreate 卷组名 物理卷名1 物理卷名2
  • 建立逻辑卷:lvcreate -L 指定容量大小 -l 指定PV数量 -n 逻辑卷名 卷组名
  • 扩容卷组:vgextend -L +大小 /dev/卷组名
  • 扩容逻辑卷:lvextend -L +大小 /dev/卷组名/逻辑卷名

创建逻辑卷的时候,是从前往后,先创建物理卷,在创建卷组,最后创建逻辑卷;

删除逻辑卷的时候,是从后往前,先删除逻辑卷,在删除卷组,最后删除物理卷。

三.创建并使用LVM

1.创建并扩容逻辑卷步骤

  1. 添加三块新的硬盘,重启主机

先使用fdisk工具将其中的两块磁盘设备/dev/sdb、/dev/sdc划分出主分区sdb1、sdc1,并且把分区类型的ID标记号改为"8e";

fdisk /dev/sdb /dev/sdc
n
#第一次回车,创建主分区
#第二次回车,选择分区号,默认为1
#第三次回车,填写起始扇区,默认为2048
#第四次回车,填写终止扇区,默认为41943039
t 
8e  #更改分区类型为'8e',Linux LVM类型
w 

fdisk -l

3.创建物理卷

pvcreate /dev/sdb1 /dev/sdc1
pvscan  #物理卷由分区/dev/sdc1和/dev/sdb1构成
pvdisplay

4.创建卷组,卷组名为vg01

vgcreate vg01 /dev/sd[bc]1    #在物理卷[/dev/sdb1 /dev/sdc1]基础上创建卷组vg01
vgdisplay   #已成功创建卷组vg01

5.创建逻辑卷,逻辑卷名为lv01,容量为30GB,生成的文件路径为/dev/vg01/lv01

lvcreate -L 10G -n lv01 vg01 #在卷组vg01基础上创建逻辑卷lv01
lvdisplay 

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

mkfs -t xfs /dev/vg01/lv01   #将新创建的逻辑卷/dev/vg01/lv01格式化为xfs类型
mkdir /data
mount /dev/vg01/lv01 /data   #将xfs文件系统挂载到/lll目录下
df

7.逻辑卷再扩容

  • 先将可以进行扩容的设备进行分区,然后再扩容
  • 创建物理卷,再扩展卷组
  • pvcreate /dev/sdd1  #为分区/dev/sdd1创建物理卷
    vgextend vg01 /dev/sdd1  #将/dev/sdd1作为卷组abc的扩展卷组
    vgdisplay

 8.扩容逻辑卷

lvextend -L +5G /dev/vg01/lv01 #将逻辑卷/dev/vg01/lv01再扩容20G,+号代表再原来基础上扩展增加20G大小,不带+号代表指定大小

9.刷新XFS文件系统

df 
/dev/vg01/lv01 xfs          此处显示并未扩容成功
xfs_growfs /dev/vg01/lv01   刷新XFS文件系统容量

df 
/dev/vg01/lv01 xfs           再次查看已经扩容成功

lsblk               查看系统中所有可用块设备信息

四.磁盘配额

当Linux根分区的磁盘空间耗尽时,Linux操作系统将无法再建立新的文件,同时也可能会出现服务程序崩溃、系统无法启动等故障。
为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可用性。
在 CentOS 系统中,不同的文件系统使用不同磁盘配额配置管理工具。

实现磁盘限额的条件

  • 需要Linux内核支持
  • 安装xfsprogs与quota软件包Linux 磁盘限额的特点

作用范围

  • 针对指定的文件系统(分区)
  • 限制对象:用户帐号、组帐号
  • 限制类型:磁盘容量、文件数量
  • 限制方法:软限制、硬限制

CentOS7 中设置磁盘配额步骤

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

rpm -q xfsprogs quota
yum install -y xfsprogs quota

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

umount /data/  #卸载原先没有添加配额参数的挂载
dfmount -o usrquota,grpquota /dev/vg01/lv01 /data #添加挂载参数"usrquota,grpquota"用于增加对用户、组配额功能的支持

###或者采用下面永久挂载文件系统的方式
vim /etc/fstab  #永久添加挂载参数,增加对用户和组配额功能的支持
/dev/vg01/lv01    /data     xfs    defaults,usrquota,grpquota    0  

umount /dev/vg01/lv01    #卸载挂载目录
mount -a    #-a选项,将/etc/fstab的所有内容重新加载
df            #查看是否挂载成功
mount             #查看配额参数设置
/dev/mapper/vg01-lv01 on /data type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)

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

常用知识点

  • #同时限制磁盘容量和文件数
  • xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=8 ihard=10 zhangsan' /data/ #设置对zhangsan用户的配额要求
  • -x:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用。
  • -c:表示直接调用管理命令。
  • -u:指定用户账号对象
  • -g:指定组账号对象
  • -v:显示详细信息
  • bsoft:设置磁盘容量的软限制数值(默认单位为KB)。
  • bhard:设置磁盘容量的硬限制数值(默认单位为KB)。
  • isoft:设置磁盘文件数的软限制数值。
  • ihard:设置磁盘文件数的硬限制数值。
  • #仅限制磁盘容量
  • xfs_quota -x -c 'limit -u bsoft=80M bhard=100M zhanqsan' /opt/
  • #仅限制文件数
  • xfs_quota -x -c 'limit -u isoft=4 ihard=5 zhangsan' /opt/
useradd ZS
echo '123' |passwd --stdin LS
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=8 ihard=10 ZS' /lll/
设置对zhangsan用户的配额要求

4.查看磁盘容量和文件数限制

chmod 777 /lll
ll /lll
su - ZS
cd /lll
dd if=/dev/zero of=./test1.txt bs=10M count=12
ll -h
exit


su - ZS
cd /lll
touch file{1..10}
ls -h
touch file11

5.查看磁盘限额使用情况

xfs_quota -x -c 'report -abih'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1601486.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024 计算机毕业设计之SpringBoot+Vue项目合集(源码+L文+PPT)

各位朋友大家好,有幸与屏幕前你们相识,博主现已经搬砖9年,趁着头发还充裕,希望给大家提供一些编程领域的帮助,深知计算机毕业生这个阶段的崩溃与闹心,让我们共同交流进步。 博主给大家列举了项目合集&#…

Android Studio修改项目包名

1.第一步,项目结构是这样的,3个包名合在了一起,我们需要把每个包名单独展示出来 2.我们点击这个 取消选中后的包名结构是这样的,可以看到,包名的每个文件夹已经展示分开了,现在我们可以单独对每个包名文件夹…

ubuntu+安装Google Protobuf 库

本文参考文章如下 https://blog.csdn.net/wzw1609119742/article/details/119712422#t18https://blog.csdn.net/j8267643/article/details/134133091https://blog.csdn.net/jax_fanyang/article/details/135937002?spm1001.2014.3001.5502 现在论坛上据大部分的教程都是下面…

【深度学习实战(5)】使用仿射变换来实现自己的letter_box操作

一、letter_box 深度学习模型输入图片的尺寸为正方形,而数据集中的图片一般为长方形,粗暴的resize会使得图片失真,采用letterbox可以较好的解决这个问题。该方法可以保持图片的长宽比例,剩下的部分采用灰色填充。 二、代码 本例…

✌粤嵌—2024/4/3—合并K个升序链表✌

代码实现: /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* merge(struct ListNode *l1, struct ListNode *l2) {if (l1 NULL) {return l2;}if (l2 NULL) {return l1;}struct Lis…

本地搭建属于你自己的AI搜索引擎 支持多家AI模型

FreeAskInternet 是一个完全免费、私有且本地运行的搜索聚合器,并使用 MULTI LLM 生成答案,无需 GPU。用户可以提出问题,系统将进行多引擎搜索,并将搜索结果合并到LLM中,并根据搜索结果生成答案。全部免费使用。 项目…

老王讲IT:名片管理系统

综合应用 —— 名片管理系统 目标 综合应用已经学习过的知识点: 变量 流程控制 函数 模块 开发 名片管理系统 系统需求 程序启动,显示名片管理系统欢迎界面,并显示功能菜单 ************************************************** 欢…

MySQL 基础使用

文章目录 一、Navicat 工具链接 Mysql二、数据库的使用1.常用数据类型2. 建表 create3. 删表 drop4. insert 插入数据5. select 查询数据6. update 修改数据7. delete 删除记录truncate table 删除数据 三、字段约束字段1. 主键 自增delete和truncate自增长字段的影响 2. 非空…

16 - Debian如何配置vsftpd(1)实现匿名上传下载

作者:网络傅老师 特别提示:未经作者允许,不得转载任何内容。违者必究! Debian如何配置vsftpd(1)实现匿名上传下载 《傅老师Debian小知识库系列之16》——原创 前言 傅老师Debian小知识库特点&#xff1a…

保护C#代码的艺术:深入浅出代码混淆技术

摘要 在C#开发中,代码的保护是一个不可忽视的问题。本文深入探讨了几种常用的C#代码混淆工具,帮助开发者理解如何有效地保护代码不被反编译。同时,本文也对混淆技术的优缺点进行了分析,并提供了一些实际使用的建议。 引言 C#是…

实战:通用二进制格式安装 MySQL(mysql-5.7.29)-2024.4.6(测试成功)

目录 文章目录 目录实验环境下载url安装相关包准备用户准备二进制程序准备环境变量准备配置文件生成数据库文件,并提取root密码准备服务脚本和启动修改口令测试登录安全初始化(可选)shell一键安装关于我最后 实验环境 mysql-5.7.29 centos7.6 1810软件位…

centos 更新系统时间

在CentOS中更新系统时间 1 检查当前时间: date 2 更新时间: 手动设置时间,但更常见的是通过网络同步时间。CentOS通常默认使用NTP(Network Time Protocol)来同步时间。 如果尚未安装NTP,请先安装它&#…

Servlet-Filter实现反爬虫

以前用DotNetCore实现过反爬虫功能。在tomcat里面可以利用Servlet的Filter类实现请求的控制来达到反爬虫功能,进而增强JRT的web安全。 实现黑名单过滤器,对在黑名单列表的IP的所有请求都跳转到警告页面,业务各种请求自行定义加入黑名单 /* …

leetcode:42.接雨水

单调栈解题思路: 需要知道当前遍历到的元素左边和右边第一个比该元素大的元素。 如果当前遍历到的元素大于栈顶元素,则该元素为栈顶元素右边第一个比它大的元素,此时,栈顶元素的栈内相邻元素是该元素左边第一个比它大的元素。【…

项目中,如何写 readme.md 文件 | 写项目总结

tips:注意写 1. readme文件:①项目文档(项目需求和设计文档、项目系统架构和技术文档、接口文档)、②项目结构、③启动项目。具体结构见下文。 2. 项目总结:技术栈、描述、主要工作!!需求及功…

Python SQL解析和转换库之sqlglot使用详解

概要 Python SQLGlot是一个基于Python的SQL解析和转换库,可以帮助开发者更加灵活地处理和操作SQL语句。本文将介绍SQLGlot库的安装、特性、基本功能、高级功能、实际应用场景等方面。 安装 安装SQLGlot库非常简单,可以使用pip命令进行安装: pip install sqlglot安装完成后…

MajorDoMo thumb.php 未授权RCE漏洞复现(CNVD-2024-02175)

0x01 产品简介 MajorDoMo是MajorDoMo社区的一个开源DIY智能家居自动化平台。 0x02 漏洞概述 MajorDoMo /modules/thumb/thumb.php接口处存在远程命令执行漏洞,未经身份验证的攻击者可利用此漏洞执行任意指令,获取服务器权限。 0x03 影响范围 MajorD…

十大排序——6.插入排序

这篇文章我们来介绍一下插入排序 目录 1.介绍 2.代码实现 3.总结与思考 1.介绍 插入排序的要点如下所示: 首先将数组分为两部分[ 0 ... low-1 ],[ low ... arr.length-1 ],然后,我们假设左边[ 0 ... low-1 ]是已排好序的部分…

MySQL 8 那些新来的参数,给那些快被淘汰的MYSQL DBA

开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,(…

电视盒子哪个好?2024口碑网络电视盒子排行榜

多年来电视盒子始终占据重要地位,功能上并没有受到影响。在这么多品牌中哪些电视盒子的评价是最好的呢?小编根据各大电商平台的用户评价情况整理了口碑最好的网络电视盒子排行榜,跟着小编一起看看市面上的电视盒子哪个好吧。 TOP 1&#xff1…