linux逻辑卷和磁盘配额

目录

 

一、逻辑卷的概述

1、物理卷

2、卷组

3、逻辑卷

二、创建管理逻辑卷

1、创建物理卷

2、创建卷组和增加卷组容量

3、创建逻辑卷和扩充逻辑卷

三、磁盘配额管理

1、磁盘配额的概述

2、磁盘配额的实例


一、逻辑卷的概述

1、物理卷

指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

2、卷组

是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个逻辑卷。

3、逻辑卷

类似于非LVM系统中的硬盘分区,它建立在卷组之上,是一个标准的块设备,在逻辑卷之上可以建立文件系统。

总结

可以做这样一个设想来理解以上三者的关系:如果把PV比作地球的一个板块,VG则是一个地球,因为地球是由多个板块组成的,那么在地球上划分一个区域并标记为亚洲,则亚洲就相当于一个LV。

二、创建管理逻辑卷

1、创建物理卷

创建物理卷命令:pvcreate     分区名或设备名

具体步骤

1、给系统添加一块硬盘

2、给让系统识别到硬盘

3、给添加的硬盘进行分区

4、将分区好的硬盘改为逻辑卷属性

5、最后将分区或整块硬盘创建物理卷

案例演示

1.给让系统识别到硬盘

[root@localhost ~]# echo "- - -"> /sys/class/scsi_host/host0/scan
[root@localhost ~]# echo "- - -"> /sys/class/scsi_host/host1/scan
[root@localhost ~]# echo "- - -"> /sys/class/scsi_host/host2/scan
 

2、给添加的硬盘进行分区和改成逻辑卷属性

[root@localhost ~]# fdisk /dev/sdb        进入 /dev/sdb 磁盘

命令(输入 m 获取帮助):p                    显示出硬盘分区信息

磁盘 /dev/sdb:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

命令(输入 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-83886079,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-83886079,默认为 83886079):+15G  设置分区为15G
分区 1 已设置为 Linux 类型,大小设为 15 GiB

命令(输入 m 获取帮助):t                 修改分区属性
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e        修改成逻辑卷
已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):p               查看是否修改成功

磁盘 /dev/sdb:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xdc143bb4

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    31459327    15728640   8e  Linux LVM

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

Calling ioctl() to re-read partition table.
正在同步磁盘。

3、最后将分区或整块硬盘创建物理卷

[root@localhost ~]# pvcreate /dev/sdb1                     创建物理卷
  Physical volume "/dev/sdb1" successfully created.

2、创建卷组和增加卷组容量

创建卷组命令:vgcreate     起的卷组名      物理卷名 (就是上方的设备名)

增加卷组命令   vgextend     卷组名            物理卷名   (同上)

步骤

将物理卷变成卷组

[root@localhost ~]# vgcreate vg1  /dev/sdb1       创建卷组
  Volume group "vg1" successfully created

(2)给卷组扩容

1、将剩下的磁盘空间改成逻辑卷属性

[root@localhost ~]# fdisk /dev/sdb          进入/dev/sdb
命令(输入 m 获取帮助):p          显示分区信息
命令(输入 m 获取帮助):n          创建一个新分区

Select (default p): 
Using default response p
分区号 (2-4,默认 2):
起始 扇区 (31459328-83886079,默认为 31459328):
将使用默认值 31459328

Last 扇区, +扇区 or +size{K,M,G} (31459328-83886079,默认为 83886079):+20G 
分区 2 已设置为 Linux 类型,大小设为 20 GiB

命令(输入 m 获取帮助):t                 修改分区属性
分区号 (1,2,默认 2):2                 选择要修改的分区               
Hex 代码(输入 L 列出所有代码):8e         修改属性
已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):p             查看属性是否成功

磁盘 /dev/sdb:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xdc143bb4

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    31459327    15728640   8e  Linux LVM
/dev/sdb2        31459328    73402367    20971520   8e  Linux LVM

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

Calling ioctl() to re-read partition table.

2、将逻辑卷变成物理卷

[root@localhost ~]# partprobe          刷新分区列表

[root@localhost ~]# pvcreate /dev/sdb2              创建物理卷
  Physical volume "/dev/sdb2" successfully created.

[root@localhost ~]# vgextend vg1 /dev/sdb2   将物理卷加到卷组vg1
  Volume group "vg1" successfully extended

3、创建逻辑卷和增加逻辑卷

创建逻辑卷命令:lvcreate  -L  需要的大小   -n  逻辑卷名    卷组名

