磁盘阵列
磁盘阵列
一、介绍
磁盘阵列(Redundant Arrays of Independent Disks,RAID)。
raid0:多块硬盘(最少2块)同时工作,提高速度。适用于“读”操作比较多的网站,如淘宝。但安全性低,一个硬盘挂掉整个系统崩溃
raid1:多块硬盘(最少2块)协同工作,2块硬盘同时存储一样的内容,1块硬盘挂掉对数据没有影响。但是2块硬盘如果一共100G就只能利用50G的空间。牺牲了硬盘容量提高了安全性。多用于“写”操作多的网站,如论坛
raid5:相当于raid0和raid1的折中方案。需要至少3块硬盘,两块工作、一块备用,有一个挂掉时备用盘立刻同步挂掉的磁盘数据接着工作。
二、raid5演示
1.创建、挂载
fdisk /dev/vdb #创建三个分区sdb1、sdb2、sdb3,分区标示为raid(编号为fd)
partprobe #同步分区表
mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3} #制作双磁盘和一个闲置。(-C 表示创建|-a Yes如果没有自动创建|-n 2用2块磁盘做阵列|-x 1用一块闲置)
mkfs.xfs /dev/md0 #格式化
mount /dev/md0 /mnt/ #挂载
2.测试
watch -n 1 cat /proc/mdstat #监控
#可以看到sdb1和sdb2为使用状态,sdb3闲置状态
1)mdadm -f /dev/md0 /dev/sdb1 #指定sdb1磁盘失效
##监控到sdb1失效,sdb3自动替换,sdb1数据自动同步到sdb3
2)mdadm -D /dev/md0 查看raid状态
[[email protected] mnt]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Wed Nov 15 23:32:06 2017
Raid Level : raid1
Array Size : 306880 (299.74 MiB 314.25 MB)
Used Dev Size : 306880 (299.74 MiB 314.25 MB)
Raid Devices : 2
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Mon Nov 20 12:52:48 2017
State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1
Name : desktop.example.com:0 (local to host desktop.example.com)
UUID : 02878db9:92cbc415:e6de1abd:a7aa8705
Events : 19
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 18 1 active sync /dev/sdb2
2 8 19 - spare /dev/sdb3
3)mdadm -r /dev/md0 /dev/sdb1 删除指定硬盘
4)mdadm -a /dev/md0 /dev/sdb1 添加指定硬盘
3.删除raid
umount /mnt/ 取消挂载
mdadm -S /dev/md0 停止使用
fdisk /dev/vdb
删除分区sdb1、sdb2、sdb3
partprobe同步分区表
配额
首先fdisk分区sdb1
mkdir /pub
chmod 777 /pub #由于是给普通用户使用的,为了方便给出777权限
mount -o usrquota /dev/sdb1 /pub #挂载,加上配额参数打开,默认是关闭的,加-o
quotaon -uv /dev/sdb1 #启动磁盘配额在添加这个参数后,打开权限配额,打开的是mount挂载的 /dev/sdb1
edquota -u student #编辑配额配置文件,指定student用户
Disk quotas for user student (uid 1002):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 0 0 40000 1 0 0
##40000表示student用户最多可以使用40M空间
su - student
dd if=/dev/zero of=/pub/studentfile bs=1M count=500
[[email protected] ~]$ du -sh /pub/studentfile
40M /pub/studentfile
##可以看到截取了500M却最多只有40M,这就是配额的作用
将截取大小改为20M,可以看到文件大小就变为20M了:
[[email protected] ~]$ dd if=/dev/zero of=/pub/studentfile bs=1M count=20
20+0 records in
20+0 records out
20971520 bytes (21 MB) copied, 0.0141845 s, 1.5 GB/s
[[email protected] ~]$ du -sh /pub/studentfile
20M /pub/studentfile
查看配置,可以看到这里变为了40000k
[[email protected] ~]$ quota
Disk quotas for user student (uid 1002):
Filesystem blocks quota limit grace files quota limit grace
/dev/sdb1 40000* 0 40000 1 0 0
tip:对于其他用户来说在/pub下截取文件不受大小限制,因为并没有为student以外的用户做配额