配置配额系统
控制单个用户,或组在某磁盘上所能占的最大空间大小
配额是基于磁盘分区的,不基于文件
如何基于软件控制配额:
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

