一、LVM概述

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

二、LVM基本概念

  • PV ( Physical Volume,物理卷)

    • 整个硬盘,或使用fdisk等工具建立的普通分区
    • 包括许多默认4MB大小的PE ( Physical Extent ,基本单元)
  • VG ( Volume Group,卷组)

    • 一个或多个物理卷组合而成的整体
  • LV ( Logical Volume,逻辑卷)

    • 从卷组中分割出的一块空间,用于建立文件系统

三、LVM管理

命令:

功能 物理卷管理 卷组管理 l逻辑卷管理
Scan扫描 pvscan vgscan lvscan
Create建立 pvcreate vgcreate lvcreate
Display显示 pvdisplay vgdisplay lvdisplay
Remove删除 pvremove vgremove lvremovr
Extend扩展 vgextend lvextend
Reduce减少 vgreduce lvreduce
主要命令:

pvcreate 设备名1 [设备名2 ... ...](设备可以是分区,可以是硬盘)

vgcreate卷组名 物理卷名1 物理卷名2(物理卷可以是一个,可以是多个)

lvcreate -n 逻辑卷名 -L 容量大小(友好的方式GMK) 卷组名(从哪个卷组里取
)

lvextend -L +大小 /dev/卷组名/逻辑卷名
扩容后刷新文件系统命令
xfg_growfs /dev/vgname1/lvname1 //刷新xfs文件系统容量
resize2fs /dev/vgname1/lvname1 //刷新ext4类型文件系统容量

四、实例

新建LVM

添加硬盘
刷新硬盘
echo "- - - "> /sys/class/scsi_host/host0/scan
echo "- - - "> /sys/class/scsi_host/host1/scan
echo "- - - "> /sys/class/scsi_host/host2/scan
lsblk #查看
fdisk /dev/sdb #创建拓展分区
n 新建 +10G
t 选8e
w 保存
lsblk 查看
pvcreate /dev/sdb1 /dev/sdc #把磁盘转成物理卷
vgcreate vg01 /dev/sdb1 /dev/sdc #创建卷组加入物理卷
lvcreate -L 25G -n ky18 vg01 #创建逻辑卷
-L是指逻辑卷大小 -l pe数量 -n逻辑卷名称 vg01代表从哪个卷组中取pe容量
mkfs.xfs /dev/vg01/ky18 #文件系统
mkdir /data1 #新建
mount /dev/vg01/ky18 /data1 # 挂载
df
/dev/mapper/vg01-ky18 26201600 32944 26168656 1% /data1
partprobe 刷新分区列表

拓展容量

vg里面的空间是否够使用,如果不够就要加物理卷到卷组中 拓展逻辑卷

fdisk /dev/sdb   创建一个分区
pvcreate /dev/sdb2
vgextend vg01 /dev/sdb2
lvextend -L +10G /dev/vg01/ky18 xfs_growfs /data1 刷新新加的空间

五、磁盘配额概述

磁盘配额

综述

磁盘配额(Quota)就是 Linux 系统中用来限制特定的普通用户或用户组在指定的分区上占用的磁盘空间或文件个数的。

在此概念中,有以下几个重点需要注意:

  1. 磁盘配额限制的用户和用户组,只能是普通用户和用户组,也就是说超级用户 root 是不能做磁盘配额的;
  2. 磁盘配额限制只能针对分区,而不能针对某个目录,换句话说,磁盘配额仅能针对文件系统进行限制,举个例子,如果你的 /dev/sda5 是挂载在 /home 底下,那么,在 /home 下的所有目录都会受到磁盘配额的限制;
  3. 我们可以限制用户占用的磁盘容量大小(block),当然也能限制用户允许占用的文件个数(inode)

磁盘配额就好像我们出租写字楼,虽然整栋楼的空间非常大,但是酬整栋楼的成本太高。我们可以分开出租,用户如果觉得不够用,则还可以租用更大的空间。不过租用是不能随便进行的,其中有几个规矩必须遵守:

  • 我的楼是租给外来用户的(普通用户),可以租给一个人(用户),也可以租给一家公司(用户 组),但是这栋楼的所有权是我的,所以不能租给我自己(root 用户);
  • 如果要租用,则只能在每层租用一定大小的空间,而不能在一个房间中再划分出子空间来租用(配额只能针对分区,而不能限制某个目录);
  • 租户可以决定在某层租用多大的空间(磁盘容量限制),也可以在某层租用几个人员名额,这样只有这几个人员才能进入本层(文件个数限制)。

使用条件

磁盘配额要想正常使用,有以下几个前提条件:

  1. 内核必须支持磁盘配额。
  2. 系统中必须安装了 Quota 工具。我们的 Linux 中默认安装了 Quoted 工具
  3. 要支持磁盘配额的分区必须开启磁盘配额功能。这项功能可以手动开启,不再是默认开启的

磁盘配额中的常见概念

磁盘容量限制和文件个数限制

我们除了可以通过限制用户可用的 block 数量来限制用户可用的磁盘容量,也可以通过限制用户可用的 inode 数量来限制用户可以上传或新建的文件个数。

软限制和硬限制

软限制可理解为警告限制,硬限制就是真正的限制了。比如,规定软限制为 100MB,硬限制为 200MB,那么,当用户使用的磁盘空间为 100~200MB 时,用户还可以继续上传和新建文件,但是每次登录时都会收到一条警告消息,告诉用户磁盘将满。

实际操作

手动挂载添加相关选项

CentOS7中设置磁盘配额步骤
1、检查是否已安装xfsprogs和xfs_ quota软件包
rpm -q xfsprogs quota
yum install -y xfsprogs quota [root@localhost ~]# mount -o remount usrquota,grpquota /dev/sdb1 /mnt
#添加磁盘配额属性
手动添加的方式,会在下次重新挂载时消失,因此我们可以直接修改 /etc/fstab 文件,将挂载参数写入到配置文件中,这样,即便重新挂载也不会消失,
[root@www ~]# vim /etc/fstab
/dev/sdb1 /mnt xfs defaults,usrquota,grpquota 0 0
[root@www ~]# mount -a
[root@localhost ~]#xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=40 ihard=50 lisi' /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/
#仅限制文件数 xfs_ quota -C 'quota -uv lisi' /opt/
#查看zhangsan磁盘:容量限制 xfs quota -c 'quota -i -uv lisi' /opt/
#查看zhangsan文件数限制 验证磁盘配额功能
chmod 777 /opt
Su lisi
cd /opt
#验证磁盘容量超限
dd if=/dev/zero of=/opt/kgc.txt bs=1OM count=12
#验证磁盘文件数超限
touch {aa,bb, cc,dd,ee, ff} .txt
dd命令是一一个设备转换和连续复制命令
“if=” 指定输入设备(或文件)
"of="指定输出设备(或文件)
"bs=" 指定读取数据块的大小
"count=”指定读取数据块的数量
/dev/zero “零"设备文件,可以无限的提供空字符。常用来生成-一个特定大小的文件。 5、查看配额使用情况
#查看所有可用分区的磁盘容量配额使用情况
xfs_ quota - X -C ' report -abih' 查看磁盘配额 report常用选项:
-u:对用户查看
-g:对组查看
-a:查看所有可用分区的配额使用报告
-b:查看磁盘容量
-i:查看文件数 取消设置
[root@localhost ~]#xfs_quota -x -c 'disable -up' /data xfs_quota -x -c "disable -up" /data/
#暂时取消
xfs_quota -x -c "off -up" /data/
#需要重新挂载,完全关闭
xfs_quota -x -c "remove -p" /data/
#移除设置 需要在off状态下
[root@localhost ~]# xfs_quota -x -c 'limit -u bsoft=20M bhard=30M isoft=5 ihard=6 zhangsan' /opt/log/
[root@localhost ~]# chmod 777 /opt/log/
[root@localhost ~]# su zhangsan
[zhangsan@localhost log]$ touch file{1..10}.txt
touch: 无法创建"file7.txt": 超出磁盘限额
touch: 无法创建"file8.txt": 超出磁盘限额
touch: 无法创建"file9.txt": 超出磁盘限额
touch: 无法创建"file10.txt": 超出磁盘限额
[zhangsan@localhost log]$ ls
file1.txt file2.txt file3.txt file4.txt file5.txt file6.txt
[zhangsan@localhost log]$ dd if=/dev/zero of=/opt/log/test.txt bs=1M count=20
记录了20+0 的读入
记录了20+0 的写出
[zhangsan@localhost log]$ dd if=/dev/zero of=/opt/log/test1.txt bs=1M count=20
dd: 写入"/opt/log/test1.txt" 出错: 超出磁盘限额
记录了11+0 的读入
记录了10+0 的写出
10485760字节(10 MB)已复制,0.00546079 秒,1.9 GB/秒
[zhangsan@localhost log]$ touch file{1..10}.txt
touch: 无法创建"file1.txt": 超出磁盘限额
touch: 无法创建"file2.txt": 超出磁盘限额
touch: 无法创建"file3.txt": 超出磁盘限额
touch: 无法创建"file4.txt": 超出磁盘限额
touch: 无法创建"file5.txt": 超出磁盘限额
touch: 无法创建"file6.txt": 超出磁盘限额
touch: 无法创建"file7.txt": 超出磁盘限额
touch: 无法创建"file8.txt": 超出磁盘限额
touch: 无法创建"file9.txt": 超出磁盘限额
touch: 无法创建"file10.txt": 超出磁盘限额
[zhangsan@localhost log]$ ls
test1.txt test.txt
[zhangsan@localhost log]$ rm -rf *
[zhangsan@localhost log]$ touch file{1..10}.txt
touch: 无法创建"file7.txt": 超出磁盘限额
touch: 无法创建"file8.txt": 超出磁盘限额
touch: 无法创建"file9.txt": 超出磁盘限额
touch: 无法创建"file10.txt": 超出磁盘限额
[zhangsan@localhost log]$ ls
file1.txt file2.txt file3.txt file4.txt file5.txt file6.txt

六、LVM和从磁盘配额的更多相关文章

  1. Linux系统管理第五次作业 LVM逻辑卷 磁盘配额

    1.为主机增加80G SCSI 接口硬盘 2.划分三个各20G的主分区 [root@localhost ~]# fdisk /dev/sdf 欢迎使用 fdisk (util-linux 2.23.2 ...

  2. 1-16-2 LVM管理和ssm存储管理器使用&磁盘配额

    ssm存储管理器使用&磁盘配额 ssm存储管理器使用 系统存储管理器的使用 系统存储管理器(又称ssm,即system-storage-manager),是RHEL7/CentOS7新增的功能 ...

  3. 解析Linux中LVM与磁盘配额

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

  4. 1-18-2 LVM管理和ssm存储管理器使用&磁盘配额 (二)

    LVM管理和ssm存储管理器使用&磁盘配额  (二) 内容如下: ü  LVM快照 ü  ssm存储管理器的使用 ü  磁盘配额 第1章 LVM快照 lvm快照:为了保持系统的一致性,我们先做 ...

  5. 1-18-1 LVM管理和ssm存储管理器使用&磁盘配额(一)

    LVM管理和ssm存储管理器使用&磁盘配额(一) LVM逻辑卷的管理 问题:对于生产环境下的服务器来说,如果存储数据的分区磁盘空间不够了怎么办? 因为如果要把一个分区的内容都拷贝到另一个分区上 ...

  6. LVM与磁盘配额

    LVM与磁盘配额 目录 一.LVM概述 1.1.LVM 概述 1.2.LVM机制的基本概念 二.LVM 管理命令 2.1.主要命令 2.2.LVM命令详解 三.设置磁盘配额 3.1.磁盘配额的概述 3 ...

  7. Linux磁盘配额与LVM

    一.LVM概述  逻辑卷管理 Logical Volume Manager二.LVM机制的基本概念三.LVM的管理命令  ① 主要命令  ② ==LVM逻辑卷操作流程==  ③ 举例四.磁盘配额概述  ...

  8. LVM磁盘配额

    目录 一.LVM概述 1.1.逻辑卷管理 1.2.LVM机制的基本概念 二.LVM管理命令 三.磁盘配额概述 3.1.实现磁盘配额的条件 3.2.Linux磁盘限额的特点 3.3.常用命令及选项 3. ...

  9. Linux 系统管理——文件系统与LVM、磁盘配额实例

    1.为主机增加80G SCSI 接口硬盘 2.划分三个各20G的主分区 3.将三个主分区转换为物理卷(pvcreate),扫描系统中的物理卷 4.使用两个物理卷创建卷组,名字为myvg,查看卷组大小 ...

随机推荐

  1. re模块、collections模块、time模块、datetime模块

    正则表达式之re模块 re.findall用法(重要) re.findall( '正则表达式' , '待匹配的字符' ) 找出所有的目标字符,用列表的形式展现,如果找不到返回空列表. import r ...

  2. 《手写Mybatis》第4章:Mapper XML的解析和注册使用

    作者:小傅哥 系列:https://bugstack.cn/md/spring/develop-mybatis/2022-03-20-%E7%AC%AC1%E7%AB%A0%EF%BC%9A%E5%B ...

  3. Vue+element搭建后台管理系统-二、安装插件

    我们继续上一章的内容,上一章讲到我们已经能将项目成功跑起来了,那么我们接下来把项目必用的东西完善一下. 一.安装elementUI 终于到了我们的男二了,继续在VSCode中新建一个终端,然后通过这个 ...

  4. 把图片存储 canvas原生API转成base64

    1.LocalStorage有什么用? 2.LocalStorage的普通用法以及如何存储图片. 首先介绍下什么是LocalStorage 它是HTML5的一种最新储存技术.但它只能储存字符串.以前的 ...

  5. 进阶版css点击按钮动画

    1. html <div class="menu-wrap"> <input type="checkbox" class="togg ...

  6. Jx.Cms开发笔记(五)-文章编辑页面标签设计

    标签页的样子 设计思路 与其他输入框一样,存在一个Label标签,由于这里不像其他输入框一样可以直接使用Row标签,所以这里需要额外增加. 使用Tag组件显示所有的标签,我们在Blazor 组件库 B ...

  7. .Net中字符串不变性与相等判断的特殊场景

    今天写bug的时候帮同事解决了一个有趣的问题,可能很多人都会答错.分享给大家. 问题 请看以下例子,并回答问题. var s1 = "12"; var s2 = "12& ...

  8. RabbitMQ 3.9( 基础 )

    1.认识MQ 1.1.什么是MQ? MQ全称:message queue 即 消息队列 这个队列遵循的原则:FIFO 即 先进先出 队列里面存的就是message 1.2.为什么要用MQ? 1.2.1 ...

  9. C++进阶-3-6-map/multimap容器

    C++进阶-3-6-map/multimap容器 1 #include<iostream> 2 #include<map> 3 using namespace std; 4 5 ...

  10. 新作!分布式系统韧性架构压舱石OpenChaos

    摘要:本文首先以现今分布式系统的复杂性和稳定性的需求引出混沌工程概念,并阐述了OpenChaos在传统混沌工程上的优化与创新. 背景 随着Serverless,微服务(含服务网格)与越来越多的容器化架 ...