文章目录

  • 一、LVM
    • 1.1、逻辑卷管理(Logical Volume Manager)
    • 1.2、LVM机制的基本概念
    • 1.3、LVM的管理命令
  • 二、LVM的管理命令
    • 2.1、主要命令
    • 2.2、推荐步骤
  • 三、扩容卷组
  • 四、调整xfs分区大小(只能增大)
  • 五、修复命令(不明白)
  • 六、磁盘配额(限定用户使用率)
  • 七、编辑用户和组账号的配额设置
  • 八、启用磁盘配额支持
  • 九、验证磁盘容量超限

一、LVM

1.1、逻辑卷管理(Logical Volume Manager)

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

1.2、LVM机制的基本概念

PV ( Physical Volume,物理卷)

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

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

LV(Logical volume,逻辑卷)
逻辑卷建立在卷组之上,与物理卷没有直接关系。对于逻辑卷来说,每一个卷组就是一个整体,从这个整体中"切出"一小块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷。使用mkfs等工具在逻辑卷上创建文件系统。

PE的值可以是4、8、16、32、64。PE越小硬盘利于率高,但是每个VG块的最大数65543,所以PE大小决定了VG卷组大小。

可以随时往卷组中增添物理卷(PV)。

PV单独的硬盘,多个pv组在一起称为VG卷组,当想要分区(lv)则分VG卷组组成下图的40G不是直接从PV60G里拿(组成VG卷然后再分),而是PV划分为一个个PE(4M)然后有PE组到一起凑够40G。(PE越小越好)

1.3、LVM的管理命令

功能 PV管理命令 GV管理命令 LV管理命令
scan(扫描) pvscan vgscan lvscan
create(建立) pvcreate vgcreate lvcreate
display (显示) pvdisplay vgdisplay lvdisplay
remove(移除) pvremove vgremove lvremove
extend(扩展) vgextend lvextend

reduce(减少) vgreduce lvreduce

减少会产生数据丢失所以不建议减少

二、LVM的管理命令

2.1、主要命令

pvcreate 设备名1 【设备名2…】

vgcreate 卷组名(可修改) 物理卷名1 物理卷名2

lvcreate -L 容量大小 -n 逻辑卷名 卷组名

lvextend -L +大小 /dev/卷组名/逻辑名

2.2、推荐步骤

(1)关闭主机,添加两块新硬盘,重启主机

或echo“- - -” > /sys/class/scsi_host/host0/scan 扫描

(2)先使用fdisk工具讲磁盘设备/dev/sdb、 /dev/sdc划分主分区sdb1、sdc1,并且把分区类型的ID标记号改为“8e”

fdisk /dev/sdb

fdisk /dev/sdc

(3)创建物理卷

pvcreate /dev/sdb1 /dev/sdc1

(4)创建卷组,卷组名为vgname1

vgcreate vgname1 /dev/sdb1 /dev/sdc1

(5)创建逻辑卷,逻辑卷名为lvname1,容量为20GB,生产的文件路径为/dev/vgname1/lvname1

lvcreate -L 20G -n lvname1 vgname1

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

mkfs -t xfs /dev/vgname1/lvname1

mount /dev/vgname1/lvname1 /opt目录下

df -Th

下面截图为创建步骤:

查看sdb,sdc两个盘

建立sdb1逻辑分区

建立sdc逻辑分区

建立sdb、sdc的物理卷

查看所建物理卷

建立卷组,卷组名为luo

查看所建卷组

建立逻辑卷,大小分配20G,逻辑卷名为nj,卷组名为luo

查看所建逻辑卷

格式化(逻辑卷组)

挂载(下图为永久怪载方式)

补充挂载新命令:echo “/dev/luo/nj /home/12-28 xfs defaults 0 0” >> /etc/fstab(注意:这里一定是>>(添加),>的话就把fstab里的所有东西覆盖了)

在12-28目录下建立一个test.txt的文件

