一、配置配额系统 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 管理 <raiddevice> :/dev/md# <component-devices>: 任意块设备 /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