LVM与磁盘配额

目录

一、LVM

1.1   lvm简介

1.2  LVM管理命令

​编辑1.3  LVM删除顺序 

1.4  创建逻辑卷LVM

1.4.1  添加三块硬盘

1.4.2  创建分区

 1.4.3  建立物理卷

 1.4.4  建立卷组zkr

1.4.5  建立逻辑卷ky29

1.4. 6  创建文件管理系统

 1.4.7  进行挂载

1.5  LVM扩容

二、磁盘配额

2.1  实现磁盘限额条件

2.2  Linux磁盘限额特点

 2.3  命令实现

2.3.1  查看相关软件是否安装

2.3.2  接触相关挂载

2.3.3   以支持配额功能的方式挂载文件系统

2.3.4  创建用户

2.3.5  编辑用户的配额限制.

 2.3.6  测试一下

 2.3.7  解除限额


一、LVM

1.1   lvm简介

LVM(Logical  Volume  Manager)逻辑卷管理,是一种逻辑卷管理器,是Linux系统中的一个重要的存储管理技术。

  • 1.lvm打破了磁盘空间分区只能单个挂载,单个使用的限制。
  • 2.lvm打破了磁盘大小的限制,可以进行扩容。
  • 3.打破了磁盘分区要求必须是连续的空间限制。

LVM扩容:能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的基本概念。

/boot/分区用于存放引导文件,不能基于LVM创建。

热备份:不停机备份,实时备份,有多少备份多少。

冷备份:停机备份,只能备份当前的数据,开机之后新的数据不能再备份

物理卷(Physical Volume,PV):就是真正的物理硬盘或分区。

卷组(Volume Group,VG):将多个物理卷合起来就组成了卷组,组成同一个卷组的物理卷,可以是同一块硬盘的不同分区,也可以是不同硬盘上的不同分区。

逻辑卷(Logical Volume,LV):卷组是一块逻辑硬盘,硬盘必须分区之后才能使用,我们把这个分区称作逻辑卷。逻辑卷可以被格式化和写入数据。我们可以把逻辑卷想象为分区。

物理扩展(Physical Extend,PE):PE 是用来保存数据的最小单元,
数据实际上都是写入 PE 当中的。PE 的大小是可以配置的,默认是 4MB。

1.2  LVM管理命令

1.3  LVM删除顺序 

  1. 先从逻辑卷删除,如果已挂载,先解挂载。
  2. 删除组卷
  3. 删除物理卷

1.4  创建逻辑卷LVM

1.4.1  添加三块硬盘

[root@localhost ~]# partprobe

 part probe强制刷新内核缓存表,如果刷新不成功,只能reboot重启。

1.4.2  创建分区

使用fdisk命令分别创建sdb1、sdc1、sdd1三个不同硬盘的分区

[root@localhost ~]# fdisk 
用法:
 fdisk [选项] <磁盘>    更改分区表
 fdisk [选项] -l <磁盘> 列出分区表
 fdisk -s <分区>        给出分区大小(块数)

选项:
 -b <大小>             扇区大小(512、1024、2048或4096)
 -c[=<模式>]           兼容模式:“dos”或“nondos”(默认)
 -h                    打印此帮助文本
 -u[=<单位>]           显示单位:“cylinders”(柱面)或“sectors”(扇区,默认)
 -v                    打印程序版本
 -C <数字>             指定柱面数
 -H <数字>             指定磁头数
 -S <数字>             指定每个磁道的扇区数

[root@localhost ~]# fdisk  /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x79e9602a 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# fdisk  /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x1b423504 创建新的 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):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# fdisk  /dev/sdd
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x43c6d648 创建新的 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):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk 
├─sda1            8:1    0    5G  0 part /boot
└─sda2            8:2    0   54G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  └─centos-swap 253:1    0    4G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
└─sdb1            8:17   0   20G  0 part 
sdc               8:32   0   20G  0 disk 
└─sdc1            8:33   0   20G  0 part 
sdd               8:48   0   20G  0 disk 
└─sdd1            8:49   0   20G  0 part 
sr0              11:0    1  4.2G  0 rom  /mnt

 1.4.3  建立物理卷

[root@localhost ~]# pvcreate /dev/sdb1   /dev/sdc1   dev/sdd1
  Physical volume "/dev/sdb1" successfully created.
  Physical volume "/dev/sdc1" successfully created.
  Physical volume "/dev/sdd1" successfully created.
[root@localhost ~]#

 1.4.4  建立卷组zkr

[root@localhost ~]# vgcreate   zkr   /dev/sdb1   /dev/sdc1   /dev/sdd1
  Volume group "zkr" successfully created
[root@localhost ~]# vgdisplay zkr
  --- Volume group ---
  VG Name               zkr
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               <59.99 GiB
  PE Size               4.00 MiB
  Total PE              15357
  Alloc PE / Size       0 / 0   
  Free  PE / Size       15357 / <59.99 GiB
  VG UUID               WM1JeW-GcqT-1Z3m-9fBO-nKPL-Q84R-PZiQH6

1.4.5  建立逻辑卷ky29