dd:是测试的软件,if=/dev/zero (这里的空格是往里面丢数据,无间止的) of=指定 你要输出的位置(不得是目录) bs=是选择多少M count=选择的个数

空间已满写不了数据了(要在挂载的目录下进行测试)

扩展逻辑卷 加10G

刷新一下

扩展后,再添6G内容成功

三、扩容卷组

vgextend vgnamel /dev/sdc2
lvextend -L +10G /dev /vgname1/lvnamel

xfs_growfs /dev/vgname1/lvnamel //刷新xfs文件系统容量
resize2fs /dev/vgname1/lvname1 //刷新ext4类型文件系统容量
创建LVM流程:
pvcreate 创建pv -> vgcreate 创建卷组 -> lvcreate 创建逻辑卷 -> mkfs.xfs lv格式化 -> mount 挂载
删除 LVM 流程:
umount 卸载 -> lvremove lv 移出卷组中所有逻辑卷 -> vgremove vg 移出卷组 -> pvremove 移出 pv

四、调整xfs分区大小(只能增大)

lvextend -L 120G /dev/mapper/centos-root #增大至120G

lvextend -L +20G /dev/ mapper/centos-root #增加20G

xfs_growfs /dev/mapper/centos-root #执行调整
注: ext2/ext3/ext4的调整命令是resize2fs,如下:
lvextend -L 120G /dev/mapper/centos-root #增大至120G

lvextend -L +20G /dev/mapper/centos-root #增加20G(原来基础上)

lvreduce -L 50G /dev/mapper/centos-home #减小至50G

lvreduce -L -8G /dev/mapper/centos-home #减小8G

resize2fs /dev/mapper/centos-root #执行调整

五、修复命令(不明白)

​ xfs_repair /dev/sdb1
​ 注:以下分别是Jfs,Ext2,Ext3的修复命令:

fsck.jfs -y /dev/sdb1
fsck.ext2 -y /dev/sdb1

fsck.ext3 -y /dev/sdb1

调整中遇到的问题:
(1)对xfs文件系统使用mke2fs命令后变为ext2,需要修改文件/etc/fstab中对应的文件系统类型

(2)不同文件系统类型对应的创建、检查、调整命令不同,要注意区分
lvextend /dev/vg1/lv1 -L 500M //将LV扩大至500M
xfs_growfs /dev/vg1/ lv1 //xfs文件系统扩展方法
resize2fs /dev /vg1/ lv1 // ext4文件系统扩展方法
(3) 未知的文件系统类型"(null)"
[root@kgc / ]# mount /dev/mapper/web_kgc-njzb /opt/
mount: /dev/mapper/web_kgc-njzb 写保护,将以只读方式挂载

mount:未知的文件系统类型" (null)"
解决方法:重新更新文件系统
mkfs.xfs

六、磁盘配额(限定用户使用率)

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

磁盘限额的特点

(1)磁盘配额的作用范围
xfs_quota
设置的磁盘配额功能,只在指定的文件系统(分区)内有效,用户使用其他未设置 配额的文件系统时,将不会受到限制。
(2)磁盘配额的限制对象

xfs_quota
主要针对系统中指定的用户账号、组账号进行限制,没有被设置限额的用户或组将不受影响。对组账号设置配额后,组内所有用户使用的磁盘容量、文件数量的总和不能超过限制。
(3)磁盘配额的限制类型
磁盘容量:限制用户能够使用的磁盘数据块(Block)大小,也就是限制磁盘空间大小,默认单位为 KB。
文件数量:限制用户能够拥有的文件个数。在 Linux操作系统中,每一个文件都有一个对应的数字标记,称为i结点(Inode)编号,这个编号在同一个文件系统内是唯一的,因此xfs_quota通过限制i结点的数量来实现对文件数量的限制。
(4)磁盘配额的限制方法
软限制:指定一个软性的配额数值(如480MB磁盘空间、180个文件),在固定的宽限期(默认为七天)内允许暂时超过这个限制,但系统会给出警告信息。
硬限制:指定一个硬性的配额数值(如500MB磁盘空间、200个文件),是绝对禁止用户超过的限制值,当达到硬限制值时,系统也会给出警告并禁止继续写入数据。硬限制的配额值应大于相应的软限制值,否则软限制将失效。
从以上描述中可以看出,在实施磁盘配额的实际过程中,只有当用户(或组)、文件系通(分区)及配额数值都满足限额条件时,xfs_quota才会对操作进行限制。

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

