文章目录

  • LVM概述
  • LVM逻辑卷组成
  • LVM应用步骤
    • 创建物理卷
    • 创建卷组
    • 创建逻辑卷
  • 磁盘配额

LVM概述

  • LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制
  • 动态调整磁盘容量,从而提高磁盘管理的灵活性
  • 多用于磁盘扩容

LVM逻辑卷组成

  • PV(物理卷)

    • 物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘
  • VG(卷组)
    • 由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷
  • LV(逻辑卷)
    • 逻辑卷建立在卷组之上,与物理卷没有直接关系。每一个卷组就是一个整体,从这个整体中“切出”一小块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷
  • PE(物理区域)
    -LVM最小存储单元,默认4M

LVM应用步骤

模拟再服务器上添加了硬盘sdb、sdc
步骤一:创建物理卷
步骤二:创建卷组
步骤三:创建逻辑卷
步骤四:格式化逻辑卷
步骤五:挂载使用

创建物理卷

  • pvcreate 创建物理卷

    • pvcreate /dev/sdb /dev/sdc
    • pvscan、pvs、pvdisplay 扫描物理卷
    • pvremove /dev/sdb
    • pvmove 源pv 目标pv 数据迁移 只能同卷组下
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0   300G  0 disk
├─sda1            8:1    0   200M  0 part /boot
└─sda2            8:2    0 299.8G  0 part ├─centos-root 253:0    0 296.8G  0 lvm  /└─centos-swap 253:1    0     3G  0 lvm  [SWAP]
sdb               8:16   0    20G  0 disk //新添加的硬盘
sdc               8:32   0    20G  0 disk //新添加的硬盘
sr0              11:0    1   4.3G  0 rom  /mnt
[root@localhost ~]# pvcreate /dev/sdb /dev/sdc     //创建物理卷Physical volume "/dev/sdb" successfully created.Physical volume "/dev/sdc" successfully created.
[root@localhost ~]# pvs  //扫描物理卷PV         VG     Fmt  Attr PSize   PFree /dev/sda2  centos lvm2 a--  299.80g     0 /dev/sdb          lvm2 ---   20.00g 20.00g/dev/sdc          lvm2 ---   20.00g 20.00g
[root@localhost ~]#
[root@localhost ~]# pvremove /dev/sdc      //删除物理卷Labels on physical volume "/dev/sdc" successfully wiped.
[root@localhost ~]# pvsPV         VG     Fmt  Attr PSize   PFree /dev/sda2  centos lvm2 a--  299.80g     0 /dev/sdb          lvm2 ---   20.00g 20.00g
[root@localhost ~]# 

创建卷组

  • vgcreate 创建卷组
  • vgcreate vg01 /dev/sdb /dev/sdc
  • vgscan、vgs、vgdisplay
  • vgremove 删除卷组
  • vgextend 扩容卷组
    • vgextend 卷组名 想要添加的物理卷
  • vgchange -s 1 vg01 修改卷组的pe大小为1mb 修改卷组pe大小只能是2的倍数
[root@localhost ~]# vgcreate vg01 /dev/sdb /dev/sdcVolume group "vg01" successfully created
[root@localhost ~]# vgsVG     #PV #LV #SN Attr   VSize   VFree centos   1   2   0 wz--n- 299.80g     0 vg01     2   0   0 wz--n-  39.99g 39.99g
[root@localhost ~]# vgremove vg01Volume group "vg01" successfully removed
[root@localhost ~]# vgsVG     #PV #LV #SN Attr   VSize   VFreecentos   1   2   0 wz--n- 299.80g    0
[root@localhost ~]# vgcreate vg01 /dev/sdb /dev/sdcVolume group "vg01" successfully created
[root@localhost ~]#

创建逻辑卷

  • lvcreate -n lv01 -L +5G vg01 在卷组vg01中创建逻辑卷lv01
  • lvscan、lvs、lvdisplay 扫描逻辑卷
  • lvextend -L +10G /dev/vg01/lv01 扩容逻辑卷lv01增加10G容量
  • lvextend -L 10G /dev/vg01/lv01 扩容逻辑卷lv01至10G容量(不加+号表示扩容至多打容量,加+号表示增多多少容量)
  • 针对xfs系统文件类型调整扩容后的磁盘大小用 xfs_growfs 命令
  • 针对ext4 使用 resize2fs 命令调整扩容后的磁盘大小用