[root@localhost ~]# lvcreate -L  10G   -n  ky29   zkr
  Logical volume "ky29" created.
[root@localhost ~]# lvdisplay   /dev/zkr/ky29 
  --- Logical volume ---
  LV Path                /dev/zkr/ky29
  LV Name                ky29
  VG Name                zkr
  LV UUID                j4rrZB-h9AH-FmDe-EZbP-Puao-e4uz-h2PE5P
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2023-05-08 18:13:41 +0800
  LV Status              available
  # open                 0
  LV Size                10.00 GiB
  Current LE             2560
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

1.4. 6  创建文件管理系统

[root@localhost ~]# mkfs.xfs /dev/zkr/ky29 
meta-data=/dev/zkr/ky29          isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2621440, 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

 1.4.7  进行挂载

[root@localhost /]# vim  /etc/fstab 
##/dev/zkr/ky29   /data  xfs  defaults   0  0
[root@localhost /]# mount  -a
[root@localhost /]# df  -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G  4.5G   46G    9% /
devtmpfs                 977M     0  977M    0% /dev
tmpfs                    993M     0  993M    0% /dev/shm
tmpfs                    993M  9.1M  984M    1% /run
tmpfs                    993M     0  993M    0% /sys/fs/cgroup
/dev/sr0                 4.3G  4.3G     0  100% /mnt
/dev/sda1                5.0G  161M  4.9G    4% /boot
tmpfs                    199M   12K  199M    1% /run/user/42
tmpfs                    199M     0  199M    0% /run/user/0
/dev/mapper/zkr-ky29      10G   33M   10G    1% /data

1.5  LVM扩容

[root@localhost /]# lvextend    -L  +10G  /dev/zkr/ky29    -r
  Size of logical volume zkr/ky29 changed from 10.00 GiB (2560 extents) to 20.00 GiB (5120 extents).
  Logical volume zkr/ky29 successfully resized.
meta-data=/dev/mapper/zkr-ky29   isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=2621440, 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 2621440 to 5242880
[root@localhost /]# df  -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G  4.5G   46G    9% /
devtmpfs                 977M     0  977M    0% /dev
tmpfs                    993M     0  993M    0% /dev/shm
tmpfs                    993M  9.1M  984M    1% /run
tmpfs                    993M     0  993M    0% /sys/fs/cgroup
/dev/sr0                 4.3G  4.3G     0  100% /mnt
/dev/sda1                5.0G  161M  4.9G    4% /boot
tmpfs                    199M   12K  199M    1% /run/user/42
tmpfs                    199M     0  199M    0% /run/user/0
/dev/mapper/zkr-ky29      20G   33M   20G    1% /data

 -r    表示直接生效,无需刷新

二、磁盘配额

2.1  实现磁盘限额条件

  • 需要Linux内核支持
  • 安装xfsprogs与quota软件

2.2  Linux磁盘限额特点

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

限制对象:用户账户、组账号

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

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

 2.3  命令实现

2.3.1  查看相关软件是否安装

[root@localhost /]# rpm  -q    xfsprogs   quota
xfsprogs-4.5.0-12.el7.x86_64
quota-4.01-14.el7.x86_64

2.3.2  接触相关挂载

[root@localhost ~]# umount  -lf   /dev/zkr/ky29   /data/

2.3.3   以支持配额功能的方式挂载文件系统

[root@localhost ~]# mount  -o  usrquota,grpquota  /dev/zkr/ky29   /data/
[root@localhost ~]# df  -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G  4.5G   46G    9% /
devtmpfs                 977M     0  977M    0% /dev
tmpfs                    993M     0  993M    0% /dev/shm
tmpfs                    993M  9.1M  984M    1% /run
tmpfs                    993M     0  993M    0% /sys/fs/cgroup
/dev/sr0                 4.3G  4.3G     0  100% /mnt
/dev/sda1                5.0G  161M  4.9G    4% /boot
tmpfs                    199M   12K  199M    1% /run/user/42
tmpfs                    199M     0  199M    0% /run/user/0
/dev/mapper/zkr-ky29      20G   33M   20G    1% /data

2.3.4  创建用户

[root@localhost ~]# useradd   zkr
[root@localhost ~]# passwd zkr
更改用户 zkr 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

2.3.5  编辑用户的配额限制.

 2.3.6  测试一下

[zkr@localhost data]$ dd  if=/dev/zero  of=/data/123.txt   bs=10M  count=12
dd: 写入"/data/123.txt" 出错: 超出磁盘限额
记录了11+0 的读入
记录了10+0 的写出
104857600字节(105 MB)已复制,0.189577 秒,553 MB/秒
[zkr@localhost data]$ 
[zkr@localhost data]$ ll -h
总用量 100M
-rw-rw-r--. 1 zkr zkr 100M 5月   8 23:35 123.txt

已超出磁盘限额!

[zkr@localhost data]$ ls
123.txt
[zkr@localhost data]$ rm  -rf  123.txt 
[zkr@localhost data]$ touch  1  2 3 4 5 6
touch: 无法创建"6": 超出磁盘限额
[zkr@localhost data]$ ls
1  2  3  4  5

已超出磁盘限额!

 2.3.7  解除限额

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值