目录
绪论:
lvm:逻辑卷管理,对硬盘分区进行管理
对硬盘分区进行管理,管理大的存储设备
lvm作用:
· 主要作用是可以对分区的大小进行动态的管理,能够在保持现有数据不变的情况下动态调整磁盘容量,提高磁盘管理的灵活性
· 可以提供高可用(备灾),lvm支持冗余功能
特点:动态扩缩容,快速创建,方便管理的分区,不再考虑底层硬件
逻辑:虚拟的概念---->实际的物理空间来提供支持的,超出了一般分区的概念,可以把多个硬盘合并成一个逻辑上的分区,再把这个逻辑分区分成一个个的逻辑卷
/boot 分区用于存放引导文件,不能基于lvm创建 引导文件不能基于lvm创建
lvm核心:就是把多个硬盘分区重新组织起来形成一个新的逻辑上的分区。动态管理,动态管理在一般意义上指的是扩容
1、卷和卷组
1.1 物理卷
物理卷:就是真正的物理硬盘和分区
1.2 卷组
卷组:把多个物理卷组合起来就是卷组,组成卷组的可以是同一块硬盘的不同分区,也可以是不同硬盘上的不同分区(例一:sdb有sdb1,sdb2,sdb3这三个可以做一个卷组。例二:有sdb1,sdc1,sde1也可以组成一个卷组)卷组就是一个实际上的硬盘
PE(物理扩展):是逻辑卷的最小存储单元,每一个PE就是一个最小的逻辑卷。PE的大小可以设置,默认为4兆
1.3 逻辑卷
逻辑卷:多个PE组成立了逻辑卷,硬盘必须分区才能使用,把PE组合起来相当于对逻辑硬盘进行分区了,逻辑卷也可以被格式化、写入数据,逻辑卷就是对逻辑硬盘进行分区
2、 lvm
2.1 执行命令
xfs的文件系统不能缩容,只能扩容
ext4格式可以缩容
2.2 命令实验
添加4个硬盘
先刷新一下:scan
lsblk看一下有没有
分区:fdisk /dev/sdb
n
p
+10G
fdisk /dev/sdc
fdisk /dev/sdd
fdisk /dev/sde
lsblk
创建卷组:vgcreate ky30(起名字) /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 卷组大小40G
vgdisplay:查询一下卷组的详细信息
查看出来的最小存储单元:是pe size这一行
分区:lvcreate -L(指定逻辑卷的大小) +10G -n 逻辑卷的名称 ky30(对哪个卷组)
-n:后面指定逻辑卷的名称,在后面跟上卷组名
lvdisplay /dev/ky30/逻辑卷的名称
创建文件系统格式化:
mkfs.xfs /dev/ky30/逻辑卷名称
mkdir /data
mount /dev/ky30/逻辑卷名称 /data
df -h查看一下(mapper:逻辑设备到物理设备的一种映射,方便用户对存储设备进行管理)
cd /data到data里面就可以读写了
2.3 逻辑卷的扩容
vgdisplay ky30 先看一下卷组有没有空间
lvextend -L +20G / dev/ky30/逻辑卷名称 再在最后面加-r就是立即生效,不用刷新
lvdisplay /dev/ky30/逻辑卷名称
再刷新一下:xds_growfs /dev/ky30/名称
df -h
此时卷组没空间了:给卷组扩容
虚拟机硬盘再加
scan刷新一下 出来sdf
fdisk /dev/sdf分区,没生效partprobe强制刷新一下
vgextend ky30 /dev/sdf1 给卷组添加
vgdisplay ky30
lvextend -L +10G /dev/ky30/逻辑卷名称 -r 分配给他10G
df -h卷组变成了49G
题目:lvm逻辑卷永久挂载
2.4 ext4缩容
只有ext4可以缩容:
虚拟机添加三个硬盘
scan
lsblk 有sdg sdh sdi
分区给10g fdisk /dev/sd
vgcreate 卷组名字 /dev/sdg1 /dev/sdh1 /dev/sdi1 (创建)
vgdisplay 卷组名字 查看一下
lvcreate -L +10G -n 名称 卷组名称
ls 看一下
mkfs.ext4 /dev/卷组名称/逻辑卷名称
挂载 mount /dev/卷组名称/逻辑卷名称 /卷组名称
touch {a..z}.txt
cd /
要先解挂载:umount /dev/卷组名称/逻辑卷名称 /卷组名称
lvreduce -L -5G /dev/卷组名称/逻辑卷名称 减个5G
最后挂载:挂载 mount /dev/卷组名称/逻辑卷名称 /卷组名称
df -h看一下
2.5 磁盘配额
· 主要是针对用户,用户是普通用户,在磁盘上的写操作 :限制创建文件的个数,限制占用磁盘空间的大小
磁盘配额主要是防止普通用户恶意或者无意的占用大量磁盘空间,保证系统存储空间的稳定、持续可用性
日志:主要作用定位故障排除
系统日志至少要保留三个月,数据日志至少要保留半年
磁盘配额特点:
作用范围:针对指定的文件系统(分区) xfs ext4
限制对象:用户账号、组账号
限制类型:磁盘容量、文件数量
限制方法:软限制(到了限制给你提醒)、硬限制(到了限制直接停止)
限制对象:用户账号,组账号
主要讨论的是xfs:使用xfs_quota
ext4:也是quota
实验命令:
fdisk /dev/sdb
+5G
partprobe刷新一下
检查rpm -q xfsprogs quota 是否已经安装
安装一下本地yum:
lsblk
scan
fdisk /dev/sdb
+10G
mkdir /data
mkfs.xfs /dev/sdb1
mount /dev/sdb1 /data
mount -o usrquota(对用户进行限制) , grpquota(对组账号进行限制) /dev/sdb1 /data 临时挂载支持磁盘配额
关防火墙
关安全机制
创建一个普通用户:useradd zhangsan
passwd zhangsan
chmod 777 /data
对指定用户使用磁盘空间大小的限制(到指定的普通用户):xfs_quota -x -c 'limit -u bsoft=80M bhard=100M zhangsan' /data
xfs_quota(调用xfs_quota命令)
-x(启动专家模式,对配额系统的管理命令都可以用)
-c(直接调用管理命令)
'limit(限制)
-u(指定限制的账号名称)
bsoft=80M(磁盘空间的软限制)
bhard=100M(磁盘空间的硬限制)
zhangsan /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个文件
cd /data
(dd :设备转换和连续复制的命令)
dd if=/dev/zero of=/data/123.txt bs=10M(每一层传大小10M) count=12(一共传输12次)
(if:从哪里获取虚拟数据
/dev/zero:零设备文件,可以提供无限的空字符来模拟块大小
of:指定输出
bs=10M:每次从零设备文件读取10M大小的空字符
count=12:获取12次,一共120M---到123.txt里面)
配额生效了,限额100M
模拟创建文件数:touch{1..6}.txt
磁盘已经满了,要先把123.txt删了
只能出来5个
此时是inode号满了
解除限制:su回到root
xfs_quota -x -c "disable -up" /data取消磁盘配额
su -zhangsan
cd /data
2.6 磁盘配额实现永久挂载
2.7 用逻辑卷做一个磁盘配额
接着之前实验:
2.8 取消配额之后,怎么回复配额
先reboot重启系统