一、LVM概述
Logical Volume Manager,逻辑卷管理
能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性
/boot分区用于存放引导文件,不能基于LM创建
1.1 LVM机制的基本概念
- PV(物理卷)
- VG(卷组)
- LV(逻辑卷)
本质的玩儿法就是管理PE单元
需求:
1、首先定义物理卷(sdb1,分区)
2、将多个物理卷定义为一个卷组(组成一一个整体)
3、按照需求,从卷组中提取PE存储空间来组成逻辑卷(表现形式也是一个设备文件)
二、管理命令
2.1 主要命令
功能 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
---|---|---|---|
Scan扫描 | pvscan | vgscan | lvscan |
Create建立 | pvcreate | vgcreate | lvcreat |
Display显示 | pvdisplay | vgdisplay | lvdisplay |
Remove删除 | pvremove | vgremove | lvremove |
Extend扩展 | —— | vgextend | lvextend |
Reduce减少 | —— | vgreduce | lvreduce |
pvcreate 设备名1 [设备名2 ……]
vgcreate 卷组名 物理卷名1 物理卷名2
Ivcreate -L 容量大小 -n 逻辑卷名 卷组名
Ivextend -L +大小 /dev/卷组名/逻辑卷名
2.2 主要解决的几个问题
硬盘容量的限制:传统的分区方式,将硬盘划分为多个区域,每个区域的大小是固定的,难以灵活地调整和管理LVM通过将硬盘的空间划分为多个逻辑卷组(Volume Group,VG)、逻辑卷(Logical Volume,LV)和物理卷(Physical Volume,PV),可以将多个硬盘空间汇聚起来,实现硬盘空间的动态扩展。
高可用性:LVM支持在多个物理卷之间建立冗余存储(RAID)
提供数据冗余和容错机制,保证数据的安全性和高可用性。
2.3 使用LVM主要原因
灵活性:LVM提供了一种动态分配和管理存储空间的方法,可以动态调整逻辑卷的大小,方便地增加或减少存储容量从而满足应用程序的需要。在实际应用中,如果存储空间的容量不足或者需要扩展容量,使用LVM技术可以很方便地实现。
可靠性:使用LVM技术可以提高数据的可靠性和可用性,可以实现热备份和数据的动态迁移。当某个物理硬盘出现故障时,可以在不停机的情况下进行数据恢复和重建,从而提高了数据的可靠性
管理性:LVM提供了一种管理多个物理硬盘和多个逻辑卷的方式,可以对存储空间进行集中管理和监控,通过LVM的命令和工具可以方便地查看和监控存储空间的使用情况,以及进行性能调优和容错管理。
性能:LVM提供了一种数据块级别的数据读写操作,可以实现高效的数据存储和访问。
此外,LVM还可以利用多个物理硬盘的并行处理能力,提高数据访问的速度和效率。
三、创建LVM步骤
pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 ---创建物理卷
vgcreate xy /dev/sdb1 /dev/sdc1 /dev/sdd1 ---创建VG卷组
vgdisplay test1 ---查看VG卷组的信息
lvcreate -L +10G -n xy03 xy ---创建lv逻辑卷
lvcreate来创建,这里的“-L”是用来指定逻辑卷的空间大小的,
“-n”是用来设置逻辑卷的名称的,这里创建的逻辑卷的名称是“xy03”,最后再跟上卷组的名称即可。
选项:
-L 容量:指定逻辑卷大小,单位为 MB、GB、TB 等;
-l 个数:按照 PE 个数指定逻辑卷大小,这个参数需要换算容量,太麻烦;
-n 逻辑卷名:指定逻辑卷名;
lvdisplay /dev/xy/xy03 ---查看lv逻辑卷的信息
mkfs.xfs /dev/xy/xy03 ---格式化
mount /dev/xy/xy03 /opt/xy03 ---挂载
mapper:逻辑设备到物理设备的映射机制,在该机制下,用户能够很方便的根据自己的需要实现对存储资源的管理
vgextend ky03 /dev/sdd1 #添加新的硬盘到卷组中
3.1 创建EXT4
pvcreate /dev/sdb2 /dev/sdc2 /dev/sdd2 ---创建物理卷
vgcreate nbpl /dev/sdb2 /dev/sdc2 /dev/sdd2 ---创建VG卷组
lvcreate -L 10G -n kpl nbpl
mkfs.ext4 /dev/nbpl/kpl
mount /dev/nbpl/kpl /opt/lpl
四、扩容和缩容
4.1 扩容
lvextend -L +2G /dev/xy/xy03 -r -r加了就不用刷新了,相当与立刻生效
xfs growfs /dev/xy/xy03 --刷新一下
lvdisplay /dev/xy/xy03
4.2 缩减
ext4可以xfs无法缩减,缩减会影响业务。
1、解挂载
2、再挂载回去
[root@localhost/]# lvreduce -L -2G /dev/gege/xiaozhan -r --只有ext4可以缩容
4.3 磁盘配额
1、可以限制指定一个目录所拥有的文件数量
2、限制单一目录下的文件大小上限 ---1MB
4.4 实现磁盘限额的条件
需要Linux内核支持
安装xfsprogs与quota软件包
4.5 Linux磁盘限额的特点
作用范围:针对指定的文件系统(分区)
限制对象:用户账号、组账号
限制类型:磁盘容量、文件数量
限制方法:软限制、硬限制
4.6 具体概述
---以支持配额功能的方式挂载文件系统
---编辑用户和组账号的配额设置
---验证磁盘配额功能
---查看磁盘配额使用情况
4.7 启用磁盘配额支持
添加usrquota、grpquota挂载参数
4.8 实例
[root@localhost ~l# vi /etc/fstab
……//省略部分信息
/dev/mapper/mail_store-mbox /mailbox xfs defaults,usrquota,grpquota 0 0
[root@localhost ~]# mount -o usrquota,grpquota /dev/mail_store/mbox /mailbox/
[root@localhost ~l# mount
……//省略部分信息
/dev/mapper/mail_store-mbox on /mailbox type xfs (rw,relatime,attr2,inode64,usrquota,grpquota)
[root@localhost ~]# chmod 777 /mailbox/
4.9 挂载特殊设备
mount -o[特殊挂载设备,例如镜像名字,视为一个挂载设备相当于/dev]
五、磁盘配额操作思路
1、环境准备
准备一个目录
安装xfsgrops和quota软件
准备一个设备文件挂载点
mount /dev/xy/xy03 /lilei
需要调整挂载配置/etc/fstab 中的配置项 —支持xfsgrops和quota两个功能,并且使用mount -a 刷新生效,让挂载点目录支持磁盘配额的功能
mount -o usrquota,grpquota /dev/sdb1 /data
【挂载】 【支持以上2个功能】 【挂载设备】 【挂载点】
具体使用磁盘配额的命令来做限制
3、切换用户、验证操作
六、磁盘配额实际操作
1、检查是否已安装 xfsprogs 和 xfsquota 软件包
rpm -q xfsprogs quota (检查是否已经安装)
yum install -y xfsprogs quota (没有安装的话使用该命令安装)
[root@localhost ~]# mount -o usrquota,grpquota /dev/sdb1 /data
mount -o loop [特殊挂载设备,例如镜像名字,视为一个挂载设备相当于/dev/cdrom]
2、以支持配额功能的方式挂载文件系统
vim /etc/fstab
/dev/xy/xy03 /lilei xfs defaults,usrquota,grpquota 0 0 #需要重启
3、关闭安全功能:
setenforce 0 ---关闭安全机制
4、创建用户:
[root@192 /]# useradd xinchen
[root@192 /]# passwd xinchen
5、创建好新用户之后,使用下面的命令来编辑用户的配额限制.
其中的“-x”:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用
“-c”:表示直接调用管理命令。
“-u”:指定用户账号对象。
“bsoft”:设置磁盘容量的软限制数值为80M
“bhard”:设置磁盘容量的硬限制数值为100M
“isoft”:设置磁盘文件数的软限制数值为4个
“ihard”:设置磁盘文件数的硬限制数值为5个
限制磁盘:
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M zhangsan' /data
限制文件数:
xfs_quota -x -c 'limit -u isoft=4 ihard=5 zhangsan' /data
也可以写在一块:
[zhangsan@192 data1]$ xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=40 ihard=50 zhangtaotao' /data
满足二选一,磁盘限制满了,也不能创建文件,创建文件限制达到,也不可以再写入内容了
PS:达到软限制时,会有提醒,但还可以使用。
但是,当到达硬限制时,系统会提示用户并且强制终止用户的操作
dd命令是一个设备转换和连续复制命令
“if=” 指定输入设备(或文件)
"of="指定输出设备(或文件)
"bs=" 指定读取数据块的大小
"count=”指定读取数据块的数量
/dev/zero “零"设备文件,可以无限的提供空字符。常用来生成一个特定大小的文件
6、验证配额
chmod 777 /data 给权限
验证:
dd if=/dev/zero of=/data/123.txt bs=10M count=12
[zhangsan@192 data]$ touch {1..50}.txt
取消设置
[root@localhost ~]# xfs_quota -x -c 'disable -up' /data
[root@localhost ~]# xfs_quota -x -c "disable -up" /data/ #取消磁盘配额限制
再次生效需要重新挂载
七、lsof 定义
用法、使用场景、示例
1、查看进程信息
2、系统一打开哪些文件、进程、进程 ---文件
3、进程占用
4、文件、目录、端口号
例如:losf -p【pid】
-u【用户名】用户关联-文件
+D【目录下进程情况】
-i【网络信息,例如端口】
5、root权限下
八、小结
创建物理卷,再以此创建VG卷组,最后建成逻辑卷的方法是来具体运用LVM的方式来进行挂载,以此来实现高效的数据存储和访问的方便快捷。磁盘配额可以限制单一用户所创建的最大文件或者最大文件数,更好的管理其组内的用户