增加逻辑卷命令:lvextend  -L  +容量     /dev/卷组名/逻辑卷名

步骤

1、将卷组划出一部分为逻辑卷

[root@localhost ~]# lvcreate -L 10G -n lv1 vg1   从vg1卷组中取出10G给逻辑卷lv1
  Logical volume "lv1" created.

2、给创建好的逻辑卷新建文件系统

[root@localhost ~]# mkfs.xfs /dev/vg1/lv1    给逻辑卷创建文件系统
meta-data=/dev/vg1/lv1           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

3、将逻辑卷挂载到/mnt/目录

(1)查询逻辑卷的uuid号

(2) 编辑永久挂载

[root@localhost ~]# vim /etc/fstab          进入配置文件

[root@localhost ~]# mount -a     验证挂载情况

 

 给逻辑卷扩容

[root@localhost ~]# lvextend -L +20G /dev/vg1/lv1     给逻辑卷增加20G
  Size of logical volume vg1/lv1 changed from 10.00 GiB (2560 extents) to 30.00 GiB (7680 extents).
  Logical volume vg1/lv1 successfully resized.
[root@localhost ~]# xfs_growfs /mnt/                   给加的20G挂载到目录
meta-data=/dev/mapper/vg1-lv1    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

三、磁盘配额管理

1、磁盘配额的概述

(1)实现磁盘限额的条件

1、需要linux内核的支持   (cenos 6、7的内核都支持)

2、安装xfsprogs和quota软件包 (非最小化安装一般都具备)

(2)磁盘配额的特点

1、作用范围

针对指定的文件系统

2、限制对象

用户账号、组账号

3、限制方法

软限制:软限制其实是一个黄线,超过了软限制的数量,就会触发告警

硬限制:硬限制是一个红线,绝对不允许超过

2、磁盘配额的实例

对挂载目录/mnt 进行限制

具体步骤

1、查看是否安装软件包

2、解挂原先的分区

3、挂载目录时带上组和用户的参数

4、设置配额命令实现磁盘配额

5、修改文件夹的权限

6、切换用户进行验证

(1)解挂原先的分区

[root@localhost ~]# rpm -q xfsprogs quota   验证是否安装软件包
xfsprogs-4.5.0-12.el7.x86_64
quota-4.01-14.el7.x86_64

(2)解挂原先的分区

[root@localhost ~]# umount /mnt     解挂载
[root@localhost ~]# df              查看是否解挂
文件系统                   1K-块    已用     可用 已用% 挂载点
/dev/mapper/centos-root 19523584 4972112 14551472   26% /
devtmpfs                 1916740       0  1916740    0% /dev
tmpfs                    1932652       0  1932652    0% /dev/shm
tmpfs                    1932652   17420  1915232    1% /run
tmpfs                    1932652       0  1932652    0% /sys/fs/cgroup
/dev/sda1                 972452  182352   790100   19% /boot
tmpfs                     386532      44   386488    1% /run/user/0
/dev/sr0                 4414592 4414592        0  100% /run/media/root/CentOS 7 x86_64

(3)挂载目录时带上组和用户的参数

[root@localhost ~]# mount -o usrquota,grpquota /dev/vg1/lv1 /mnt    添加磁盘配额属性

(4)设置配额命令实现磁盘配额


[root@localhost ~]# xfs_quota -x -c 'limit -u bsoft=100M bhard=150M isoft=50 ihard=100 zs ' /mnt    对用户zs进行磁盘配额

(5)修改文件夹的权限

[root@localhost ~]# chown -R 777 /mnt     修改/mnt/目录的权限

(6)切换用户进行验证

[root@localhost ~]# su zs    切换用户zs
[zs@localhost root]$ dd if=/dev/zero of=/mnt/bigfile bs=100M count=3  给文件夹入容量
dd: 写入"/mnt/bigfile" 出错: 超出磁盘限额
记录了2+0 的读入
记录了1+0 的写出

[zs@localhost mnt]$ touch {1..150}.txt     进入到mnt目录下创建150个文件
touch: 无法创建"1.txt": 超出磁盘限额
touch: 无法创建"2.txt": 超出磁盘限额
touch: 无法创建"3.txt": 超出磁盘限额
touch: 无法创建"4.txt": 超出磁盘限额
touch: 无法创建"5.txt": 超出磁盘限额
touch: 无法创建"6.txt": 超出磁盘限额

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值