高级文件系统管理
磁盘配额 quota
限制用户在某个分区的容量,创建数目的多少!
一般实施在家目录 /home 下来限制用户的占用空间
-
限制某一群组所能使用的最大磁盘配额 (使用群组限制):
-
限制某一用户的最大磁盘配额 (使用用户限制):它仅能针对整个文件系统来进行设计,无法针对某个单一的
目录来设计它的磁盘配额。 -
限制某一目录 (directory, project) 的最大磁盘配额
-
只对一般身份使用者有效:
实现磁盘配额(/home目录下)
在下面操作前首先把 /home 目录下的所有文件都要先移出去(用mv 命令 这样不会改变文件的属性),注意此操作最好在单用户模式下进行,不能有普通用户使用的状态下
1、启用配额挂载选项()
vim /etc/fstab usrquota,grpquota
挂载好以后把家目录下的数据移动过来
2、创建配额数据库
quotacheck -cug /home
setenforce 0 关闭selinux
3、启用数据库
quotaon -p /home 查看是否启用数据库
quotaon /home 启用数据库
4、配置配额项
edquota qzx
-
block 和 inode 下的表示用户原先占有的大小,不要改动
-
soft警告大小 hard 最大数据大小
edquota -p qzx mage
以qzx的配额指定 mage 的配额
setquota tom 100000 150000 0 0 /home
5、测试
quota wang
repquota /home 查看配额的分区表
Quota 的使用限制
在 EXT 文件系统家族仅能针对整个 filesystem
核心必须支持 quota :
RAID
提高IO能力:
-
磁盘并行读写
提高耐用性;
-
磁盘冗余来实现
级别:多块磁盘组织在一起的工作方式有所不同
RAID实现的方式:
-
外接式磁盘阵列:通过扩展卡提供适配能力
-
内接式RAID:主板集成RAID控制器
-
安装OS前在BIOS里配置
-
Software RAID:
Linux RAID
硬盘设备常见的接口类型:
IDE SCSI:15000rpm SATA:6Gbps SAS: USB: SCSI, IDE
RAID:Redundent Array Inexpensive Disks
廉价冗余磁盘阵列
Independent 性能:将I/O分散至多个设备; 冗余:将同一个数据至少存储在两个硬盘上; 异或运算: 1 1 0 0 1 1
RAID Level: 仅用于表明其组合方式的不同
raid0 --------- 条带式 raid0:把数据块平均分到各个硬盘上去,个存了一半,提供了扩展能力,耐用性下降,不适合于存储单个数据,当swap,当临时文件系统,缓存系统,安全性不大的问题 读、写均有提升; 无冗余能力; n块硬盘空间提升n倍; 至少两块 raid1 -------------复制每一份 raid1:数据块在每一个硬盘上都要存一份,如果是2块硬盘,都是一样的 写性能略有下降,读性能提升; 有冗余能力; 可空间:1*min disk;(取决于最小的那块硬盘) 至少两块
raid4:将三块以上的硬盘, 组成一个raid,其中有一块盘做校验码的存储,当有数据块存储时,数据平均分散到前两块硬盘上,最后一块存校验码(异或值),万一第二块数据坏了,可用另一个做异或运算算出来!!坏了后就会降级运行! 单块盘做校验,工作压力较大,很容易出现性能瓶颈!! 有可能有四快盘,最后一个叫热备盘 读、写性能提升; 有冗余能力,但至多坏一块盘; 空间:(n-1)*disk; 至少三块盘; raid5:相对于4,校验轮流存储,第一块数据存第一块盘上,第二块数据存第二块盘上,校验存第三块盘上,第三块数据存第二快盘,第四快数据存第三块盘,校验存在第一块盘中 。。。数据会出现左对称\或右对称/,一般都是做对称 \ 比起Raid4而言,无专门校验盘; 读、写性能提升; 有冗余能力,但至多一块盘; 空间:(n-1)*mindisk; 至少三块盘; raid6:两块盘做校验盘,校验码存两次(很少用) 有两个校验盘,至多允许同时损坏两块磁盘; 读、写性能提升; 有冗余能力;允许坏两块 空间:(n-2)*mindisk; 至少四块盘; raid10,01:一般用raid10 两两一组做成raid1 后做成raid0 至少需要四个盘; 至多允许同时损坏半数的磁盘,但同一组镜像中两个磁盘不能同时损坏; 读、写性能提升; 有较好的冗余能力; n/2*disk; raid50: 至少需要6个盘; 同组raid5不允许同时坏两个盘,但不同组可同时各坏一个; 读、写性能提升; 有冗余能力;空间: JBOD:将多块硬盘串联在一起,当一个设备使用;
实现方式:
硬件raid 软件raid 软件raid不常用! md: multi disks mdadm:管理software RAID; 模式化的命令: -A:装配模式 -C:创建模式 -F:监控模式 管理模式:-f, -r, a -D:显示指定RAID设备的详细信息; -C:创建模式专用选项 -n #: 用于创建RAID设备的磁盘设备的个数; -l #: 指明RAID级别; -a yes|no: 是否为正在创建的raid设备自动创建设备文件; -c Chunk_Size:指明CHUNK大小; -x #: 对于有冗余能力的RAID级别,此选项为其指定可用的空闲盘的个数; md设备的设备文件默认为/dev/md#: #仅设备编号,而与级别无关; 设备状态信息输出:/proc/mdstat 示例:示例:创建一个大小为10G的RAID5; 创建时要用fdisk -t 调成fd Linux raid auto mdadm -C /dev/md0 -a yes -n 3 -x 1 -l 5 /dev/sda{7,8,9,10} cat /proc/mdstat blkid /dev/md0 查看UUID等信息 mdadm -D 查看更详细的信息 recovery 对齐 注意:不应该使用同一个磁盘上的多个分区创建raid设备; 标记某个为损坏 mdadm /dev/md0 -f/dev/sda7 watch -n1 'cat /proc/mdstat' mdadm /dev/md0 -r /dev/sda7 ---移除一块硬盘 mdadm /dev/md0 -a /dev/sda7 ----添加sda7
管理命令的使用:
mdadm -D /dev/md#:查看指定设备的详细信息 mdadm -a /dev/md# /dev/DEVICE: 在指定的md设备添加一个块设备; mdadm -r /dev/md# /dev/DEVICE: 在指定的md设备上移除一个块设备; mdadm -f /dev/md# /dev/DEVICE: 手动标记指定md设备上的某块设备为faulty状态; 停止软RAID: mdadm -S /dev/md#:停止指定的RAID设备;将来使用时需要“装配(-A)”; 重新装配指定的软RAID: mdadm -A /dev/md# /dev/DEVICES 可能会读取配置文件:/etc/mdam.conf
watch命令的用法:
watch [-n #] 'COMMAND'
交互式查看,周期性地执行指定的COMMAND;- -n # : 指明间隔时长;
练习:
创建由三块硬盘组成的可用空间为4G的RAID5设备留一个做备用,要求其chunk大小为256k,文件系统为ext4,开机可自动挂载至/mydata目录, 1、fdisk t fd 创建4个分区,并用t选项更改每个分区的卷标为fd raid分区 2、创建raid设备 mdadm -C /dev/md0 -a yes -l 5 -n 3 -x1 /dev/sdd{1,2,3,4} mdadm -D /dev/md0 查看是否挂载成功 cat /proc/mdstat 3、mkfs.ext4 /dev/md0 格式化分区 4、vim /etc/fstab 改配置文件以下面的把磁盘挂在上 UUID="3bcbcca9-1e9e-40fb-9d23-b7f4c6a720e9" /mnt/raid ext4 defaults 0 0 用 mount -a 重读分区表 5、mdadm -Ds /dev/md0 > /etc/mdadm.conf 生成配置文件 mdadm -A /dev/md0 启动raid 6、测试 mdadm /dev/md0 -f /dev/sdd1 模拟损坏 mdadm /dev/md0 -r /dev/sdd1 删除成员 mdadm /dev/md0 -a /dev/sdd1 增加 mdadm -G /dev/md0 -n 6 -a /dev/sdd4 增加成员 7、删除raid umount /mnt/raid mdadm -S /dev/md0 停止raid rm -f /etc/mdadm.conf vi /etc/fstab fdisk /dev/sda 8、如果还是清楚不干净 mdadm --zero-superblock /dev/sdd1 注意:有冗余能力的RAID仅是为了避免因硬件损坏而导致业务中止,也能避免因硬件损坏而导致数据丢失;它不能取代备份的功能;
原创文章,作者:qzx,如若转载,请注明出处:http://www.178linux.com/42228
评论列表(1条)
文章对raid的各个级别工作方式整理的较为完整,通过图片清晰的展示了各个级别的工作模式,生成环境中一般软raid的不用,但是面试中常常需要我们能讲清楚他们之间的关系。