一.磁盘配额的相关知识
(1)工作原理及方式
*以文件系统为单位启动
*以特定的用户或组为对象
*根据块或节点进行限制
*在内核中运行
*VFAT系统不支持quota
(2)初始化
*分区挂载选项:usrquota grpquota
*初始化数据库:quotacheck 扫描文件系统并新建quota配置文件
quota [option] [/mount_point]
-a 扫描所有在/etc/mtab内,含有quota支持的文件系统,加上此参数后,挂载点可以不写,因为扫描所有系统了
-v 显示过程
-u 针对用户扫描文件与目录的使用情况,会新建aquota.user
-g 针对用户组扫描文件与目录的使用情况,会新建aquota.group
(3)执行
*开启或者取消配额:quotaon、quotaoff 参数和quotacheck的a v u g 参数作用一致
*直接编辑配额:edquota username
edquota使用详解:edquota -t
dequota -p 范本账号 -u 新账号
-u user
-g group
-t 修改宽限时间
-p 复制范本
*在shell中直接编辑:
setquota username softblock hardblock softinode hardinode 设置配额的文件系统
*定义原始标准用户
edquota -p user1 user2
(4)报告
*用户调查 quota
-u 显示出该用户的quota,不加用户,显示执行者quota
-g 显示该用户组的quota
-v 显示每个用户在文件系统中的quota值
-s 使用1024位倍数来制定单位,会显示如M之类的单位
*配额概述:repquota
-a 直接到/etc/mstab查询具有quota标志的文件系统,并报告quota的结果
-v 输出的数据含有文件系统相关的详细信息
-u 显示用户的quota值,默认选项
-g 显示个别组的quota值
-s 使用G M为单位显示结果
*其他工具:warnquota 当针对某用户的磁盘限额达到soft值时,执行此命令会发邮件给该用户
实例:针对/home目录设置quota,并给tian,tianzhi用户设置quota
-
由于quota是针对文件系统的,查看/home是不是独立文件系统
-
位避免不必要的权限问题,建议关掉selinux
-
给/home目录加上usrquota挂载选项
-
用quotacheck -a 检查文件系统并创建配置文件
-
开启quota并查看其状态
-
针对tian用户设置quota
-
给tianzhi用户设置磁盘配额
-
切换到tian用户下,创建一个300M大小文件;显示超过警报线
-
创建一个520M文件;结果显示创建失败
二.RAID(Redudant Arrays of Inexpensive Disks) 结合内核中的md(multi devices)
(1)多个磁盘合成一个阵列来提供更好的性能、冗余
提高I/O能力:磁盘并行读写
提高耐用性:磁盘冗余来实现
级别:多块磁盘组合在一起的方式不同
(2)raid实现方式
外接式磁盘阵列:通过拓展卡提供适配能力
内接式RAID:主板集成RAID控制器
安装OS前在BIOS里设置
Software Raid:
(3)RAID级别
RAID-0:
读、写性能提升;
可用空间:N*min(S1,S2,…)
无容错能力
最少磁盘数:2, 2
RAID-1:
读性能提升、写性能略有下降;
可用空间:1*min(S1,S2,…)
有冗余能力
最少磁盘数:2, 2N
RAID-4:
多块数据盘异或运算值,存于专用校验盘
RAID-5:
读、写性能提升
可用空间:(N-1)*min(S1,S2,…)
有容错能力:允许最多1块磁盘损坏
最少磁盘数:3, 3+
RAID-6:
读、写性能提升
可用空间:(N-2)*min(S1,S2,…)
有容错能力:允许最多2块磁盘损坏
最少磁盘数:4, 4+
RAID-10: 比RAID-01性能好
读、写性能提升
可用空间:N*min(S1,S2,…)/2
有容错能力:每组镜像最多只能坏一块
最少磁盘数:4, 4+
RAID-01、RAID-50
RAID7:可以理解为一个独立存储计算机,自身带有操作系统和管理工具,可以独立运行,理论上性能最高的RAID模式
JBOD:Just a Bunch Of Disks
功能:将多块磁盘的空间合并一个大的连续空间使用
可用空间:sum(S1,S2,…)
(4)mdadm:为软RAID提供管理界面(感觉不好用)
mdadm [mode] <raiddevice> [options] <component-devices>
创建磁盘阵列
mdadm –create –auto=yes /dev/md[0-9] –raid-device=n –level=[0 1 5] –spare-device=m /dev/sdx….
查看磁盘阵列信息
mdadm –detail 磁盘阵列名
cat /proc/mdstat
管理磁盘阵列
mdadm –manage /dev/md[0-9] [–add 设备] [–remove 设备] [–fail 设备]
软磁盘阵列配置文件
/etc/mdadm.conf
生成配置文件 mdadm -D -s >> /etc/mdadm.conf
关闭磁盘阵列
mdadm –stop /dev/md*
实例:用5块磁盘创建一个raid5,并模拟实现raid5容错功能
-
新建分区,分区标识符为fd,其他几个分区类似
-
创建raid
-
查看/dev/md0信息
-
把/dev/md0格式化后挂载到/mnt/raid下边
-
在/mnt/raid新建文件f1,使得/dev/sdd1处于出错状态
-
查看md0信息
发现原来的空闲分区/dev/sde2处于工作状态,而/dev/sdd1处于出错状态
-
最后发现在centos6.8环境下,不管模拟几块硬盘出错误,文件都能看,而且不是以内文件小于chunk的原因,
由于此处仅是帮助理解raid原理,故不作深究
三.逻辑卷相关知识详解
(1)逻辑卷可以弹性调整文件系统的容量,raid在于性能与数据的保全
*dm device mapper:将多个底层块设备组织成一个逻辑设备的模块
*设备名:/dev/dm-#
*软链接:
/dev/mapper/VG_NAME-LV_NAME
/dev/mapper/vol0-root
/dev/VG_NAME/LV_NAME
/dev/vol0/root
*PE默认大小为4M
*逻辑卷存储方式: 线性方式,类似于raid 0
交错方式(triped):类似于raid 1
(2)pv管理工具
pvcreate:将物理分区新建为pv
pvscan:查询系统内哪些磁盘具有pv
pvdisplay:显示目前系统上pv状态
pvs:简要pv信息
pvremove:让该分区不具有pv属性
pvmove :移动PE
(3)vg管理工具
vgcreate [-s n[mgt]] 指定PE大小 单位大小写均可
vgscan
vgs
vgdisplay
vgremove:删除一个VG
vgextend:在VG内增加额外的PV
vgreduce:在VG内删除pv
vgchange:设置VG是否启动
(4)lv管理工具
lvcreate
lvscan
lvs
lvdisplay
lvextend 可以确实改变文件系统大小
lvreduce
lvremove
lvresize:对LV容量大小进行调整
lvcreate [-L n[mgt]] [-n LV名称] VG名称
lvcreate [-l n] [-n LV名称] VG名称
参数:
-L 后边接容量,最小单位是PE
-l 后边接的是PE的个数
-n 接的是LV的名称
重设文件系统大小
fsadm[options] resize device [new_size[BKMGTEP]]
resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]
(5)xfs_growfs device xfs文件系统确实增长 不可减少
(6)lvm的系统快照
*快照是特殊的逻辑卷,它是在快照生成时逻辑卷的准确拷贝
*快照只有在他们和原来的逻辑卷不同时才会消耗空间
*快照中只含有原逻辑卷中更改的数据以及手动在快照文件中改变的数据
*快照去与被快照的lv卷在同一个vg中
快照区的新建:
lvcreate -l #1 -s -n 快照去设备名称 被快照lv卷
利用快照区复原系统:
1 把快照区当下文件全部备份
2取消快照区的挂载,如果先取消被快照区,会把快照去溢满
3 取消被快照区的挂载,重新格式化、挂载被快照区,然后把备份文件解压缩到被挂载区
4 利用快照去构建测试环境:
创建快照区
1 取消被快照区的挂载(可有可无,隐藏起来较好)
2 随意操作快照区
3 重新格式化快照区,并在次创建快照区
作业:
1、创建一个至少有两个PV组成的大小为15G的名为testvg的VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录
2、新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,复制/etc/pam.d目录至自己的家目录
3、扩展testlv至7G,要求archlinux用户的文件不能丢失
4、收缩testlv至3G,要求archlinux用户的文件不能丢失
5、对testlv创建快照,并尝试基于快照备份数据,验正快照的功能
-
创建两个分区id为8e的分区,如下所示
-
创建pv,并显示信息
-
创建PE大小为16MB的卷组testvg,大小为15G
-
创建大小为5G的逻辑卷testlv
5.格式化逻辑卷后,把挂载逻辑卷到/users下
实际上lvm使用的设备是放在/dev/mapper/目录下,所以会看到上诉第二个红线所画部分
6.新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,复制/etc/pam.d目录至自己的家目录
显示当前文件所占大小
7.扩展testlv到7G大小,查看数据大小
发现数据大小不变,数据应该没有丢失
查看逻辑卷所在文件系统大小,发现大小依旧为5G
8.用resize2fs改变文件系统大小
查看数据大小,发现大小没变
8.收缩/testlv至3G,要求不损坏数据
(1)先用resize2fs直接缩小文件系统大小,发现不支持在线修改
(2)取消/dev/testvg/testlv挂载,然后检查文件系统
(3)缩减所建文件系统的大小到3G
(4)为不损坏数据,缩小后的lvm大小必须大于数据大小
发现缩减后的lvm大小远大于文件数据大小
9.对/dev/testvg/testlv创建快照
(1)为/dev/testvg/testlv创建快照
(2)挂载到/snapshot下,结果如下
(3)查看快照区与被快照区的内容
(4)在/users下添加issue文件,查看快照去区使用情况
(5)把快照区内容打包备份,然后取消快照区的挂载;要不一会儿格式化被快照区,快照区会溢满
(6)卸载快照区,重新格式化快照区,然后挂载到/users下,再把打包文件解压缩到/users下
发现/users下并没有新添加的issue文件,快照功能实现
原创文章,作者:mengzhiqian,如若转载,请注明出处:http://www.178linux.com/42635
评论列表(1条)
写的很好·哦,坚持写下去,不要半途而废哦,