知识结构:node
LVM概述bash
LVM的管理命令服务器
LVM的应用实例微信
磁盘配额概述app
磁盘配额管理ide
(一)LVM概述工具
逻辑卷管理(Logical Volume Manager)测试
动态调整磁盘容量,从而提升磁盘管理的灵活性spa
/boot分区用于存放引导文件,不能基于LVM建立操作系统
图形界面管理工具——sysytem-config-lvm
LVM机制的基本概念
PV(物理卷)
VG(卷组)
LV(逻辑卷)
物理卷是 LVM 机制的基本存储设备,一般对应为一个普通分区或整个硬盘。建立物理卷时,会在分区或硬盘的头部建立一个保留区块,用于记录 LVM 的属性,并把存储空间分割成默认大小为 4MB 的基本单元(Physical Extent,PE),从而构成物理卷,物理卷通常直接使用设备文件名称,如/dev/sdb一、/dev/sdb二、/dev/sdd 等。对用于转换成物理卷的普通分区,建议先使用 fdisk 工具将分区类型的 ID 标记号改成“8e”。如果整块硬盘,能够将全部磁盘空间划分为一个主分区后再作相应调整。
卷组由一个或多个物理卷组成一个总体,即称为卷组,在卷组中能够动态地添加或移除物理卷,许多个物理卷能够分别组成不一样的卷组,卷组的名称由用户自行定义。
逻辑卷创建在卷组之上,与物理卷没有直接关系。对于逻辑卷来讲,每个卷组就是一 个总体,从这个总体中“切出”一小块空间,做为用户建立文件系统的基础,这一小块空间 就称为逻辑卷使用 mkfs 等工具在逻辑卷上建立文件系统之后,就能够挂 载到 Linux 操做系统中的目录下使用。
创建 LVM 分区管理机制的过程以下: 首先,将普通分区或整个硬盘建立为物理卷;而后,将物理上比较分散的各物理卷的存储 空间组成一个逻辑总体,即卷组;最后,基于卷组这个总体,分割出不一样的数据存储空 间,造成逻辑卷。逻辑卷才是最终用户能够格式化并挂载使用的存储单位。
(二)LVM的管理命令
主要命令
功能 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
Scan扫描 |
pvscan | vgscan | lvscan |
Create创建 | pvcreate | vgcreate | lvcreate |
Display显示 | pvdisplay | vgdisplay | lvdisplay |
Remove删除 | pvremove | vgremove | lvremove |
Extend扩展 | —— | vgextend | lvextend |
Reduce减小 | —— | vgreduce | lvreduce |
pvcreate 设备名1 [设备名2 .. ..] vgcreate 卷组名 物理卷名1 物理卷名2 lvcreate -L 容量大小 -n 逻辑卷名 卷组名 lvextend -L +大小 /dev/卷组名/逻辑卷名
(三)LVM的应用实例
案例环境
公司准备在Internet中搭建邮件服务器(Centos7.3系统平台),面向全国各地的员工及部分VIP客户提供电子邮箱空间
需求描述
因为用户数量众多,邮件存储须要大量的空间,考虑到动态扩容的须要,计划增长两块SCSI硬盘并构建LVM逻辑卷(挂载到“/mailbox”目录下)专门用于存放邮件数据
实验步骤
(1)关闭服务器主机,打开机箱,正确挂接两块 SCSI 新硬盘。
(2)开启服务器主机,并执行“fdisk -l”命令进行检查,确认已识别新增的硬盘(sdb、 sdc)。
(3)在新磁盘中进行分区,将每块硬盘的全部空间划分为一个独立的主分区,并将分区 类型更改成“8e”。完成分区后使用“fdisk -l”命令查看。
[root@localhost ~]#fdisk -l /dev/sdb /dev/sdc
(4)将/dev/sdb1 和/dev/sdc1 分区转换为物理卷
[root@localhost ~]# pvcreate /dev/sdb1 /dev/sdc1
(5)建立卷组mail_store
[root@localhost ~]# vgcreate mail_store /dev/sdb1 /dev/sdc1
(6)建立逻辑卷-在 mail_store 卷组中建立一个名为 mbox 的逻辑卷,容量设置为 30GB
[root@localhost ~]# lvcreate -L +30G -n mbox mail_store
(7)格式化为xfs文件系统,并挂载到/mailbox目录
[root@localhost ~]# mkfs.xfs /dev/mail_store/mbox 格式化 ... [root@localhost ~]# mkdir /mailbox 建立挂载点目录 [root@localhost ~]# mount /dev/mail_store/mbox /mailbox/ 挂载 [root@localhost ~]# df -hT /mailbox 查看磁盘信息
(四)磁盘配额概述
实现磁盘限额的条件
须要Linux内核支持
安装xfsprogs与quota软件包
Linux磁盘配额的特色
做用范围:针对指定的文件系统(分区)
限制对象:用户帐号,组帐号
限制类型:磁盘容量,文件数量
磁盘容量:限制用户可以使用的磁盘数据块(Block)大小,也就是限制磁盘空间大小,默认单位为 KB。
文件数量:限制用户可以拥有的文件个数。在 Linux 操做系统中,每个文件都有一个对应的数字标记,称为 i 结点(Inode)编号,这个编号在同一个文件系统内是惟一的,所以 xfs_quota 经过限制 i 结点的数量来实现对文件数量的限制。
限制方法:软限制,硬限制
软限制:指定一个软性的配额数值(如 480MB 磁盘空间、180 个文件),在固定的宽限期(默认为七天)内容许暂时超过这个限制,但系统会给出警告信息。
硬限制:指定一个硬性的配额数值(如 500MB 磁盘空间、200 个文件),是绝对禁止用户超过的限制值,当达到硬限制值时,系统也会给出警告并禁止继续写入数据。硬限制的配额值应大于相应的软限制值,不然软限制将失效。
(五)磁盘配额管理
把以前建立的 mbox 逻辑卷/dev/mail_store/mbox 挂载到/mailbox 目录下,而后 在该文件系统中进行配置,以实现磁盘配额功能。
1,以支持配额功能的方式挂载文件系统
[root@localhost ~]# umount /mailbox/ [root@localhost ~]# mount -o usrquota,grpquota /dev/mail_store/mbox /mailbox/ [root@localhost ~]# mount | grep "mail_store" /dev/mapper/mail_store-mbox on /mailbox type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota) [root@localhost ~]# chmod 777 /mailbox/
若须要在每次开机后自动以支持配额功能的方式挂载该分区, 能够将 “usrquota,grpquota”挂载参数写入“/etc/fstab”文件中。
2,编辑用户和组帐号的配额设置
使用xfs_quota命令编辑配额设置
xfs_quota -x -c 'limit -u bsoft=N bhard=N isoft=N ihard=N 用户名' 挂载点
结合“limit”命令能够设置磁盘容量,以及文件数的软、 硬限制数值。
经常使用选项
-u:指定用户配额设置
-g:指定用户组配额设置
-x:启动专家模式
-c:直接调用管理命令
限制字段
bsoft:设置磁盘容量的软限制数值
bhard:设置磁盘容量的硬限制数值
isoft:设置磁盘文件数的软限制数值
ihard:设置磁盘文件的硬限制数值
3,验证磁盘配额功能
切换到设置配额的分区(挂载分区)
建立指定数量的文件:使用touch命令,或cp命令
建立指定容量的文件:使用dd命令,或cp命令
实验:设置zhangsan用户软限制10M硬限制容量30M,文件数量软限制4硬限制6
1)测试超过文件数量和文件容量是是否能够被写入
[root@localhost ~]# xfs_quota -x -c 'limit -u bsoft=10M bhard=30M isoft=4 ihard=6 zhangsan' /mailbox/ 设置配额 [root@localhost ~]# su - zhangsan 切换到zhangsan用户 [zhangsan@localhost ~]$ cd /mailbox/ 切换到/mailbox目录 [zhangsan@localhost mailbox]$ touch demo{1..5}.txt 建立五个文件 [zhangsan@localhost mailbox]$ ls demo1.txt demo2.txt demo3.txt demo4.txt demo5.txt [zhangsan@localhost mailbox]$ touch demo6.txt 建立第六个文件 [zhangsan@localhost mailbox]$ touch demo7.txt 建立第七个文件失败 touch: 没法建立"demo7.txt": 超出磁盘限额
[zhangsan@localhost mailbox]$ dd if=/dev/zero of=/mailbox/demo1.txt bs=1M count=20 从/dev/zero复制20M数据到demo1.txt中 记录了20+0 的读入 记录了20+0 的写出 20971520字节(21 MB)已复制,0.0824487 秒,254 MB/秒 [zhangsan@localhost mailbox]$ ll 总用量 20480 -rw-rw-r--. 1 zhangsan zhangsan 20971520 8月 20 18:54 demo1.txt [zhangsan@localhost mailbox]$ dd if=/dev/zero of=/mailbox/demo2.txt bs=1M count=20 在复制20M到demo2.txt中超出限额因此只复制10M dd: 写入"/mailbox/demo2.txt" 出错: 超出磁盘限额 记录了11+0 的读入 记录了10+0 的写出 10485760字节(10 MB)已复制,0.059165 秒,177 MB/秒 [zhangsan@localhost mailbox]$ touch demo3.txt 再建立新的文件也显示超额 touch: 没法建立"demo3.txt": 超出磁盘限额
结论:超额设置只要一条知足了超额另外一个条件就没法执行
2)设置用户的磁盘配额后可以使用“xfs_quota -c 'quota -uv zhangsan' /mailbox/“命 令查看用户 zhangsan 的磁盘容量限制。结果输出后”Quota”字段对应的是软限制,“Limit” 字段对应的是硬限制
[root@localhost ~]# xfs_quota -x -c 'quota -uv zhangsan' /mailbox/
3)结合”-i“选项能够查看 zhangsan 用户的磁盘文件数限制
[root@localhost ~]# xfs_quota -x -c 'quota -i -uv zhangsan' /mailbox/
4,查看配额使用状况
xfs_quota -x -c 'report 选项' 挂载点
report经常使用选项
-a:能够查看全部可用分区的配额使用状况
-i:查看磁盘容量
-b:文件输出报告
-u:指定帐号
-g:指定组
[zhangsan@localhost mailbox]$ su - root 切换回root 密码: 上一次登陆:二 8月 20 18:23:57 CST 2019从 192.168.109.10pts/1 上 [root@localhost ~]# xfs_quota -x -c 'report -abi' 查看配额的使用状况
总结:
如何使用逻辑卷建立逻辑卷,限制磁盘配额和管理也是Linux中不可或缺的技能
谢谢阅读!!!