一、配置配额系统
1 .启动配额功能

在/etc/fstab 文件中挂载需要配额的功能
defaults,userquota,grpquota 加上功能
mount -o remount /testdir 重新挂载目录 功能生效

2 .创建磁盘配额数据库

quotacheck 创建磁盘配额数据库【在需要配额的磁盘目录里创建数据库】
-c 创建
-u 用户的数据库
-g 组的数据库
quotacheck -cug /home [会生产两个数据库文件,分别针对用户和组的]
注意:SElinux 需要关闭
修改文件 /etc/sysconfig/selinux文件中SELINUX=[disable|permissive] 源文件/etc/selinux/config
getenforce 0 临时生效

3 .启用数据库
quotaon /home 启用 home 里的 配额数据库

4 .指定用户的空间限制

edquota USER 打开一个文件 配额限制文件 编辑配额文件
Disk quotas for user arno (uid 500):
Filesystem block【用户已经使用空间】soft【超过多少警报,不限制】hard【最大值不能超过】inodes【已使用节点】soft【超过多少节点报警】hard【最大节点数,不能超过】
/dev/sda6 150 800000 1000000 20 300 500
空间数量是多少块 每块 1K
grace 允许超出警报 7天宽限 七天之后 警报额度不能超过,只能减少
quota USER 显示指定用户的配额数据
setquota USER 10000警报 20000最大 1000警报inode 1200最大 /home
edquota -g GROUP 编辑组的配额文件
组的的配额,多个用户创建的所属组的文件 不能超过租的配额限制

二、RAID
1 .raid的了解

提高磁盘的读写性能
可以提升磁盘的耐用性
多块磁盘组织在一起的工作方式有所不同,可以分成多种级别
raid的实现方式
外接式磁盘阵列:通过扩展卡提供适配能力
内接式RAID:主板集成RAID控制器
安装系统前在BIOS里配置
软件RAID:通过系统软件实现

2 .raid的级别

raid-0 两块磁盘有序存放不同的数据
读写性能提升,但是没有容错能力,可用空间不损耗,最少两块磁盘,但是有一块磁盘损坏,则raid损坏不可用,数据也会有丢失
raid-1 两块磁盘存放相同的数据,一块损坏,另外一块还能继续使用。
读取性能提升,写性能略有下降,只有一个磁盘空间可用,最少需要2块磁盘,或者2的倍数磁盘。有容错能力,最多二分之一的磁盘损坏的几率
raid-5 三块以上的磁盘,一块磁盘存放校验数据,其他磁盘有序存放数据
读写性能提升,可用空间少一个磁盘。有容错能力,允许最多损坏一块磁盘,最少使用3块磁盘才能组成raid-5。
raid-6 有两块磁盘存放校验数据,其余磁盘有序存放数据
读写性能提升,少了两块磁盘的可用空间,拥有容错能力,最多允许2块磁盘损坏。最少需要4块磁盘才能组成raid-6
raid-10 先是用raid-1组成多个组,然后将这些组,组成raid-0 可用性好于 raid-01
读写性能提升,可用空间少了一倍,有容错能力,但是每组raid-1 只能损坏一块磁盘,最少需要4块磁盘才能组成raid-10,或者4的倍数。
raid-01 先用raid-0 组成多个组,然后将这些组,组成raid-1
少了一倍的可用空间,有容错能力,但是同raid-1下的两组raid-0 不能同时损坏拥有相同数据的磁盘。
raid-50 先组成一些raid-5 然后组成raid-0
JBOD 将多块磁盘的空间合并成一个大的连续空间使用,所有磁盘空间合并起来,读写性能没有什么提升。
raid-7 可以理解为一个独立存储计算机,自身带有操作系统和管理工具,可以独立运行,理论上性能最高的RAID模式
常用级别:RAID-0, RAID-1, RAID-5, RAID-10, RAID-50,JBOD

3 .软件raid的实现

命令: mdadm 模式化的工具
语法格式:mdadm [mode] <raiddevice> [options]<component-devices>
模式:
-C创建 -A装配 -F监控 -f -r -a 管理
:/dev/md#
: 任意块设备 /dev/ad{a5,b1,b2,c1,d1}
-C 创建模式
-n # :使用#个块设备来创建此raid
-l # 指明创建的raid的级别。
-a { yes | no } 自动创建目标RAID设备的设备文件
-c CHUNK_size 指明块大小
-x # 指明空闲盘的个数 // 热备盘,给具有容错能力的raid 在有磁盘损坏时,替代损坏的盘。
-D 显示raid的详细信息 指定的/dev/md#
管理模式:
-f 标记指定磁盘为损坏
-a 添加指定磁盘
-r 移除磁盘

-

观察md的状态

cat /proc/mdstat

raid配置示例