[root@localhost selinux]# lvcreate -n lv01 -L 10G vg01Logical volume "lv01" created.
[root@localhost selinux]# lvsLV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertroot centos -wi-ao---- 296.80g                                                    swap centos -wi-ao----   3.00g                                                    lv01 vg01   -wi-a-----  10.00g
[root@localhost selinux]# lvextend -L +10G /dev/vg01/lv01 Size of logical volume vg01/lv01 changed from 10.00 GiB (2560 extents) to 20.00 GiB (5120 extents).Logical volume vg01/lv01 successfully resized.
[root@localhost selinux]# lvsLV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertroot centos -wi-ao---- 296.80g                                                    swap centos -wi-ao----   3.00g                                                    lv01 vg01   -wi-a-----  20.00g               //原来10G容量扩容增加10G,现在是20G
[root@localhost selinux]#
root@localhost selinux]# xfs_growfs /dev/vg01/lv01
meta-data=/dev/mapper/vg01-lv01  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
[root@localhost selinux]#

磁盘配额

步骤一:重新挂载分区(ext4格式),为分区添加配额功能

[root@localhost ~]# mount -o remount,usrquota,grpquota /dev/sdb1

步骤二:使用 quotacheck 命令创建quota配置文件

[root@localhost ~]# quotacheck -cugv /dev/sdb1 //配置文件在挂载了开启磁盘配额功能的挂载点下
quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown.
quotacheck: Scanning /dev/sdb1 [/zhangsan] done //表示配置文件创建成功
quotacheck: Cannot stat old user quota file /zhangsan/aquota.user: 没有那个文件或目录. Usage will not be subtracted.
quotacheck: Cannot stat old group quota file /zhangsan/aquota.group: 没有那个文件或目录. Usage will not be subtracted.
quotacheck: Cannot stat old user quota file /zhangsan/aquota.user: 没有那个文件或目录. Usage will not be subtracted.
quotacheck: Cannot stat old group quota file /zhangsan/aquota.group: 没有那个文件或目录. Usage will not be subtracted.
quotacheck: Checked 3 directories and 0 files
quotacheck: Old file not found.
quotacheck: Old file not found.

步骤三:配置磁盘配额

[root@localhost ~]# edquota -u zhangsanDisk quotas for user zhangsan (uid 1001): //限制用户zhangsan的磁盘配额规定Filesystem                   blocks       soft       hard     inodes     soft     hard/dev/sdb1                         0       1024       2048          6        5        6
~                                        //磁盘容量软限制1M            //文件软限制5个
~                                        //磁盘容量硬限制2M            //文件硬限制6个
~

步骤四:开启配额功能

[root@localhost ~]# quotaon -u /dev/sdb1 //针对用户开启磁盘配额功能
[root@localhost ~]# quotaon -p /dev/sdb1 //查看磁盘配额功能是否开启
group quota on /zhangsan (/dev/sdb1) is off
user quota on /zhangsan (/dev/sdb1) is on //已开启

步骤五:切换用户验证配额

[root@localhost ~]# su - zhangsan
上一次登录:四 5月  6 15:37:06 CST 2021pts/0 上
[zhangsan@localhost ~]$ cd /zhangsan
[zhangsan@localhost zhangsan]$ touch 1 2 3 4 5
[zhangsan@localhost zhangsan]$ touch 6
sdb1: warning, user file quota exceeded. //创建第6个文件时警告
[zhangsan@localhost zhangsan]$
[zhangsan@localhost zhangsan]$ touch 7
sdb1: write failed, user file limit reached.
touch: 无法创建"7": 超出磁盘限额  //限制创建文件个数成功
[zhangsan@localhost zhangsan]$ dd if=/dev/zero of=/zhangsan/test bs=512k count=3
sdb1: warning, user block quota exceeded. //警告磁盘配额超过软限制了
记录了3+0 的读入
记录了3+0 的写出
1572864字节(1.6 MB)已复制,0.00177184 秒,888 MB/秒
[zhangsan@localhost zhangsan]$ dd if=/dev/zero of=/zhangsan/test bs=512k count=5
sdb1: warning, user block quota exceeded.
sdb1: write failed, user block limit reached.
dd: 写入"/zhangsan/test" 出错: 超出磁盘限额
记录了5+0 的读入
记录了4+0 的写出
2097152字节(2.1 MB)已复制,0.00228514 秒,918 MB/秒 //超出磁盘限额,只写入了2M的数据

