LVM与磁盘配额

文章目录

  • 一.LVM概述
    • 1.优点
    • 2.实现过程
    • 3.LVM机制的基本概念
    • 4.主要命令
    • 5.实验步骤
  • 二.磁盘配置
    • 1.实现磁盘限额的条件
    • 2.作用范围:针对指定的文件系统(分区)
    • 3.操作过程
  • 总结

一.LVM概述

Logical Volume Manager,逻辑卷管理

1.优点

1.能够在保持现有数据不变的情况下
2.动态调整磁盘容量,
3.提高磁盘管理的灵活性
/boot分区用于存放引导文件,不能基于LVM创建

2.实现过程

将硬件设备指定为物理卷
用一个或者多个物理卷来创建一个卷组,
物理卷是用固定大小的物理区域(Physical Extent, PE
)来定义的,一个PE默认4M
在物理卷上创建的逻辑卷,是由物理区域(PE)组成
可以在逻辑卷上创建文件系统并挂载

3.LVM机制的基本概念

PV(物理卷)
物理卷是LVM机制的基木存储设备,通常对应为-一个普通分区或整个硬盘。创建物理春时,
会在分区或硬盘的头部创建一个保留区块,用于记录LVM的属性,
并把存储空间分割成默认大小为4MB的基本单元(PhysicalExtent,PE),从而构成物理卷。
VG (卷组)
由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷
LV(逻辑卷)
逻辑卷建立在卷组之上,与物理卷没有直接关系,
对于逻辑春来说,每一个卷组就是一个整体,从这个整体中切出"一小块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷。使用mkfs等工具在逻辑卷上创建文件系统

4.主要命令

功能 物理卷管理 卷组管理 逻辑卷管理
Scan扫描 pvcan vgscan lvscan
Create建立 pvcreate vgcreate lvcreate
Display显示 pvdisplay vgdisplay lvdiplay
Remove删除 pvremove vgremove lvremove
Extend扩展 vgextend lvextend
Reduce 减少 vgreduce lvreduce

5.实验步骤

1.添加2块硬盘并识别硬盘echo
2.使用fdisk工具进行分区,如果是分区 改8e
3创建物理卷
pvcreate 硬件设备…

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

4,创建卷组
vgcreate 卷组名 物理卷

[root@localhost ~]# vgcreate  zpq  /dev/sdb1 /dev/sdc 
  Volume group "zpq" successfully created

5创建逻辑卷
lvcreate -L 指定大小 -n 逻辑卷名,卷组名
或者
lvcreate -n 逻辑卷名 -L 指定大小 卷组名

[root@localhost ~]# lvcreate -n zpq1 -L 10G zpq
  Logical volume "zpq1" created.

6用mkfs格式化硬盘并挂载
mkfs -t xfs /dev/vgnamel/lvname1
mount /dev/vgnamel/lvnamel /opt目录下
df-Th

[root@localhost ~]# mkfs -t xfs /dev/zpq/zpq1
meta-data=/dev/zpq/zpq1          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
[root@localhost ~]# mount /dev/zpq/zpq1 /opt
[root@localhost ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        50G  3.5G   47G    7% /
devtmpfs                devtmpfs  897M     0  897M    0% /dev
tmpfs                   tmpfs     912M     0  912M    0% /dev/shm
tmpfs                   tmpfs     912M  9.1M  903M    1% /run
tmpfs                   tmpfs     912M     0  912M    0% /sys/fs/cgroup
/dev/sda1               xfs        24G  179M   24G    1% /boot
/dev/mapper/centos-home xfs        20G   33M   20G    1% /home
/dev/mapper/centos-var  xfs       2.0G  1.5G  537M   74% /var
tmpfs                   tmpfs     183M   12K  183M    1% /run/user/42
tmpfs                   tmpfs     183M     0  183M    0% /run/user/0
/dev/mapper/zpq-zpq1    xfs        10G   33M   10G    1% /opt


7.再扩容
pvcreat /dev/sdb2

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

vgextend vgname1 /dev/sdb2

[root@localhost ~]# vgextend zpq /dev/sdb2
  Volume group "zpq" successfully extended

lvextend -L +10G /dev/vgname1/ lvname1

[root@localhost ~]# lvextend -L +5G /dev/zpq/zpq1
  Size of logical volume zpq/zpq1 changed from 10.00 GiB (2560 extents) to 15.00 GiB (3840 extents).
  Logical volume zpq/zpq1 successfully resized.

xfs_growfs /dev/vgname1/ lvname1 //刷新xfs文件系统容量

[root@localhost ~]# xfs_growfs /dev/zpq/zpq1
meta-data=/dev/mapper/zpq-zpq1   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 3932160

resize2fs /dev/vgname1/ lvname1 //刷新ext4类型文件系统容量
检测是否扩展成功

[root@localhost ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        50G  3.5G   47G    7% /
devtmpfs                devtmpfs  897M     0  897M    0% /dev
tmpfs                   tmpfs     912M     0  912M    0% /dev/shm
tmpfs                   tmpfs     912M  9.1M  903M    1% /run
tmpfs                   tmpfs     912M     0  912M    0% /sys/fs/cgroup
/dev/sda1               xfs        24G  179M   24G    1% /boot
/dev/mapper/centos-var  xfs       2.0G  1.5G  536M   74% /var
/dev/mapper/centos-home xfs        20G   33M   20G    1% /home
tmpfs                   tmpfs     183M   12K  183M    1% /run/user/42
tmpfs                   tmpfs     183M     0  183M    0% /run/user/0
/dev/mapper/zpq-zpq1    xfs        15G   33M   15G    1% /opt

创建LVM流程
pvcreate创建pv->vgcreate创建卷组->lvcreate创建逻辑卷->mkfs.xfs1v格式化->mount挂载
删除LVM流程
umount 卸载→ lvremove lv 移出卷组中所有逻辑卷→vgremove vg 移出卷组→ pvremove 移出pv

二.磁盘配置

1.实现磁盘限额的条件

需要Linux内核支持
安装xfsprogs与quota软件包
Linux磁盘限额的特点

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

限制对象:用户帐号、组帐号
限制类型:磁盘容量、文件数量
限制方法:软限制、硬限制

3.操作过程

1.检查是否已安装xfsprogs和xfs_quota软件包
arpm -q xfsprogs quota
yum install -y xfsprogs quota
2、以支持配额功能的方式挂载文件系统
umount /dev/ vgname1/ lvname1 或者umount 路径
mount -o usrquota, grpquota /dev/vgname1/lvname1 /opt
#添加挂载参数"usrquota,grpquota"用于增加对用户、组配额功能的支持

[root@localhost ~]# umont /dev/mapper/zpq-zpq1
[root@localhost ~]# mount -o usrquota,grpquota /dev/zpq/zpq1 /opt

或者
-vim/etc/ fstab
/dev/vgname1/ lvname1/ xfs optdefaults, usrquota, grpquotaxfs 0 0
mount -a #-a选项,将/etc/fstab的所有内容重新加载
3、编辑用户和组账号的配额设置
useradd zpq
passwd zpq
xfs_quota -x -c ‘limit -u bsoft=80M bhard=100M isoft=40 ihard=50 zpq’ /opt/

[root@localhost ~]# xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=40 ihard=50 zpq' /opt

-x:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用。
-c:表示直接调用管理命令。
-u:指定用户账号对象
-g:指定组账号对象
bsoft:设置磁盘容量的软限制数值(默认单位为KB)。
bhard:设置磁盘容量的硬限制数值(默认单位为KB)。
isoft:设置磁盘文件数的软限制数值。
ihard:设置磁盘文件数的硬限制数值。

查看xfs_quota -x -c "report -aibh“

[root@localhost ~]# xfs_quota -x -c "report -abih"
User quota on /opt (/dev/mapper/zpq-zpq1)
                        Blocks                            Inodes              
User ID      Used   Soft   Hard Warn/Grace     Used   Soft   Hard Warn/Grace  
---------- --------------------------------- --------------------------------- 
root            0      0      0  00 [------]      3      0      0  00 [------]
zpq             0    80M   100M  00 [------]      0     40     50  00 [------]

Group quota on /opt (/dev/mapper/zpq-zpq1)
                        Blocks                            Inodes              
Group ID     Used   Soft   Hard Warn/Grace     Used   Soft   Hard Warn/Grace  
---------- --------------------------------- --------------------------------- 
root            0      0      0  00 [------]      3      0      0  00 [------]

4、验证磁盘配额功能
chmod 777 /opt
5测试
dd if=/dev/zero of=/data/bigfile.img bs=100M count=2
复制 从哪复制 复制到哪里 一次复制大小 复制次数

[zpq@localhost /]$ dd if=/dev/zero of=/opt/z1y.txt bs=70M count=4
dd: 写入"/opt/z1y.txt" 出错: 超出磁盘限额
记录了2+0 的读入
记录了1+0 的写出
104857600字节(105 MB)已复制,0.543191 秒,193 MB/秒

总结

PE最小默认单位4M 所以利用率高
物理卷 pvcreat 分区/硬盘
卷组 vgcreat 卷组名 分区/硬盘
逻辑卷 lvcreat -n 名字 -L ?G 卷组名
格式化mkfs.xfs
挂载
扩容
先查看物理卷是否充足,卷组是否充足,如现实情况充足可不扩容
pvcreat
vgextend 卷组名 设备
lvextend -L +?G /dev/卷组/逻辑卷
xfs_growfs /dev/卷组/逻辑卷

磁盘限额
xfs_quota -x -c ‘limit -u bsoft=80M bhard=100M isoft=40 ihard=50 zpq’ /opt/
重复建造一个文件dd if=/dev/zero of=/data/bigfile.img bs=100M count=2
查看xfs_quota -x -c "report -aibh“

你可能感兴趣的:(linux基础,区块链,linux)