lvm 全称logical volum manager
就是逻辑卷管理系统
对硬盘分区进行管理,管理大存储设备
逻辑:虚拟的概念--->实际的物理空间来提供支持的,超出了一般分区的概念
可以把多个硬盘合并成一个逻辑上的分区
再把这个逻辑分区分成一个个的逻辑卷
dev sdb
sdc
sdd
sde
特点:动态括缩容,快速创建,方便管理的分区,不用再考虑底层硬件
1、可以对分区的大小进行动态管理
2、高可用,lvm支持冗余功能
注意:/boot(引导)分区用于存放引导文件,不能基于lvm创建
lvm的主要作用 就是可以在数据不变的情况下动态调整磁盘容量,从而提高磁盘的灵活性
lvm机制的基本概念
LVM创建步骤--先进行硬盘分区--物理卷PV--卷组VG--逻辑卷LV(卷组名,逻辑卷名,挂载目录/opt/test
具体解释:
物理卷PV:就是真正的物理硬盘和分区
卷组VG:将多个物理卷组合起来就是卷组
卷组就是一个逻辑硬盘
pe(物理扩展):他是逻辑卷的最小存储单元,每一个pe就是最小的一个逻辑卷。pe的大小可以设置的,默认:4M
逻辑卷LV:多个PE组成了逻辑卷,硬盘必须分区之后使用,逻辑卷也可以被格式化,写入数据
逻辑卷就是对逻辑硬盘进行分区
sdb sdb1
sdb1 sdc1 sdd1 sde1
sdb2
sdb3
sdb4
lvm(核心):把多个硬盘分区,重新组织起来,形成一个新的逻辑上的分区。
动态管理,动态管理在一般意义上指定就是扩容
主要命令
注意:xfs不能缩容只能扩容
ext4 格式可以缩容
主要步骤
pvcreate (创建物理卷)设备名1 设备名2
vgcreate (创建卷组)卷组名 物理卷名1 物理卷名2
lvcreate (创建逻辑卷)
-L 容量大小 -n 逻辑卷名 卷组名
lvextend (扩容)
-L +大小 /dev/卷组名/逻辑卷名
实例:
添加几个硬盘
scan刷新一下
查看
第一步 分区
fdisk /dev/sdb
n
p
1
+10G
w
第二步 创建卷组
创建卷组之前先创建物理卷
pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
创建卷组 vgcreate 卷组名 设备
vgcreate ky30 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
lvcreate创建逻辑卷(相当于给硬盘分区)
lvcreate -L +10G -n 逻辑卷的名称 对哪个卷组进行分区
-L:指定逻辑卷空间的大小
-n:指定逻辑卷的名称 卷组名
要查看卷组信息不能直接查询,要用绝对路径查
创建完了还需要格式化
mkfs.xfs /dev/ky30/boge
挂载
先创建空目录 mkdir /data
mount /dev/ky30/boge /data/(临时挂载)
df-h
mapper作用:逻辑设备到物理设备的映射机制,方便用户对存储设备进行管理
逻辑卷创建完成
可以在/data/目录里面写了
永久挂载:
vim /etc/fstab
/dev/ky30/wx(设备文件) /data1(挂载点) xfs(文件类型) defaults(权限) 0 0
mount -a 刷新然后查看一下
扩容(无需接挂载)一行搞定
先lvgdisplay ky30 看看卷组还有没有空间
lvextend -L +20G /dev/ky30/boge
再看看
必须刷新之后才生效
xfs_growfs /dev/ky30/boge
也可以不刷新直接生效
-r 立即生效
如果卷组空间还不够
还可以再加设备继续扩容
把新硬盘加进去
先给新硬盘分区
fdisk /dev/sdf
n 一路回车 w 空间全给它
lsblk查看一下
如果没有生效partprobe强行刷新
括卷组
vgextend ky30 /dev/sdf1
就又可以扩容了
lvextend -L +10G /dev/ky30/boge -r(扩展加格式直接生效)
注:扩容完必须要刷新,不想刷新 -r 可以直接强制刷新生效
限制两个方面
1、针对用户,普通用户,在磁盘上的写操作 创建文件的个数
2、占用磁盘空间的大小
为什么要有磁盘配额,磁盘配额的主要作用
1、防止普通用户恶意或者无意的占用大量磁盘空间
2、保证系统存储空间的文件,持续可用性
(就是防止用户瞎搞)
尤其是针对大型的日志文件
jar包
日志:定位故障排错
系统日志:三个月
数据日志:半年
数据安全-----数据保留------半年
磁盘限额的特点
作用范围:针对指定的文件系统
xfs ext(只能对指定的文件系统进行限制)
限制对象:用户的账号,组账号
限制类型:磁盘容量,文件数量
限制方式:软限制,硬限制
硬限制:达到规定指标之后就不能再用了
xfs:xfs_quota
ext4:kuota
磁盘配额的方法:
一样先分区
fdisk /dev/sdb
pareprobe刷新一下
一样挂载一下
开始用支持磁盘配额的方式进行挂载
mount -o usrquota,grpquota /dev/sdb1 /data/
对用户账号进行限制 对组账号进行限制 以支持文件配额功能的方式进行挂载
永久挂载的方式进行磁盘配额
进入fstab
/dev/cxk/ky30 /opt/data xfs defaults,usrquota,grpquota 0 0
注意:改完之后要进行重启才能生效
使用磁盘配额
先关闭防火墙 安全权限
创建账户
创建密码
给目录读写权限让普通用户能够操作
限制的具体命令:
对指定用户使用磁盘空间大小的限制
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M zhangsan' /data
xfs_quota 固定格式
-x:启动专家模式,允许对配额系统的管理命令都可用
-c:直接调用命令
-u:指定限制的账号名称
limit 限制
bsoft 磁盘空间的软限制
bhard 磁盘空间的硬限制
zhangsan 用户名
/data 指定的目录
对指定的用户创建文件数进行限制
xfs_quota -x -c 'limit -u isoft=4 ihard=5 zhangsan' /data
isoft inode号
liunx对硬盘空间的两种限制:1、磁盘空间
2、inode号,inode号用尽,即使磁盘空间还有空间也无法写入
df -i 查看剩余inode号
inode号:磁盘空间越大,可用inode号越多
硬盘空间还有,但是无法写入怎么处理(面试题):
1、inode号是不是满了
2、对使用磁盘的大小进行了限制
3、磁盘坏了,看能不能读
两种限制都做了,我们来看看效果
dd 是一个设备转换和连续复制的命令(模拟大文件)
dd if=/dev/zero of=/data/123.txt bs=10M count=12
if=/dev/zero
if 从哪里获取文件,获取虚拟的数据
/dev/zero 零设备文件,可以提供无限的空字符,模拟块大小
of:指定输出
bs=10M,每次从这个零设备文件,读取10M大小的空字符
count=12 获取12次
120M--->123.txt
达到限额,在写就写不了了
模拟创建文件数
解除限制
xfs_quota -x -c "disable -up" /data
取消磁盘配额
结果
解除限制之后,再让限制生效怎么做?
必须要重新挂载,还要以磁盘配额的方式挂载,重启虚拟机之后才能够生效
作业:
Lvm逻辑卷实现永久挂载
先添加硬盘
添加完之后scan刷新一下
分区
sdc sdd sde也是一样的
查看分区情况
分区有了,创建物理卷,然后才能创建卷组
创建卷组
注意:创建好了卷组要给卷组起个名字
vgcreate 卷组名 设备
创建完成之后再查看一下
创建完了这个卷组就相当于创建完了1个40G大的逻辑概念上的硬盘
创建逻辑卷
lvcreate -L 指定逻辑卷空间的大小
-n 指定逻辑卷的名称 对哪个磁盘进行分区
逻辑卷创建完成
查看详细信息
注:查询信息时要跟上它的绝对路径(设备都在dev里面,在ky30卷组里面的逻辑卷)
硬盘设备还需要文件系统(格式化)
创建完之后进行挂载
临时挂载mount /dev/ky30/ /data/
永久挂载
mkdir一个空目录
vim /etc/fstab
/dev/ky30/wx(设备文件) /data1(挂载点) xfs(文件类型) defaults(权限) 0 0
mount -a 刷新然后查看一下
扩容lvextend -L +20G -r 扩容直接生效
查看一下
磁盘配额实现永久挂载
先查看否安装
解挂载
永久挂载
逻辑卷磁盘配额
创建用户zhangsan/限制磁盘/给挂载目标设置权限
Su到zhangsan用户下去验证
解除磁盘配额
解挂载
Vim/etc/fstab将上面的挂载改为下面的挂载
重启虚拟机
重启之后mount -a刷新并查看一下
看看是否解除限额
已经取消配额
重新恢复配额
同样配置vim/etc/fstab
配置完成之后一样需要重启刷新使其重新生效
重点总结:
分区
fdisk /dev/sdb
n
p
1
+10G
w
lsblk查看一下
如果没有生效partprobe强行刷新
pvcreate (创建物理卷)设备名1 设备名2
pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
vgcreate (创建卷组)卷组名 物理卷名1 物理卷名2
vgcreate ky30 /dev/sdb1
lvcreate (创建逻辑卷)必须掌握
-L 容量大小 -n 逻辑卷名 卷组名
lvcreate -L +10G -n boge ky30
lvdisplay /dev/ky30/boge
查看卷组信息后面要跟上绝对路径
lvextend (扩容)
-L +大小 /dev/卷组名/逻辑卷名
括卷组
vgextend ky30 /dev/sdf1
一步搞定lvextend -L +20G /dev/ky30/boge -r(不用刷新,强制执行)
不加-r 用xfs_growfs刷新一样生效
创建文件系统(格式化)
mkfs.xfs /dev/ky30/boge
mount 临时挂载
永久挂载
vim /etc/fstab
/dev/ky30/wx(设备文件) /data1(挂载点) xfs(文件类型) defaults(权限) 0 0
mount -a 刷新
磁盘配额
rpm -q xfsprogs quota 查看是否安装了quota
vim/etc/fstab
/dev/ky30/boge /data1(挂载点) xfs(文件类型) defaults,usrquota, grpquota 0 0
systemctl stop firewalld
sentenforce 0
useradd zhangsan
passwd zhangsan
chmod 777 /data1
限制的具体命令:
对指定用户使用磁盘空间大小的限制
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M zhangsan' /data
-x:启动专家模式,允许对配额系统的管理命令都可用
-c:直接调用命令
-u:指定限制的账号名称
limit 限制
bsoft 磁盘空间的软限制
bhard 磁盘空间的硬限制
zhangsan 用户名
/data 指定的目录
对指定的用户创建文件数进行限制
xfs_quota -x -c 'limit -u isoft=4 ihard=5 zhangsan' /data
isoft inode号
硬盘空间还有,但是无法写入怎么处理(面试题,必会):
1、inode号是不是满了
2、对使用磁盘的大小进行了限制
3、磁盘坏了,看能不能读
dd 是一个设备转换和连续复制的命令(模拟大文件)
dd if=/dev/zero of=/data/123.txt bs=10M count=12
if=/dev/zero
if 从哪里获取文件,获取虚拟的数据
/dev/zero 零设备文件,可以提供无限的空字符,模拟块大小
解除限制
xfs_quota -x -c "disable -up" /data
解除限制之后,再让限制生效怎么做?
必须要重新挂载,还要以磁盘配额的方式挂载,重启虚拟机之后才能够生效
用vim/解除限制之后生效要重启
mount -a 刷新
添加新设备到卷组
vgextend ky30 /dev/sdd1
主分区和逻辑分区的区别:
主分区:既可以装操作系统,又可以存储数据
逻辑分区:创建扩展分区之后才可以创建,可以创建多个,但是只能存储数据
MBR分区和GPT分区的区别
MBR 只能创建4个分区 2T以下
GPT 128个分区 2T以上
2T以上硬盘分区
gdisk