Linux基础命令(七)LVM与磁盘配额相关推荐

  1. Linux使用命令启用配额管理,Linux常用命令(九)磁盘配额管理

    Linux常用命令(九)磁盘配额管理 一.磁盘配额概述 1.磁盘配额的作用范围 quota软件设置的磁盘配额功能,只在指定的文件系统(分区)内有效,用户使用其它未设置配额的文件系统时,将不会受到限制. ...

  2. linux文件挂载和卸载命令,Linux基础命令(八)——挂载、卸载文件系统

    前言:在Linux系统中,对各种存储设备中的资源访问(如读取.保存文件等)都是通过目录结构进行的,虽然系统核心能够通过"设备文件"的方式操纵各种设备,但是对于用户来说,还需要增加一 ...

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

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

  4. Linux LVM与磁盘配额详解

    Linux LVM与磁盘配额 一.LVM概述 1.1Logical Volume Manager,逻辑卷管理 1.2LVM机制的基本概念 二.LVM的管理命令 三.LVM操作主要命令步骤 1.关闭主机 ...

  5. 【AWSL】之LVM与磁盘配额(PV、VG、LV、mkfs)

    序言 这里我主要介绍一些Linux关于磁盘配额的一些问题 LVM与磁盘配额 序言 一.LVM概述 1.LVM的管理命令 2.LVM的操作实例 二.磁盘配额概述 三.磁盘配额管理 总结 一.LVM概述 ...

  6. Red Hat Linux 基础命令大全

    Red Hat Linux 基础命令大全 1.startx                    从文本界面进入图形界面 2.ls  -lhar                  显示目录与文件 ls ...

  7. linux复制后权限变化,学霸Linux基础命令吐血总结,给你当新华字典用

    Linux基础命令学习笔记 一.登录Linux [root@linux~]# root:目前使用者账户 @之后接的内容:主机名称 root为管理员账户 #:提示字元(对于root账户) $:提示字元( ...

  8. 六、LVM与磁盘配额

    六.LVM与磁盘配额 LVM概述 LVM是Linux操作系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘和分区之上.文件系统之下的一个逻辑层,在建立文件系统时屏蔽了下层的磁盘分区布局,因此能够在 ...

  9. 干货!一篇文章集合所有Linux基础命令,适合所有菜鸟学习和老手回顾!

    阿里云   干货!一篇文章集合所有Linux基础命令,适合所有菜鸟学习和老手回顾! 1 文件{ ls -rtl # 按时间倒叙列出所有目录和文件 ll -rt touch file # 创建空白文件 ...

  10. Linux 基础命令上

    Linux 基础命令上 磁盘分区: /dev/hda5 dev 是硬件设备文件所在的目录 hd 表示IDE设备 sd 表示SCSI设备 a 硬盘的顺序号,以a.b.c...表示 5 分区的顺序号,以1 ...

最新文章

  1. 学python可以做什么产品-学了 Python,能用来做什么?实际应用场景有哪些??...
  2. Linux基础——bash基础应用及文件系统基础命令
  3. html常用标签详解4-列表标签
  4. Python zipfile 压缩文件夹
  5. 虚拟化精华问答 | 如何为虚拟机分配任务?
  6. 【华为大咖分享】10.DevOps敏捷测试之道(后附PPT下载地址)
  7. 2020年中职学计算机有前途吗,2020年南昌中专计算机专业都学什么
  8. vim使用系列之二——总结一下自己常用的VIM操作
  9. 寻虫记:BOM头制造的冤案,无故多出空白行
  10. Unity渐变色实现
  11. 【操作系统学习笔记】操作系统基础
  12. 常用开源 SLAM 方案
  13. c语言程序从源代码到二进制机器码,C语言源代码转变为可执行程序的过程
  14. python能开发手机app吗_python开发手机app和java相比,缺点是什么?
  15. 速成PPTC(自恢复保险丝)选型
  16. html5 微信签到墙,3D签到墙 webgl示例源码(three.js)
  17. android+nfc+公交卡,Android NFC 读取公交卡信息Demo
  18. Box2D物理引擎入门
  19. 一分钟详解线结构光扫描系统
  20. eDP接口信号组成认识

热门文章

  1. CSMA/CD协议与广播信道
  2. C语言中的#define定义常量和宏
  3. 【数通 | BGP】使用eNSP进行IBGP的简单配置
  4. java Lambda表达式的标准格式及其前提带有(代码演示)
  5. 红米note9pro和荣耀play4tpro 的区别 哪个更值得入手
  6. Flink的架构理解和相关扩展
  7. 视频系统矩阵服务器,基于树莓派的视频矩阵控制服务器设计
  8. 【实战案例】Python 信用卡欺诈检测其实特简单
  9. 回调函数 - 灵活的函数指针
  10. Unique Constraint