1、逻辑卷LVM
1.1 概述
逻辑卷管理 logical volume manager
- 动态调整磁盘容量,从而提高磁盘管理的灵活性
- /boot分区用于存放引导文件,不能基于LVM创建
- 图形界面管理工具
注意:boot不能用逻辑卷,boot存放的是开机启动文件,是虚拟的。
1.2 基本概念
- PV : Physical volume 物理卷
- VG : volume group 卷组
- LV : Logical Volume 逻辑卷
lvm 分区(必须是8e) 一整块磁盘
#物理卷:
1.先确定可以使用的 磁盘 或者分区
2.将硬盘拆分成一个个的小块(块的大小一般默认4M)
#卷组:
3.然后将这些块 组成一个集合
#逻辑卷:
4.从卷组集合中取块(取空间)
// 做物理卷时,可以全是分区,或者全是磁盘,也可以部分 分区或者部分磁盘。
1.3 命令
1.3.1 所有命令
下列高亮加粗的命令 比较重要。
| 功能 | pv 物理卷 | vg 卷组 | lv 逻辑卷 |
|---|---|---|---|
| scan 扫描 | pvscan | vgscan | lvscan |
| create 建立 | pvcreate | vgcreate | lvcreate |
| display 显示 | pvdisplay | vgdisplay | lvdisplay |
| remove 删除 | pvremove | vgremove | lvremove |
| extend 扩展 | —— | vgextend | lvextend |
| reduce 减少 | —— | vgreduce | lvreduce |
// reduce 减少,也就是缩容,有很大风险,很有可能会丢失数据,慎用!
1.3.2 主要命令
pvcreate 设备名1 设备名2 #设备名就是sdb1、sdc2这些,注意如果使用整块磁盘的话,整块磁盘中不能有分区。
vgcreate 卷组名 物理卷名1 物理卷名2 # 卷组名 就是统一的名称,比如蔡徐坤cxk。物理卷名1 物理卷名2 就是对应上面的设备名1 设备名2。
lvcreate -L 容量大小 -n 逻辑卷名 卷组名 #-L 是容量大小,逻辑卷名是自己取的,卷组名可以是cxk等。
lvextend -L +大小 /dev/卷组名/逻辑卷名
#注意:lvextend 中的 +一定不能少,例如+5G就是在原基础上增加5G;如果只写5G,那就是把容量变成5G,就达不到扩容的效果,甚至还会变相缩容!!!
lvcreate选项:
| 选项 | 功能描述 |
|---|---|
| -l | 块的个数 |
| -L | 容量大小,一般用这个,也就是5G、10G这些 |
| -n | 给逻辑卷取个名字 |
1.4 建立逻辑卷 create
-
第一步:先加硬盘,多加几块
-
第二步:物理卷
-
第三步:卷组
-
第四步:逻辑卷
// 逻辑卷的名称有两个:一个是/dev/mapper/cxk-luoji
另一个是/dev/cxk/luoji
pvcreate /dev/sdd2 /dev/sde
vgcreate cxk /dev/sdd2 /dev/sde
lvcreate -L +10G -n luoji cxk
## 以上操作相当于分区!
#格式化
mkfs.xfs /dev/mapper/cxk-luoji
mkfs.xfs /dev/cxk/luoji
#永久挂载:
/dev/cxk/luoji /mnt xfs defaults
保存后,可以用mount -a查询一下,永久挂载有没有问题。
//上面的步骤相当于分区,
-
第五步 格式化 mkfs
-
第六步 挂载 mount
如何查看逻辑卷:lvdisplay
1.5 扩容 extend
扩容的两种情况:
- 卷组中的空间 足够扩容
- 卷组中的空间 不足够扩容,下面重点介绍第二种情况。
1.5.1 先扩容卷组
vgextend:
vgextend cxk /dev/sdf 将sdf硬盘扩容到cxk卷组
1.5.2 再扩容逻辑卷
lvextend:
lvextend -L +10G /dev/cxk/luoji -r
# 加-r的话,就不需要下一步同步文件系统了,
## 但是如果忘了加-r ,就必须按照下面的xfs_growfs或者resize2fs进行操作,
### 如果再重敲命令补救的话,会造成重复扩容!!!
注意!再次强调:是+10G ,如果不加符号,写10G 就是容量等于10G
1.5.3 同步文件系统
注意:扩容一定不能格式化,格式化会把之前的文件清空。
#xfs:
xfs_growfs
#ext4:
resize2fs
#两者都可扩容
-r #在lvextend命令后面加个-r
100%free :是把剩余空间全使用。
1.6 正规缩容:
ext4可以 xfs无法缩减,缩减会影响业务。
1.解挂载
2.检查文件系统完整性
3.缩减文件系统
4.缩减逻辑卷上下一致
5.再挂载回去
// 但是不建议缩容,因为缩容有风险。
小扩展:
怎么删除逻辑卷?
先删除逻辑卷lvremove、再删除卷组vgremove,物理卷可以不用删。
2、磁盘配额
磁盘配额(Quota)就是 Linux 系统中用来限制特定的普通用户或用户组在指定的分区上占用的磁盘空间或文件个数的。
2.1 概述
- 限制类型:通过磁盘容量(大小)、文件数量(个数)来控制
- 限制对象:用户账号、组账号。
- 限制方法:软限制、硬限制。软限制就是超过限制之后,还可以用,但是会提醒你;硬限制就是多少就是多少,不能超出。
2.2 使用条件
磁盘配额要想正常使用,有以下几个前提条件:
- 内核必须支持磁盘配额。
- 系统中必须安装了 Quota 工具。我们的 Linux 中默认安装了 Quoted 工具
- 要支持磁盘配额的分区必须开启磁盘配额功能。这项功能可以手动开启,不再是默认开启的
// 用户磁盘配额:userquota 、 用户组磁盘配额:grpquota
永久挂载:
[root@localhost opt]# vim /etc/fstab #打开挂载配置文件,永久挂载有两种方法:
1、/dev/sdb1 /mnt xfs defaults 0 0
2、UUID=2a1e1ac7-7462-4fc3-b644-43813660276f /sdb1 xfs defaults 0 0
~ #建议使用uuid,这个是唯一的,不会出错!
#上面两种方法 内容拆分:
第1部分:设备名:uuid(用blkid查询)
第2部分:挂载点
第3部分:分区类型(xfs)
第4部分:权限(可以加选项 用 , 隔开):defaults,userquota,grpquota
第5和6部分:默认0就行
// 永久挂载设置完毕,用mount -a命令,可以检测设置有没有问题。
| 选项 | 功能描述 |
|---|---|
| -x | 启动专家模式,在专家模式下才能使用磁盘配额 |
| -c | 创建 ,直接调用管理命令 |
| -u | 指定用户,比如lisi |
| -g | 指定组账号对象 |
| limit | 限制 的意思,限制lisi的容量大小和个数。 |
xfs_quota 启用磁盘配额
#软、硬限制
bsoft: b是block块,软限制
bhard: 硬限制
bsoft=80M bhard=100M,意思就是能超过80M,但不能超过100M
isoft=80 ihard=100,# i是inode号,这个是为了限制文件数量,文件数量和inode号有关。
#创建lisi 用户
useradd lisi
xfs_quota -x -c "disable -up" /data/
#暂时取消
xfs_quota -x -c 'enable ' /data/
#重新开启
xfs_quota -x -c "off -up" /data/
#需要重新挂载,完全关闭之后就不能再通过enable方式启动了,必须执行:umount /data;mount -a 重新激活quota功能
xfs_quota -x -c "remove -p" /data/
#移除设置 需要在off状态下
查看配额使用情况
#查看所有可用分区的磁盘容量配额使用情况
xfs_ quota - x -c ' report -abih'