lvm:逻辑卷管理,对硬盘分区进行管理,管理大的存储设备
可以把多个硬盘合并成一个逻辑上的分区
再把这个逻辑分区分成一个个的逻辑卷
特点:动态扩缩容,快速创建,方便管理的分区,不再考虑底层硬件
逻辑:虚拟的概念---->实际的物理空间来提供支持的,超出了一般分区的概念
lvm作用:
1. 主要作用是可以对分区的大小进行动态的管理,能够在保持现有数据不变的情况下动态调整磁盘容量,提高磁盘管理的灵活性
2. 可以提供高可用(备灾),lvm支持冗余功能
/boot 分区用于存放引导文件,不能基于lvm创建,引导文件不能基于lvm创建
lvm功能介绍:
物理卷:就是真正的物理硬盘和分区
卷组:把多个物理卷组合起来就是卷组,组成卷组的可以是同一块硬盘的不同分区,也可以是不同硬盘上的不同分区,卷组就是一个实际上的硬盘
PE(物理扩展):是逻辑卷的最小存储单元,每一个PE就是一个最小的逻辑卷。PE的大小可以设置,默认为4兆
逻辑卷:多个PE组成立了逻辑卷,硬盘必须分区才能使用,把PE组合起来相当于对逻辑硬盘进行分区了,逻辑卷也可以被格式化、写入数据,逻辑卷就是对逻辑硬盘进行分区
lvm核心:就是把多个硬盘分区重新组织起来形成一个新的逻辑上的分区。动态管理,动态管理在一般意义上指的是扩容
lvm的管理命令:
pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1:创建物理卷(创建卷组会自动创建)
vgcreate ky30 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1:创建卷组,卷组的大小为所有加入分区大小的和
vgdisplay:查询一下卷组的详细信息,查看出来的最小存储单元:是pe size这一行
lvdisplay /dev/ky30/hqy:查寻逻辑卷的详细信息
lvcreate -L +10G -n hqy ky30:创建逻辑卷
-L:指定逻辑卷的大小
-n:后面指定逻辑卷的名称,在后面跟上卷组名
hqy:逻辑卷的名称
ky30:卷组的名称
逻辑卷的扩容:
第一步:vgdisplay ky30:先查看一下卷组有没有空间
第二步:lvextend -L +20G /dev/ky30/hqy -r:给逻辑卷hqy扩容20G;-r表示立即生效,不用刷新
第三步:lvdisplay /dev/ky30/hqy:检查
第四部:xds_growfs /dev/ky30/hqy:再刷新一下
第五步:df -h:查看空间大小是否增加
卷组扩容:
第一步:新增一个硬盘
第二步:使用别名scan刷新一下
alias scan='echo "- - -" > /sys/class/scsi_host/host0/scan;echo "- - -" > /sys/class/scsi_host/host1/scan;echo "- - -" > /sys/class/scsi_host/host2/scan'
别名scan是用于刷新端口,或partprobe强制刷新,重启虚拟接也可
第三步:fdisk /dev/sdf:给新建硬盘分区,分区大小为10G
第四部:vgextend ky30 /dev/sdf1:将sdf1分区加入ky30卷组中,加入的分区为10G所以扩容10G
第五步:vgdisplay ky30:查询卷组是否加入sdf1
第六步:df -h:查看卷组大小是否增加
逻辑卷的缩容:
xfs的文件系统不能缩容,只能扩容
ext4格式可以缩容
配置一个逻辑卷文件系统为ext4环境:
第一步:虚拟机添加三个硬盘
第二步:使用别名scan刷新一下
第三步:lsblk查看是否有硬盘sdg、sdh、sdi
第四步:fdisk /dev/sdg fdisk /dev/sdh fdisk /dev/sdi:为硬盘sdg、sdh、sdi分组
第四步:vgcreate test1 /dev/sdg1 /dev/sdh1 /dev/sdi1:创建卷组
第五步:vgdisplay test1:检查卷组
第六步:lvcreate -L +10G -n hqy1 test1:创建逻辑卷
第七步:mkfs.ext4 /dev/test1/hqy1:格式化逻辑卷hqy1,文件类型为ext4
第八步:mount /dev/test1/hqy1 /opt/data:将逻辑卷临时挂载到data目录下
为逻辑卷hqy1缩容
第一步:umount /dev/test1/hqy1 /opt/data:解挂载
第二步:lvreduce -L -5G /dev/test1/hqy1:给逻辑卷hqy1缩容5G
第三步:mount /dev/test1/hqy1 /opt/data:挂载
磁盘配额:
主要是针对的是普通用户,在磁盘上的写操作 :限制创建文件的个数,限制占用磁盘空间的大小
目的:磁盘配额主要是防止普通用户恶意或者无意的占用大量磁盘空间,保证系统存储空间的稳定、持续可用性
日志:主要作用定位故障和排除
系统日志至少要保留三个月,数据日志至少要保留半年
磁盘配额特点:
作用范围:针对指定的文件系统(分区) xfs ext4
限制对象:用户账号、组账号
限制类型:磁盘容量、文件数量
限制方法:软限制(到了限制给你提醒)、硬限制(到了限制直接停止)
限制对象:用户账号,组账号
主要讨论xfs:使用xfs_quota
ext4:quota
磁盘配额的命令:
rpm -q xfsprogs quota:检查磁盘配置软件是否已经安装
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M zhangsan' /data:对指定用户使用磁盘空间大小的限制
xfs_quota:调用xfs_quota命令
-x:启动专家模式,对配额系统的管理命令都可以用
-c:直接调用管理命令
limit:限制
-u:指定限制的账号名称
bsoft=80M:磁盘空间的软限制
bhard=100M:磁盘空间的硬限制
/data:指定目录
这个命令只是限制了容量,zhagsan这个用户在data里面最多用100M
xfs_quota -x -c 'limit -u isoft=4 ihard=5 zhangsan' /data:对指定的用户创建文件的个数进行限制
isoft表示限制inode号(linux对硬盘空间的两种限制:磁盘空间,inode号:inode号一旦用尽即使磁盘还有空间也无法写入.磁盘空间越大inode号越多)
这个命令只是限制了文件数,zhagsan这个用户在data里面最多创建5个文件
dd if=/dev/zero of=/data/123.txt bs=10M count=12:从别的文件获取数据传输到目标文件中
if:从哪里获取虚拟数据
/dev/zero:零设备文件,可以提供无限的空字符来模拟块大小
of:指定输出
bs=10M:每次从零设备文件读取10M大小的空字符(每一层传大小10M)
count=12:获取12次(一共传输12次),一共120M到123.txt里面
面试题:
硬盘空间还有但是无法写入怎么处理:
1、inode号是不是满了
2、inode号没满可能是是对磁盘的使用大小进行了限制
3、磁盘坏了,看看能不能读