1、 设定文件系统配额
综述
• 在内核中执行
• 以文件系统为单位启用
• 对不一样组或者用户的策略不一样
根据块或者节点进行限制
• 执行软限制(soft limit)
• 硬限制(hard limit)
初始化
• 分区挂载选项:usrquota、grpquota
• 初始化数据库:quotachecknode
为用户设定配额 执行 • 开启或者取消配额:quotaon、quotaoff • 直接编辑配额:edquota username • 在shell中直接编辑: setquota usename 4096 5120 40 50 /foo 报告 • 用户调查:quota username • 配额概述:repquota /mountpoint
实验:实现配额linux
对用户磁盘配额限制:
1 启用配额功能
vim /etc/fstab
UUID=b0421d9a-8072-4be5-9526-070535ac0a8e /home ext4 usrquota,grpquota 0 0
2 建立配额数据库
quotacheck -cug /home (selinux/config文件 必须是 Permissive)
3 启用数据库
quotaon /home
4 指用户的空间限制
edquota wang
Disk quotas for user wang (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/sda6 1164 800000 1000000 159 162 165
5 测试shell
对组磁盘配额限制:
groupadd sales
usermod -G sales xiaojun
usermod -G sales zilong
checkquota -cug /home 针对用户和组建立配额数据库
quotaon /home 启用数据库
edquota -g sales 指定组内用户总空间
newgrp sales 将当前用户组临时切换为sales
dd if=/dev/zero of=test2 bs=1M count=200
测试数据库
实验:迁移/Home到新独立分区vim
1 创建新分区 2 创建文件系统 3 mkdir /mnt/home mount /dev/sda6 /mnt/home 4 cp /home/* /mnt/home -av 5 tar cvf /app/home.tar /home scp remote 6 init 1 断开网络,在远程不要执行 7 rm -rf /home/* 8 vim /etc/fstab UUID=b0421d9a-8072-4be5-9526-070535ac0a8e /home ext4 defaults 0 0 9 mount -a umount /mnt/home 10 init 5 还到原有模式
2、 设定和管理软RAID设备
什么是raid
RAID:Redundant Arrays of Inexpensive( Independent) Disks
多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者二者都提供centos
RAID-0 (两块一样大小的硬盘作实验)
读、写性能提高;
可用空间:N*min(S1,S2,...) 无容错能力
最少磁盘数:2, 2 网络
RAID-1:磁盘利用率为50%
raid各个盘删除、建立文件操做同时进行,不能防止人为操做,防止的是物理硬件损坏app
raid5
数据和校验位均匀的存放在各个硬盘上,最多容许1块硬盘损坏
一旦有一块硬盘损坏,使用spare disk(备用磁盘)顶替比较好,这样需经过其它三块硬盘计算出损坏硬盘上的数据,也会增长CPU负载,影响性能。 raid5磁盘利用率为n-1/nide
raid6
相比raid5有每行有两块校验数据块,最多容许2块硬盘损坏,磁盘利用率为n-2/n工具
raid 10
读、写性能提高
可用空间:N*min(S1,S2,...)/2
有容错能力:每组镜像最多只能坏一块
最少磁盘数:4, 4+
raid 01
多块磁盘先实现RAID0,再组合成RAID1
mdadm:模式化的工具
命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices>
模式:
建立:-C 建立raid
装配: -A start 激活raid
-S 中止raid
-f 模拟raid中设备损坏
监控: -F
管理:-f, -r, -a
实验:
建立raid0(性能高,没有冗余能力,数据容易丢失 好比:可存放内存和日志数据 )
一、准备一样大小的硬盘或分区
参考/dev/sdb硬盘建立一样大小分区
dd if=/dev/sdb of=/dev/sdd bs=512 count=1
Hex code (type L to list codes): fd
inux raid autodetect
二、建立raid0(-a 自动建立raid设备 -c chunk大小 -n raid成员设备数)
mdadm -C /dev/md0 -a yes -l 0 -c 40 -n 3 /dev/sd{a6,b1,d1}
mdadm -D /dev/md0(可查raid设备详细信息)
生成的信息写到文件中才能开机启动时找到/dev/md0设备并启动
mdadm -Ds > /etc/mdadm.conf
针对raid0建立文件系统
mkfs.ext4 /dev/md0
挂载
UUID=a8d13d32-c057-4112-8cc7-356ba3321b02 /mnt/md0 ext4 defaults 0 0
mkdir /mnt/md0
mount -a
mount /mnt/md0
测试写速度
dd if=/dev/zero of=/mnt/md0/file bs=1M count=1024
软RAID管理
生成配置文件:mdadm –D –s >> /etc/mdadm.conf
中止设备:mdadm –S /dev/md0
激活设备:mdadm –A –s /dev/md0
强制启动:mdadm –R /dev/md0
删除raid信息:mdadm --zero-superblock /dev/sdb1
3、 配置逻辑卷
逻辑卷管理器
容许对卷进行方便操做的抽象层,包括从新设定文件系统的大小
容许在多个物理设备间从新组织文件系统
• 将设备指定为物理卷
• 用一个或者多个物理卷来建立一个卷组
• 物理卷是用固定大小的物理区域(Physical Extent,PE)来定义的
• 在物理卷上建立的逻辑卷
是由物理区域(PE)组成
• 能够在逻辑卷上建立文件系统
LVM介绍
dm: device mapper:将一个或多个底层块设备组织成一个逻辑设备的模块
设备名:/dev/dm-#
软连接:
/dev/mapper/VG_NAME-LV_NAME
/dev/mapper/vol0-root
/dev/VG_NAME/LV_NAME
/dev/vol0/root
LVM能够弹性的更改LVM的容量(前提是卷组有空余的空间)
经过交换PE来进行资料的转换,将原来LV内的PE转移到其余的设备中以下降LV的容量,或将其余设备中的PE加到LV中以加大容量
实验:缩减Lv
umount /mnt/lv1
fsck -f /dev/vg0/lv1
resize2fs /dev/vg0/lv1 43G
lvreduce -L 43G /dev/vg0/lv1
mount -a
实验:迁移pv
当物理卷硬盘损坏,将该物理卷搬到该卷组的其它物理卷中
而后继续下面删除pv实验 (模拟物理卷硬盘损坏需删除pv)
4、设定LVM快照
快照是特殊的逻辑卷,它是在生成快照时存在的逻辑卷的准确拷贝
快照只有在它们和原来的逻辑卷不一样时才会消耗空间
在生成快照时会分配给它必定的空间,但只有在原来的逻辑卷或者快照有所改变才会使用这些空间
当原来的逻辑卷中有所改变时,会将旧的数据复制到快照中。
快照中只含有原来的逻辑卷中更改的数据或者自生成快照后的快照中更改的数据
创建快照的卷大小只须要原始逻辑卷的15%~20%就够了,也可使用lvextend放大快照
快照就是将当时的系统信息记录下来,就好像照相通常,若未来有任何数据改动了,则原始数据会被移动到快照区,没有改动的区域则由快照区和文件系统共享
因为快照区与本来的LV共用不少PE的区块,所以快照去与被快照的LV必须在同一个VG.系统恢复的时候的文件数量不能高于快照区的实际容量
实验1、建立逻辑卷快照(-p r 只读权限)
lvcreate -n lv1_snapshot -L 1G -s -p r /dev/vg1/lv1
挂载(centos7不能将快照卷挂载到目录) mkdir /mnt/lv1_snapshot;mount /dev/vg1/lv1_snapshot /mnt/lv1_snapshot 更改被快照卷的文件 
实验、使用快照卷还原数据
一、快照卷和被快照卷都要取消挂载
umount /mnt/lv1;umount /mnt/lv1_snapshot
二、使用快照还原(快照卷和被更改后的快照卷合并恢复原始快照卷)lvconvert --merge /dev/vg1/lv1_snapshot