Linux:逻辑卷管理(LVM)磁盘配额

ops/2025/3/5 6:20:22/

文章目录

  • Linux:逻辑卷管理(LVM)&磁盘配额
    • 一、逻辑卷
      • 逻辑卷三个概念
      • LVM的管理命令
    • 二、实施LVM存储
      • 2.1、创建逻辑卷
      • 2.2、设置逻辑卷大小
    • 三、磁盘配额
      • 磁盘限额的特点
      • 实现磁盘限额的条件
      • 设置磁盘配额

Linux:逻辑卷管理(LVM)&磁盘配额

一、逻辑卷

 逻辑卷管理有助于更加轻松地管理磁盘空间。如果托管逻辑卷的文件系统需要更多空间,可以将其卷组中的可用空间分配给逻辑卷,并且可以调整文件系统的大小。如果磁盘开始出现错误,可以将替换磁盘注册为物理卷放入卷组中,并且逻辑卷的区块可迁移到新磁盘

逻辑卷三个概念

  • 物理卷(PV):基于硬盘或分区设备创建而来,是由多个PE组成,生成n多个PE,一个PE默认大小为4M

  • 卷组(VG):将多个物理卷组成的资源池。

  • 逻辑卷(LVM):从卷组中划分指定容量大小的存储卷。

在这里插入图片描述

LVM三个概念

LVM的管理命令

语法

pvcreate [设备文件]			##准备物理卷
vgcreate [vg-name]	[设备分区]	##创建卷组
lvcreate -l [lv-name] [vg-name]		##创建逻辑卷
命令PVVGLVM
Scan(扫描)pvscanvgscan
Create(建立)pvcreatevgcreatelvcreate
Display(显示)pvdisplayvgdisplaylvdisplay
Remove(移除)pvremovevgremovelvremove
Extend(扩展)---------vgextendlvextend
Reduce(减少)----------vgreducelvreduce
LVM基本管理命令

二、实施LVM存储

在这里插入图片描述

LVM实施步骤

2.1、创建逻辑卷

根据如下要求,创建新的逻辑卷:

  • 逻辑卷取名为wl,属于xy101卷组,大小为5G

  • 使用xfs文件系统格式化新逻辑卷。该逻辑卷应在系统启动时自动挂载到/mnt/qa下

步骤:

  • 准备物理设备

在这里插入图片描述

  • 新建分区
fdisk /dev/sdb        # 在sdb中新建分区n        ## 新建分区p        ## 分区类型,使用默认值1        ##分区号,使用默认值2048        ##起始扇区,使用默认值+10G    ##分区结束位置,+10Gt        ##标记分区类型8e        ## 分区类型,8ew        ##保存分区表更改

在这里插入图片描述

新建分区
  • 创建物理卷
 pvcreate /dev/sdb1             ##创建物理卷 

在这里插入图片描述

创建物理卷
  • 创建卷组
vgcreate xy101 /dev/sdb1      # 创建卷组,卷组名为xy101

在这里插入图片描述

创建卷组
  • 创建逻辑卷
lvcreate -n wl -L 5G xy101        ## 创建逻辑卷,-L选项指定逻辑卷大小,-n指定逻辑卷名称

在这里插入图片描述

创建逻辑卷
  • 创建文件系统并挂载使用
mkfs.xfs /dev/xy101/wl            ##格式化逻辑卷
mkdir /mnt/qa            ## 创建挂载点
blkid /dev/xy101/wl            ##查看设备/dev/xy101/wl UUID
echo 'UUID=165c485d-bb01-4d44-9218-a7e21c6d1ec1 /mnt/qa xfs defaults 0 0' >> /etc/fstab        ### 设置永久挂载
mount /dev/xy101/wl           ##激活新增分区

在这里插入图片描述