mdadm -C /dev/md0 -a yes -l 0 -n 3 -x 1 /dev/sd{a5,b1,c1,d1}
\创建一个拥有3个磁盘的 raid-0 设备为/dev/md0 并另外拥有一个备用磁盘
mke2fs -j /dev/md0 //给raid 格式化并创建文件系统 带有日志的
mdadm -D|--detail /dev/md0 // 检查raid设备的状况
mdadm -G /dev/md0 -n4 -a /dev/sdf1 新增阵列成员

raid 测试和修复

mdadm /dev/md0 -f /dev/sda1 模拟磁盘故障
mdadm /dev/md0 -r /dev/sda1 移除磁盘

raid管理

mdadm -D -s >> /etc/mdadm.conf 生成配置文件 【必要动作】
mdadm -S /dev/md0 停止设备
mdadm -A -s /dev/md0 激活设备
mdadm -R /dev/md0 强制启动
mdadm --zero-superblock /dev/sdb1 删除raid信息
注意:在虚拟机里配置软raid时,lsblk,df 查看不到 ,则需要 resize2fs /dev/md0 同步文件系统,只针对ext系列的文件系统

三、逻辑卷管理器LVM
1 . 逻辑卷的理解

将多个磁盘或者磁盘里的分区,指定设置为PV(物理卷),在物理卷里设置PE(物理区域)
然后在物理卷上创建 VG卷组 在卷组里设置PE(物理区域)的大小
然后在卷组上创建 lv逻辑卷 大小由指定数量的PE组成
优点:在不影响用户使用的情况下,可以更改逻辑卷的大小,方便扩容存储空间

2 . 逻辑卷创建
(1)创建物理卷

首先准备好磁盘或者磁盘的分区若干个, /dev/sda5 /dev/sdb2 /dev/sdc /dev/sdd1
创建物理卷 pvcreate /dev/sda5 /dev/sdb2 /dev/sdc /dev/sdd1
查看物理卷信息 pvs 更详细的查看物理卷信息 pvdisplay

(2)创建卷组

创建卷组 vgcreate vg0(卷组名) /dev/sd{a5,b2,c,d1} -s 32M (指定PE大小,一个PE 32M)
查看卷组信息 vgs 更详细的查看卷组信息 vgdisplay
vgrename vg0 vg1 更改卷组名
vgchange -an vg0 禁用卷组
vgchange -ay vg0 启用卷组

(3)创建逻辑卷

创建逻辑卷 lvcreate -n lv0 -l 320 (分320个PE) vg0
-L 16G (指定容量大小16G )
-l +100%free vg0 使用vg0里的剩余所有空间
查看逻辑卷信息 lvs 更详细的查看逻辑卷信息 lvdisplay

(4)给逻辑卷创建文件系统

在逻辑卷上创建文件系统 mkfs.ext4 /dev/vg0/lv0 ext4的文件系统
挂载 mount /dev/vg0/lv0 /app/testfile

3 . 扩容逻辑卷

创建物理卷 pvcreate 。。。。。。
动态给卷组添加物理卷 vgextend vg0 /dev/sdd2 将sdd2 物理卷添加到 vg0中
动态给逻辑卷添加卷组 lvextend /dev/vg0/lv0 -L 24G(扩展到24G) 【+4G 增加4G】
(-r 可以同时同步磁盘信息) -l 1000(增加到1000个PE)【+200 增加200个PE】
使用vg0中 剩余的所有空闲PE空间 【三 - 2 -(3)】中
使用 df -h 发现没有看见增加的空间
resize2fs /dev/vg0/lv0 针对ext文件系统中 同步磁盘信息 【xfs-growfs 同步xfs 文件系统】

4 . 给逻辑卷更换磁盘

首先将需要更换的磁盘的所有PE移动到同一个卷组中的空闲空间。
所有vg的中所剩余的free状态的PE数量 需要大于 更换磁盘中的PE数量
创建 一个物理卷 pvcreate /dev/sde
动态增加vg卷组大小 vgextend vg0 /dev/sde
给需要更换的磁盘中的空间 搬家 pvmove /dev/sda5
然后从卷组中移除磁盘 vgreduce /dev/sda5
最后移除物理卷 pvremove /dev/sda5

5 . 缩减逻辑卷空间(文件系统为ext的才能缩减,xfs文件系统不能缩减逻辑卷)

首先,取消挂载 umount /app/testfile
fsck -f /dev/vg0/lv0 检测文件系统完整性
将文件系统缩减到8G resize2fs /dev/vg0/lv0 8G
将逻辑卷缩减到8G lvreduce -L 8G /dev/vg0/lv0
再次挂载!即可使用

6 . 迁移LVM所在的磁盘

首先查看此 卷组名 逻辑卷名 有没有与要迁移过去的主机的 逻辑卷名是否重名
改名 vgrename vg0 vg100 修改卷组名
lvrename /dev/vg100/ lv100 修改逻辑卷名
取消挂载 逻辑卷 lv100
禁用卷组 vgchange -an vg100
导出卷组 vgexport vg100