raid磁盘阵列:
磁盘阵列有“独立磁盘构成的具有冗余能力的阵列”之意。磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的
磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别
存放在各个硬盘上。 磁盘阵列还能利用同位检查的观念,在数组中任意一个硬盘故障时仍可读出数据,在数据重构时,
将数据经计算后重新置入新硬盘中。
首先用一开始的分区方式建立三个1G的分区并用t更改fd类型。建立分区部分不再详细解释。
[root@localhost ~]# fdisk -l
/dev/vdb1 2048 2099199 1048576 fd Linux raid autodetect
/dev/vdb2 2099200 4196351 1048576 fd Linux raid autodetect
/dev/vdb3 4196352 6293503 1048576 fd Linux raid autodetect
已经建立成功三个1G的RAID
mdadm命令:
mdadm命令用于管理Linux系统中的软件RAID磁盘阵列,格式为“mdadm [模式]<RAID设备名称>[选项][成员设备名称]”
mdadm命令的参数及作用如下:
参数 | 作用 |
-a | 检测设备名称 |
-n | 指定设备数量 |
-l | 指定RAID级别 |
-C | 创建 |
-v | 显示过程 |
-f | 模拟设备损坏 |
-r | 移除设备 |
-Q | 查看摘要信息 |
-D | 查看详细信息 |
-S | 停止RAID磁盘阵列 |
RAID磁盘阵列实验:
A:
watch -n 1 cat /proc/mdstat 开启监控
B:
[root@localhost ~]# mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3}
-a yes表示自动创建设备文件
[root@localhost ~]# mkfs.xfs /dev/md0 格式化
meta-data=/dev/md0 isize=256 agcount=4, agsize=65500 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4096 blocks=262000, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=853, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# mount /dev/md0 /mnt/可以挂载
[root@localhost ~]# df 查看挂载
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3763612 6710288 36% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 80 484852 1% /dev/shm
tmpfs 484932 12804 472128 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/md0 1044588 32928 1011660 4% /mnt
A:
打开监控在B操作查看效果:
B:
建立raid:
格式化挂载:
[root@localhost ~]# mdadm -D /dev/md0 查看raid状态
/dev/md0:
Version : 1.2
Creation Time : Mon Apr 30 04:46:09 2018
Raid Level : raid1
Array Size : 1048000 (1023.61 MiB 1073.15 MB)
Used Dev Size : 1048000 (1023.61 MiB 1073.15 MB)
Raid Devices : 2
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Mon Apr 30 04:47:47 2018
State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1
Name : localhost:0 (local to host localhost)
UUID : cba7d76d:d01d7925:dcc6829e:1b4f394a
Events : 17
Number Major Minor RaidDevice State
0 253 17 0 active sync /dev/vdb1
1 253 18 1 active sync /dev/vdb2
2 253 19 - spare /dev/vdb3
[root@localhost ~]# mdadm /dev/md0 -f /dev/vdb2 损坏raid时,vdb3这块硬盘会来顶替vdb2的位置,这就是一开始建立一块闲置硬盘的作用。
mdadm: set /dev/vdb2 faulty in /dev/md0
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3763628 6710272 36% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 80 484852 1% /dev/shm
tmpfs 484932 12804 472128 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/md0 1044588 32928 1011660 4% /mnt
[root@localhost ~]# umount /mnt/
[root@localhost ~]# mdadm /dev/md0 -r /dev/vdb2 删除raid
mdadm: hot removed /dev/vdb2 from /dev/md0
[root@localhost ~]# mdadm /dev/md0 -a /dev/vdb2 添加raid
mdadm: added /dev/vdb2
查看状态
用-f命令损坏时,vdb3会出来顶替vdb2的工作,在现实中,两块磁盘同时损坏并不常见,所以这样就很好的起到了管理磁盘的作用。
参数的呈现:
设备的删除, 还原分区,解除挂载,停止阵列。
[root@localhost ~]# df 查看挂载
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3763532 6710368 36% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 80 484852 1% /dev/shm
tmpfs 484932 12804 472128 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
[root@localhost ~]# mdadm -S /dev/md0 停止
mdadm: stopped /dev/md0
[root@localhost ~]# fdisk /dev/vdb 删除三个分区
[root@localhost ~]# partprobe 同步
[root@localhost ~]# cat /proc/partitions 查看
major minor #blocks name
253 0 10485760 vda
253 1 10484142 vda1
253 16 10485760 vdb
停止阵列删除分区:
同步查看:
磁盘配额:
[root@localhost ~]# fdisk /dev/vdb建立一个1G分区
[root@localhost ~]# partprobe 同步
[root@localhost ~]# mkfs.xfs /dev/vdb1 格式化
[root@localhost ~]# chmod 777 /mnt/ 赋予权限
[root@localhost ~]# mount -o usrquota /dev/vdb1 /mnt/ 挂载,激活配额参数 (错误在于需要先挂载再赋予权限,)
[root@localhost ~]# mount 查看配额参数
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
/dev/vdb1 on /mnt type xfs (rw,relatime,seclabel,attr2,inode64,usrquota) 显示已经激活
[root@localhost ~]# edquota -u student 设置配额参数
表格内容:
Disk quotas for user student (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/vdb1 20480 0 20480 1 0 0
[root@localhost ~]# su -student 切换到student用户
[student@localhost ~]$ dd if=/dev/zero of=/mnt/studentfile bs=1M count=10 测试时候没有权限
dd: failed to open ‘/mnt/studentfile’: Permission denied
[student@localhost ~]$ logout
[root@localhost ~]# chmod 777 /mnt/ 用超级用户赋予权限
[root@localhost ~]# su - student
Last login: Fri May 4 21:42:31 EDT 2018 on pts/1
[student@localhost ~]$ dd if=/dev/zero of=/mnt/studentfile bs=1M count=10 测试成功
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 0.00731995 s, 1.4 GB/s
[student@localhost ~]$ dd if=/dev/zero of=/mnt/studentfile bs=1M count=20
20+0 records in
20+0 records out
20971520 bytes (21 MB) copied, 0.0322096 s, 651 MB/s
[student@localhost ~]$ dd if=/dev/zero of=/mnt/studentfile bs=1M count=21 报错,超出范围。
dd: error writing ‘/mnt/studentfile’: Disk quota exceeded
21+0 records in
20+0 records out
20971520 bytes (21 MB) copied, 0.022377 s, 937 MB/s
[root@localhost ~]# df 查看挂载
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3805232 6668668 37% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 84 484848 1% /dev/shm
tmpfs 484932 12768 472164 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/vdb1 1038336 53416 984920 6% /mnt
[root@localhost ~]# reboot 重启失效
首先解读文件内容,各个参数如下:
blocks表示student用户已经有多大数据,容量。
soft表示软件
hard表示硬件,
inodes已经有多少文件,个数
soft表示用来几次会有警告
hard表示文件个数的最大上限
挂载激活配额参数:
dd命令:
dd命令用于按照指定大小和个数的数据块来复制文件和转换文件。
参数 | 作用 |
if | 输入的文件名称 |
of | 输出的文件名称 |
bs | 设置每个块的大小 |
count | 设置要复制块的个数 |
赋予权限切换到student用户进行测试。
查看挂载成功,重启系统进而查看。
挂载丢失
磁盘配额重启失效,需要实现自动挂载:
[root@localhost ~]# df 没有挂载
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3804264 6669636 37% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 80 484852 1% /dev/shm
tmpfs 484932 12744 472188 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
[root@localhost ~]# vim /etc/fstab 编辑文件
[root@localhost ~]# cat /etc/fstab
/dev/vdb1 /mnt xfs defaults,usrquota 0 0
[root@localhost ~]# reboot 重启
[root@localhost ~]# df 开机自动挂载
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3804460 6669440 37% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 80 484852 1% /dev/shm
tmpfs 484932 12748 472184 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup
/dev/vdb1 1038336 53416 984920 6% /mnt
文件内容:
自动挂载成功: