一、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. cannot find module providing package github.com/× working directory is not part of a module

    今天在搭建fabric的过程中遇到一个问题,记录一下 root@zitao /home/hong/Desktop/gowork/src/github.com/hyperledger/fabric re ...

  2. echarts饼图禁止鼠标悬浮高亮

    将高亮时的颜色和原本颜色手动设置成相同的值,把series.data里的itemStyle属性进行设置 代码如下: option = { color:['#3498db','#EEEEEE'], se ...

  3. Python数据展示 - 生成表格图片

    前言 前一篇文章介绍了推送信息到企业微信群里,其中一个项目推送的信息是使用Python自动生成的表格,本文来讲讲如何用Python生成表格图片. 选一个合适库 Python最大的优点就是第三方库丰富, ...

  4. 小米手环解锁MacOS系统笔记本MacBookPro

    通过小米手环解锁笔记本 官方windows是提供了方法的. 我目前用的MacBookPro,所以说下苹果笔记本的解锁方式. 安装软件BLEUnlock 库 安装方式: brew 安装 brew ins ...

  5. 移动安卓App+BurpSuite的渗透测试

    从Android 7.0及以上版本开始,安卓系统更改了信任用户安装证书的默认行为,用户安装的证书都是用户证书,因此不管是filddle还是burp,都是把他们的根证书安装到了用户证书,而有部分移动ap ...

  6. Dom基础(一):attribute和properrty的区别

    properrty:修改对象属性不会体现到html结构中,针对DOM节点自带属性(id,className,style) attribute:修改html属性,会改变html结构,大多可以添加自定义属 ...

  7. python基础练习题(题目 文本颜色设置)

    day23 --------------------------------------------------------------- 实例035:设置输出颜色 题目 文本颜色设置. 分析:不会, ...

  8. Spring (IOC)配置

    就是这个东西,里面的不同标签,所代表的不同含义 beans  里面有很多的bean  ,每一个bean都是容器里面的一个对象 1.别名alias  (另外的一个名字) XML <alias na ...

  9. [操作系统]LINUX进程状态说明

    R(task_running) : 可执行状态 只有在该状态的进程才可能在CPU上运行.而同一时刻可能有多个进程 处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CPU的 ...

  10. 了解mybatis

    什么是mybatis? MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作.MyBati ...