配置配额系统
控制单个用户,或组在某磁盘上所能占的最大空间大小
配额是基于磁盘分区的,不基于文件
如何基于软件控制配额:
1、设置分区挂载选项
修改/etc/fstab中挂载选项,在default后加:usrquota 、grpquota
usrquota:控制单个用户的空间
grpquota:控制组的空间
2、初始化数据库
quotacheck -cug /home
-c:创建
-u:控制用户
-g:控制组
3、开启或取消配额
quotaon、quotaoff
4、编辑配额
edquota
在shell中直接编辑
soft:警告线
hard:强制的红线,不能超过此大小
选项:
-p USER1 USER2 :参考usre1设置user2的配额
eg:edquota -p user1 user2
setquota usename 4096 5120 40 50 /DIR
设置某目录下的username用户的block和inode的soft和hard线
5、报告配额状态
用户调查:quota
配额概述:repquota
其它工具:warnquota
RAID:Redundant Array of Inexpensive(Independent) Disks
作用:
提供IO能力
磁盘并行读写
提高耐用性
磁盘冗余来实验
级别:多块磁盘组织在一起的工作方式不同;无等级之分
RAID实现的方式:(RAID存储中的块是chunk)
外接式RAID:通过扩展卡提供适配能力
内接式RAID:主板集成RAID控制器
Software RAID:通过软件实现
级别:level
RAID-0:0 ,条带卷 ,strip
读写性能提升
可用空间:N*min(S1,S2,…)
无容错能力
最少磁盘数:2 ,2+
RAID-1:1 ,镜像卷 ,mirror
读性能提升,写性能下降
可用空间:1*min(S1,S2,…)
有容错能力
最少磁盘数:2 ,2+
RAID-2 … RAID3 :基本淘汰
RAID-4:
把最后一块盘作校验盘,用与异或校验
如:1101
0110
异或1011
上面3个数,两两异或都可以得到另一个
损坏一块磁盘可以通过异或校验获得
可用空间:(N-1)*min(S1,S2,…)
最少磁盘数:3 ,3+
RAID-5:代奇偶校验位的条带机
读写性能提升
在RAID4的基础上,把校验块数据不全放在一块磁盘上
可用空间:(N-1)*min(S1,S2,…)
有容错能力:1块磁盘
最少磁盘数:3 ,3+
RAID-6:
读写性能提升
在RAID5的基础上,校验块数据不全放在一块磁盘上,且同一段数据有2个校验块
可用空间:(N-2)*min(S1,S2,…)
有容错能力:2块磁盘
最少磁盘数:4 ,4+
RAID7:
可以理解为一个独立存储计算机,自身带有操作系统和管理工具,可以独立运行,理论上性能最高的RAID
JBOD :Just a Bunch Of Disks
功能:将多块磁盘的空间合并一个大的连续空间使用可用空间:sum(S1,S2,…)
混合类型:
RAID-10:(先底层1,上层0)
读写性能提升
可用空间:N*min(S1,S2,…)/2
有容错能力:每组镜像最多可以坏1块
最少磁盘数:4 ,4+
RAID-01:(先底层0,上层1)
因先复制后切块,不同0中可能切块标准不同
RAID-01在损坏一块盘后,下一块磁盘的损坏导致数据不可修复的概率远大于RAID-10
实际生产中使用的很少
例如:
有6块磁盘分别做RAID-10,RAID-01
RAID-10:在损坏一块盘后,下一块磁盘的损坏导致数据不可修复的概率
1/5
RAID-01:在损坏一块盘后,下一块磁盘的损坏导致数据不可修复的概率
3/5
RAID-50:(先底层5,上层0)
常用级别:RAID-0, RAID-1, RAID-5, RAID-10,RAID-50, JBOD
RAID的软件实现方式:
结合内核中的md(multi device)模块
RAID设备可命名为/dev/md0 、/dev/md1 、/dev/md2 、/dev/md3等等
mdadm:模式化的工具
命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices>
支持的RAID 级别:LINEAR, RAID0, RAID1, RAID4,RAID5, RAID6, RAID10
模式:
创建:-C
装配:-A
监控:-F
管理:-f, -r, -a
<raiddevice>:/dev/md#
<component-devices>:任意块设备
注意:若使用磁盘分区做RAID,磁盘分区类型必须先修改为fd类型,若把整块磁盘拿来做RAID的无须此操作
-C:创建模式
-n #:使用#个块设备来创建此RAID
-l #:指明要创建的RAID的级别
-a {yes|no}:自动创建目标RAID 设备的设备文件
-c CHUNK_SIZE:指明块大小
-x #:指明空闲盘的个数
-D:显示raid的详细信息;
mdadm -D /dev/md#
管理模式:
-f:标记指定磁盘为损坏
-a:添加磁盘
-r:移除磁盘
观察md的状态:
cat /proc/mdstat
停止md设备:
mdadm -S /dev/md#
补充:
生成配置文件:mdadm –D –s >> /etc/mdadm.conf
停止服务:mdadm –S /dev/md0
激活:mdadm –A –s /dev/md0 激活
删除raid信息:mdadm –zero-superblock /dev/sdb1
作业:1、创建一个可用空间为1G的RAID1设备,要求其chunk大小为128k,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录
[root@CentOS6 bin]# fdisk /dev/sda ...... Command (m for help): n First cylinder (11422-26109, default 11422): Using default value 11422 Last cylinder, +cylinders or +size{K,M,G} (11422-26109, default 26109): +1G Command (m for help): t Partition number (1-10): 10 Hex code (type L to list codes): fd Changed system type of partition 10 to fd (Linux raid autodetect) Command (m for help): w ...... [root@CentOS6 bin]# partx -a /dev/sda BLKPG: Device or resource busy error adding partition 1 ....... error adding partition 9 [root@CentOS6 bin]# fdisk /dev/sdb ...... Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-2610, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +1G Command (m for help): t Selected partition 1 Hex code (type L to list codes): fd Changed system type of partition 1 to fd (Linux raid autodetect) Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@CentOS6 bin]# mdadm -C /dev/md0 -a yes -c 128 -n 2 -l 1 /dev/sda10 /dev/sdb1 mdadm: /dev/sda10 appears to be part of a raid array: level=raid10 devices=4 ctime=Sat Aug 13 14:00:41 2016 ...... Continue creating array? y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started. [root@CentOS6 bin]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Sat Aug 27 19:09:24 2016 Raid Level : raid1 Array Size : 1059200 (1034.38 MiB 1084.62 MB) Used Dev Size : 1059200 (1034.38 MiB 1084.62 MB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Update Time : Sat Aug 27 19:09:29 2016 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Name : CentOS6.localdomain:0 (local to host CentOS6.localdomain) UUID : 0cef403b:6b7d04e9:6e82624a:3c7cb111 Events : 17 Number Major Minor RaidDevice State 0 8 10 0 active sync /dev/sda10 1 8 17 1 active sync /dev/sdb1 [root@CentOS6 bin]# mkfs.ext4 /dev/md0 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) ...... [root@CentOS6 ~]# mdadm -Ds /dev/md0 >> /etc/mdadm.conf [root@CentOS6 ~]# blkid /dev/md0 /dev/md0: UUID="1a7cdcab-6799-4773-aa40-7cbc0839281a" TYPE="ext4" [root@CentOS6 bin]# mkdir /backup [root@CentOS6 bin]# vim /etc/fstab
2、创建由三块硬盘组成的可用空间为2G的RAID5设备,要求其chunk大小为256k,文件系统为ext4,开机可自动挂载至/mydata目录
[root@CentOS6 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 3.7G 0 rom /media/CentOS_6.8_Final sda 8:0 0 100G 0 disk ├─sda1 8:1 0 300M 0 part /boot ├─sda2 8:2 0 97.8G 0 part / └─sda3 8:3 0 2G 0 part [SWAP] sdb 8:16 0 10G 0 disk sdc 8:32 0 10G 0 disk sdd 8:48 0 10G 0 disk [root@CentOS6 ~]# fdisk /dev/sdb ...... Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-1305, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-1305, default 1305): +1G Command (m for help): t Selected partition 1 Hex code (type L to list codes): fd Changed system type of partition 1 to fd (Linux raid autodetect) Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@CentOS6 ~]# dd if=/dev/sdb of=/dev/sdc bs=1 count=512 512+0 records in 512+0 records out 512 bytes (512 B) copied, 0.0174599 s, 29.3 kB/s [root@CentOS6 ~]# dd if=/dev/sdb of=/dev/sdd bs=1 count=512 512+0 records in 512+0 records out 512 bytes (512 B) copied, 0.0151496 s, 33.8 kB/s [root@CentOS6 ~]# partx -a /dev/sdc [root@CentOS6 ~]# partx -a /dev/sdd [root@CentOS6 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 3.7G 0 rom /media/CentOS_6.8_Final sda 8:0 0 100G 0 disk ├─sda1 8:1 0 300M 0 part /boot ├─sda2 8:2 0 97.8G 0 part / └─sda3 8:3 0 2G 0 part [SWAP] sdb 8:16 0 10G 0 disk └─sdb1 8:17 0 1G 0 part sdc 8:32 0 10G 0 disk └─sdc1 8:33 0 1G 0 part sdd 8:48 0 10G 0 disk └─sdd1 8:49 0 1G 0 part [root@CentOS6 ~]# mdadm -C /dev/md1 -a yes -n 3 -l 5 -c 256 /dev/sd{b,c,d}1 mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md1 started. [root@CentOS6 ~]# mdadm -D /dev/md1 /dev/md1: Version : 1.2 Creation Time : Sat Aug 27 21:15:20 2016 Raid Level : raid5 Array Size : 2118144 (2.02 GiB 2.17 GB) Used Dev Size : 1059072 (1034.25 MiB 1084.49 MB) Raid Devices : 3 Total Devices : 3 Persistence : Superblock is persistent Update Time : Sat Aug 27 21:15:29 2016 State : clean Active Devices : 3 Working Devices : 3 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 256K Name : CentOS6.localdomain:1 (local to host CentOS6.localdomain) UUID : 4ccfff84:4930166e:1f9cb732:5973cae4 Events : 18 Number Major Minor RaidDevice State 0 8 17 0 active sync /dev/sdb1 1 8 33 1 active sync /dev/sdc1 3 8 49 2 active sync /dev/sdd1 [root@CentOS6 ~]# mdadm -Ds /dev/md1 >> /etc/mdadm.conf [root@CentOS6 ~]# mkfs.etx4 /dev/md1 [root@CentOS6 ~]# mkdir /mydata [root@CentOS6 ~]# vim /etc/fstab /dev/md1 /mydata ext4 defaults0 0
原创文章,作者:megedugao,如若转载,请注明出处:http://www.178linux.com/41030