useradd lisi

passwd lisi

xfs_quota -x -c ‘limit -u bsoft=80M bhard=100M isoft=40 ihard=50 list’ /opt/
-x:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用。

-c:表示直接调用管理命令。
-u:指定用户账号对象
-g:指定组账号对象
bsoft:设置磁盘容量的软限制数值(默认单位为KB)。

bhard:设置磁盘容量的硬限制数值(默认单位为KB)。isoft:设置磁盘文件数的软限制数值。
ihard: 设置磁盘文件数的硬限制数值。
#仅限制磁盘容量
xfs_quota -x -c ‘limit -u bsoft=80M bhard=100M lisi’ /opt/

#仅限制文件数
xfs_quota -x -c ‘limit -u isoft=4 ihard=5 lisi’ /opt/

#查看zhangsan磁盘容量限制
xfs_quota -c ‘quota -uv lisi’ /opt/

#查看zhangsan文件数限制

xfs_quota -c ‘quota -i -uv lisi’ /opt/

八、启用磁盘配额支持

chmod 777 /njzb_xm

su lisi
cd /njzb xm

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

xfs__quota -x -c ‘report -aibh’
查看磁盘配额
report常用选项:

-u:对用户查看

-g:对组查看
-a:查看所有可用分区的配额使用报告

-b:查看磁盘容量

-i:查看文件数

九、验证磁盘容量超限

​ dd if=/dev/zero of=/njzb_xm/ kgc.txt bs=10M count=12 #验证磁盘文件数超限
​ touch {aa, bb,cc,dd, ee,ff}.txt

touch test { 1…6}.txt
dd命令是一个个设备转换和连续复制命令

"if=”指定输入设备(或文件)
"of="指定输出设备(或文件)

"bs=”指定读取数据块的大小

"count="指定读取数据块的数量
/dev/zero"零"设备文件,可以无限的提供空字符。常用来生成一个特定大小的文件。

查询是否有xfs_quota的数据包,诺无则yum下载,我这里已经有了

添加usrquota、grpquota挂载参数

mount查询

这里指定lisi为/home/12-28目录的用户对象,磁盘(bsoft,bhard)软限制数大小为80M,硬限制数大小为100M,(注意软限制不能限制住用户,但是会提示),文件(isoft,ihard)软限制数目为8个,硬限制数目为10个

a:查看所有分区,b:查看磁盘分区,i:查看文件数量,h以友好的方式

给予/home/12-28这个目录最高权限,同时lisi也获得最高权限

超出硬设置所限定的数额

lisi已经用完了hard设置的文件空间,无法再添加了