创建文件系统并挂载使用
[root@host-1 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。Device does not contain a recognized partition table
使用磁盘标识符 0x17ac63db 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):n
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p): 
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+10G
分区 1 已设置为 Linux 类型,大小设为 10 GiB命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):L024  NEC DOS         81  Minix / 旧 Linu bf  Solaris        1  FAT12           27  隐藏的 NTFS Win 82  Linux 交换 / So c1  DRDOS/sec (FAT-2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-3  XENIX usr       3c  PartitionMagic  84  OS/2 隐藏的 C:  c6  DRDOS/sec (FAT-4  FAT16 <32M      40  Venix 80286     85  Linux 扩展      c7  Syrinx         5  扩展            41  PPC PReP Boot   86  NTFS 卷集       da  非文件系统数据 6  FAT16           42  SFS             87  NTFS 卷集       db  CP/M / CTOS / .7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux 纯文本    de  Dell 工具      8  AIX             4e  QNX4.x 第2部分  8e  Linux LVM       df  BootIt         9  AIX 可启动      4f  QNX4.x 第3部分  93  Amoeba          e1  DOS 访问       a  OS/2 启动管理器 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad 休 eb  BeOS fs        e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            f  W95 扩展 (LBA)  54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC  
11  隐藏的 FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
12  Compaq 诊断     5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
14  隐藏的 FAT16 <3 61  SpeedStor       ab  Darwin 启动     f2  DOS 次要       
16  隐藏的 FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
17  隐藏的 HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST 智能睡眠    65  Novell Netware  b8  BSDI swap       fd  Linux raid 自动
1b  隐藏的 W95 FAT3 70  DiskSecure 多启 bb  Boot Wizard 隐  fe  LANstep        
1c  隐藏的 W95 FAT3 75  PC/IX           be  Solaris 启动    ff  BBT            
1e  隐藏的 W95 FAT1 80  旧 Minix       
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”命令(输入 m 获取帮助):w
The partition table has been altered!Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@host-1 ~]# 
[root@host-1 ~]# lsblk 
NAME                    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                       8:0    0   40G  0 disk 
├─sda1                    8:1    0    1G  0 part /boot
└─sda2                    8:2    0   39G  0 part ├─centos_host--1-root 253:0    0   35G  0 lvm  /└─centos_host--1-swap 253:1    0    4G  0 lvm  [SWAP]
sdb                       8:16   0   20G  0 disk 
└─sdb1                    8:17   0   10G  0 part 
sr0                      11:0    1  4.4G  0 rom  
[root@host-1 ~]#  pvcreate /dev/sdb1Physical volume "/dev/sdb1" successfully created.
[root@host-1 ~]# vgcreate xy101 /dev/sdb1Volume group "xy101" successfully created
[root@host-1 ~]# lvcreate -n wl -L 5G xy101Logical volume "wl" created.
[root@host-1 ~]# ll /dev/xy101/wl
lrwxrwxrwx. 1 root root 7 417 19:32 /dev/xy101/wl -> ../dm-2  
[root@host-1 ~]# mkfs.xfs /dev/xy101/wl
meta-data=/dev/xy101/wl          isize=512    agcount=4, agsize=327680 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=1310720, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0 
[root@host-1 ~]# mkdir /mnt/qa
[root@host-1 ~]# blkid /dev/xy101/wl
/dev/xy101/wl: UUID="165c485d-bb01-4d44-9218-a7e21c6d1ec1" TYPE="xfs" 
[root@host-1 ~]# echo 'UUID=165c485d-bb01-4d44-9218-a7e21c6d1ec1 /mnt/qa xfs defaults 0 0' >> /etc/fstab
[root@host-1 ~]# mount /mnt/qa
[root@host-1 ~]# df -h /mnt/qa
文件系统              容量  已用  可用 已用% 挂载点
/dev/mapper/xy101-wl  5.0G   33M  5.0G    1% /mnt/qa

2.2、设置逻辑卷大小

  • 将逻辑卷wl及其文件系统的大小调整到7G。确保文件系统内容保持不变。

步骤:

  • 确保卷组中有足够的容量

    df -h |grep wl            # 查看文件系统大小
    lvs        # 查看逻辑卷大小
    vgs        # 查看卷组空间是否够扩容
    

    在这里插入图片描述

确保卷组中有足够的容量
  • 扩展逻辑卷及文件系统容量

    lvextend -rL 7G /dev/mapper/xy101-wl            # 逻辑卷和文件系统一起扩容,其中-r选项代表文件系统一起扩展。
    

    在这里插入图片描述

扩展逻辑卷及文件系统容量
[root@host-1 ~]#  df -h |grep wl
/dev/mapper/xy101-wl             5.0G   33M  5.0G    1% /mnt/qa
[root@host-1 ~]# lvsLV   VG            Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertroot cenos_host-1 -wi-ao---- <35.00g                                                    swap centos_host-1 -wi-ao----   4.00g                                                    wl   xy101         -wi-ao----   5.00g                                                    [root@host-1 ~]# vgsVG            #PV #LV #SN Attr   VSize   VFree centos_host-1   1   2   0 wz--n- <39.00g     0 xy101           1   1   0 wz--n- <10.00g <5.00g
[root@host-1 ~]# lvextend -rL 7G /dev/mapper/xy101-wlSize of logical volume xy101/wl changed from 5.00 GiB (1280 extents) to 7.00 GiB (1792 extents).Logical volume xy101/wl successfully resized.
meta-data=/dev/mapper/xy101-wl   isize=512    agcount=4, agsize=327680 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=1310720, 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
data blocks changed from 1310720 to 1835008
[root@host-1 ~]#  df -h |grep wl
/dev/mapper/xy101-wl             7.0G   33M  7.0G    1% /mnt/qa
[root@host-1 ~]# lvsLV   VG            Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertroot centos_host-1 -wi-ao---- <35.00g                                                    swap centos_host-1 -wi-ao----   4.00g                                                    wl   xy101         -wi-ao----   7.00g                                         

三、磁盘配额

磁盘限额的特点

  • 作用范围:针对指定的文件系统(分区)

  • 限制对象:用户帐号、组帐号

  • 限制类型:磁盘容量、文件数量

  • 限制方法:软限制、硬限制

实现磁盘限额的条件

  1. 需要Linux内核支持

  2. 安装xfsprogs与quota软件包

设置磁盘配额

  • 安装xfsprogs与quota软件包
yum install -y xfsprogs quota        ##安装软件

在这里插入图片描述

安装xfsprogs与quota软件包
  • 以支持配额功能的方式挂载文件系统
mount -o usrquota,grpquota /dev/mapper/xy101-wl   /mnt/qa        ##以支持配额功能的方式挂载

在这里插入图片描述

安装xfsprogs与quota软件包
  • 编辑用户和组账号的配额设置
 xfs_quota -x -c 'limit -u isoft=4 ihard=5 tj' /mnt/qa/        ##编辑配额

在这里插入图片描述

编辑配额
  • 验证
chmod +777 /mnt/qa            ##添加权限    
su tj                        ##切换用户tj
cd /mnt/qa                    ##切换当前目录到/mnt/qa
touch abc{1..20}            ##新建空文件abc1至abc20

在这里插入图片描述

验证
[root@host-1 ~]# yum install -y xfsprogs quota
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
软件包 xfsprogs-4.5.0-22.el7.x86_64 已安装并且是最新版本
正在解决依赖关系
--> 正在检查事务
---> 软件包 quota.x86_64.1.4.01-19.el7 将被 安装
--> 正在处理依赖关系 quota-nls = 1:4.01-19.el7,它被软件包 1:quota-4.01-19.el7.x86_64 需要
--> 正在处理依赖关系 tcp_wrappers,它被软件包 1:quota-4.01-19.el7.x86_64 需要
--> 正在处理依赖关系 rpcbind,它被软件包 1:quota-4.01-19.el7.x86_64 需要
--> 正在检查事务
---> 软件包 quota-nls.noarch.1.4.01-19.el7 将被 安装
---> 软件包 rpcbind.x86_64.0.0.2.0-49.el7 将被 安装
--> 正在处理依赖关系 libtirpc >= 0.2.4-0.7,它被软件包 rpcbind-0.2.0-49.el7.x86_64 需要
--> 正在处理依赖关系 libtirpc.so.1()(64bit),它被软件包 rpcbind-0.2.0-49.el7.x86_64 需要
---> 软件包 tcp_wrappers.x86_64.0.7.6-77.el7 将被 安装
--> 正在检查事务
---> 软件包 libtirpc.x86_64.0.0.2.4-0.16.el7 将被 安装
--> 解决依赖关系完成依赖关系解决==========================================================================================================================================Package                            架构                         版本                                    源                          大小
==========================================================================================================================================
正在安装:quota                              x86_64                       1:4.01-19.el7                           base                       179 k
为依赖而安装:libtirpc                           x86_64                       0.2.4-0.16.el7                          base                        89 kquota-nls                          noarch                       1:4.01-19.el7                           base                        90 krpcbind                            x86_64                       0.2.0-49.el7                            base                        60 ktcp_wrappers                       x86_64                       7.6-77.el7                              base                        78 k事务概要
==========================================================================================================================================
安装  1 软件包 (+4 依赖软件包)总计:497 k
总下载量:89 k
安装大小:1.6 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
libtirpc-0.2.4-0.16.el7.x86_64.rpm                                                                                 |  89 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction正在安装    : 1:quota-nls-4.01-19.el7.noarch                                                                                        1/5 正在安装    : tcp_wrappers-7.6-77.el7.x86_64                                                                                        2/5 正在安装    : libtirpc-0.2.4-0.16.el7.x86_64                                                                                        3/5 正在安装    : rpcbind-0.2.0-49.el7.x86_64                                                                                           4/5 正在安装    : 1:quota-4.01-19.el7.x86_64                                                                                            5/5 验证中      : libtirpc-0.2.4-0.16.el7.x86_64                                                                                        1/5 验证中      : tcp_wrappers-7.6-77.el7.x86_64                                                                                        2/5 验证中      : 1:quota-4.01-19.el7.x86_64                                                                                            3/5 验证中      : rpcbind-0.2.0-49.el7.x86_64                                                                                           4/5 验证中      : 1:quota-nls-4.01-19.el7.noarch                                                                                        5/5 已安装:quota.x86_64 1:4.01-19.el7                                                                                                              作为依赖被安装:libtirpc.x86_64 0:0.2.4-0.16.el7   quota-nls.noarch 1:4.01-19.el7   rpcbind.x86_64 0:0.2.0-49.el7   tcp_wrappers.x86_64 0:7.6-77.el7  完毕!
[root@host-1 ~]# mount -o usrquota,grpquota /dev/mapper/xy101-wl   /mnt/qa
[root@host-1 ~]# xfs_quota -x -c 'limit -u isoft=4 ihard=5 tj' /mnt/qa/
[root@host-1 ~]# chmod +777 /mnt/qa
[root@host-1 ~]# su tj
[tj@host-1 root]$ cd /mnt/qa
[tj@host-1 qa]$ touch abc{1..20}
touch: 无法创建"abc6": 超出磁盘限额
touch: 无法创建"abc7": 超出磁盘限额
touch: 无法创建"abc8": 超出磁盘限额
touch: 无法创建"abc9": 超出磁盘限额
touch: 无法创建"abc10": 超出磁盘限额
touch: 无法创建"abc11": 超出磁盘限额
touch: 无法创建"abc12": 超出磁盘限额
touch: 无法创建"abc13": 超出磁盘限额
touch: 无法创建"abc14": 超出磁盘限额
touch: 无法创建"abc15": 超出磁盘限额
touch: 无法创建"abc16": 超出磁盘限额
touch: 无法创建"abc17": 超出磁盘限额
touch: 无法创建"abc18": 超出磁盘限额
touch: 无法创建"abc19": 超出磁盘限额
touch: 无法创建"abc20": 超出磁盘限额
[tj@host-1 qa]$ 

http://www.ppmy.cn/ops/15636.html

相关文章

【C++】学习笔记——类和对象_3

文章目录 二、类和对象11. 析构函数&#xff08;补&#xff09;12. 拷贝构造函数13. 运算符重载 未完待续 二、类和对象 11. 析构函数&#xff08;补&#xff09; 析构函数并不是销毁对象&#xff0c;对象的销毁是由编译器完成的&#xff0c;析构函数的作用是清理&#xff0c…

Maven

目录 一、什么是Maven 二、为什么要学Maven 三、创建一个Maven项目 四、Maven 核心功能 1、项目构建 2、依赖管理 &#xff08;1&#xff09;依赖配置 &#xff08;2&#xff09;依赖传递 &#xff08;3&#xff09;依赖排除 3、Maven Help 插件 五、Maven 仓库 &a…

C语言中的指针常量的常量指针

指针常量和常量指针是C/C编程语言中两个重要的概念&#xff0c;它们都与指针有关&#xff0c;但具有不同的含义和用途。 1. 指针常量&#xff08;Pointer to Constant&#xff09; 指针常量指的是一个指针的值&#xff08;即它所指向的地址&#xff09;在初始化之后不能再被改…

Android 应用更新提醒自动跳转安装

废话少说&#xff0c;直接上干货 1.首先需要你获取本地的程序版本号 //获取当前版本 public int getAppVersion(Context context) {try {PackageInfo packageInfo context.getPackageManager().getPackageInfo(context.getPackageName(), 0);return packageInfo.versionCode…

单例设计模式c++

什么是单例模式&#xff1f; 单例模式指在整个系统生命周期里&#xff0c;保证一个类只能产生一个实例&#xff0c;确保该类的唯一性。 单例模式分类 单例模式可以分为懒汉式和饿汉式&#xff0c;两者之间的区别在于创建实例的时间不同&#xff1a; 懒汉式&#xff1a;指系…

vue实现光标插入模板和删除指定模板内容

需求&#xff1a; 文本可插入模板文字&#xff1b;同时在“%虚拟机名称%”后一个%删除,会将“%虚拟机名称%”选中删除 以下代码可以直接复制使用&#xff1a; <template><div><div><b>需求&#xff1a;</b> <br> 文本可插入模板文字&am…

FinalShell 安装 及使用教程

一 简介&#xff1a; FinalShell 是一款免费的国产的集 SSH 工具、服务器管理、远程桌面加速的良心软件&#xff0c;同时支持 Windows,macOS,Linux&#xff0c;它不单单是一个 SSH 工具&#xff0c;完整的说法应该叫一体化的的服务器&#xff0c;网络管理软件&#xff0c;在很…

深度学习中的黑科技:自监督学习(Self-Supervised Learning)

在人工智能领域&#xff0c;深度学习已成为推动技术革新的核心力量。然而&#xff0c;深度学习的一个重要瓶颈是对大量标记数据的依赖性。在这个背景下&#xff0c;自监督学习(Self-Supervised Learning, SSL)作为一种新兴的学习范式&#xff0c;越来越受到研究者的关注。自监督…