LVM的概念以及相关命令相关推荐

  1. Unix C学习笔记10 进程的概念,相关命令,父子孤尸,进程标识,创建子进程

    进程的概念 相关命令 pstree显示bash进程 ps显示进程,以快照方式,显示某一瞬间进程状态 ps aux top显示实时进程信息,会动态变化 父子孤尸 进程标识 会重用,但不会立马重用PID ...

  2. DNS基本概念和相关命令

    1.基本概念: 1)域名系统(DNS)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换及有关电子邮件的选路信息. DNS最常用的版本(包括解析器和名字服务器)是BIND ...

  3. Linux系统编程13:进程入门之Linux中的环境变量的概念及其相关命令(export;env等)main函数的参数

    文章目录 (1)为什么你的程序不能直接执行? (2)环境变量 (3)查看/设置环境变量 (4)和环境变量相关的命令总结 (5)通过代码获取环境变量 A:main函数的前两个参数 B:main函数的第三 ...

  4. Database之SQLSever:SQL命令实现理解索引、规则、默认概念及其相关案例之详细攻略

    Database之SQLSever:SQL命令实现理解索引.规则.默认概念及其相关案例之详细攻略 目录 SQL命令实现理解索引.规则.默认概念 索引 规则

  5. linux端口转发_详解Linux网桥功能--概念、工作机制、相关命令及实例说明

    概述 在说Linux网桥之前,先介绍几个概念,有助于对网桥的功能及实现有更深的理解. 一个交换网络的逻辑图: 1. 冲突域 一个冲突域由所有能够看到同一个冲突或者被该冲突涉及到的设备组成.以太网使用C ...

  6. Linux--管理LVM的逻辑卷--原理+命令实操(LVM扩容+磁盘配额)

    LVM介绍 文章目录 LVM介绍 一:lvm概述 1.1:LVM的基本概念 二:LVM管理命令 2.1:pvscan命令 2.2:pvcreate命令 2.3:pvddisplay命令 三:VG卷组挂 ...

  7. linux下打开配置文件命令_Linux下用户权限相关命令

    09.Linux下用户权限相关命令 用户权限的基本概念: 用户 是Linux 系统工作中重要的一环,用户管理包括 用户 与 组 管理 在Linux系统中,不论是由本机或是远程登陆系统,每个系统都必须拥 ...

  8. Redis的事务:相关命令 watch 与mysql事务的区别

    Redis事务的概念: Redis 事务的本质是一组命令的集合. 事务支持一次执行多个命令,一个事务中所有命令都会被序列化.在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不 ...

  9. linux命令看文件内容,Linux文件内容查看相关命令

    1.more命令 在Linux中,more命令是一个基于vi编辑器的文本过滤器,它能以全屏的方式按页显示文本文件的内容,more里面内置了一些快捷键. (1)命令语法 more(选项)(参数) (2) ...

最新文章

  1. LI标签在Ul中居中显示
  2. 关于ajax请求400问题解决
  3. IDEA 类名下有红线解决方案:
  4. php 模拟表单提交-get-post
  5. java中JSON转含泛型对象
  6. python mongodb查询速度优化_Mongodb 3 查询优化(语句优化、建索引)
  7. 分享过滤条件中增加一个自定义过滤变量插件代码
  8. html:运用表单表格制作简易个人简历
  9. 倒立摆:Simscape建模
  10. 为什么是NoSQL数据库?
  11. 《大数据架构和算法实现之路:电商系统的技术实战》——3.2 案例实践
  12. 集合数据结构线程并发库
  13. xposed框架的检测和反制
  14. 驱动RGB灯带MCU阐述
  15. canvas rotate 累加旋转_Canvas的变换
  16. 聚焦行为识别和异常检测!ECCV 2022 精细视频理解挑战赛(DeeperAction)开启!
  17. DAY2-python数据类型、字符编码、文件处理
  18. 图片在线转二维码如何操作?图片二维码生成器如何使用?
  19. Ubuntu12.04安装磊科NW336无线网卡
  20. 实用 POI工具类(Spring boot)

热门文章

  1. 解决pcb搭线问题的过程
  2. 我的TechEd 2005会议精选
  3. DeepMind 研发的围棋 AI AlphaGo 是如何下棋的?
  4. Springboot项目上传图片文件并存入指定目录
  5. 【3.分页展示】查询只有key没有值及其他问题
  6. python能成为编程届的网红么?
  7. nyoj740“炫舞家“ST【dp】
  8. JavaScript(字符串)
  9. Hadoop老版本下载镜像
  10. nginx-反向代理服务器