Linux零基础铁血训练营入门题

发表于 2020-03-30  824 次阅读


看到梁博的招生微博时已经晚了,但还是把题下载下来作了一遍。

本案使用的CentOS Linux release 7.7.1908 (Core)

题目如下:

第一页
第二页

第一题:

首先在虚拟机内添加一块容量为8G的硬盘。

1、fdisk -l
2、fdisk /dev/sdb
3、n #创建新分区
......

默认一路回车键

先创建一个扩展分区,再进行逻辑分区。
终于扇区为 "+1G"创建大小为1G的分区。

创建完成5个为容量为1G的分区。

第二题:

mdadm --creat --auto=yes /dev/md0 --level=5 --raid-devices=4 /dev/sdb{5,6,7,8} #创建md0的raid5
mkfs -t ext4 /dev/md0  #创建文件系统
md0的容量

第三题:

touch readme #创建空文件
创建了readme

########################扩容########################
第四题:

mdadm /dev/md0 --add /dev/sdb9 #添加另一个sdb9分区至md0阵列内做为热备盘。
sdb9为spare(热备状态)
mdadm --grow --raid-device=5 /dev/md0 #进行"扩展阵列”后sdb9状态由"spare"转为"active sync"
sdb9加入md0阵列后的磁盘容量为3.9G

###################坏盘修复##########################

第五题:

cat /proc/mdstat #查看阵列信息
查看阵列信息

第六题:

mdadm /dev/md0 --fail /dev/sdb6 --remove /dev/sdb6  #从md0阵列移除sdb6分区
移除掉sdb6

第七题:

mkfs.ext4 /dev/sdb6 #格式化sdb6为ext4 并挂载在了我本机根目录的666目录下
echo "hello world" >> hi.txt #写一些内容到666目录下的hi.txt
格式化&挂载sdb6并写入文件

第八题:

发现md0的活动磁盘仅有sdb5、sdb7、sdb8、sdb9,没有sdb6

第九题:

umount /666 #卸载掉/dev/sdb6的挂载。
mdadm /dev/md0 --add /dev/sdb6 #添加sdb6至md0阵列内。添加完成后发现sdb6并未在“备用”状态,而是直接进入了"active sync"。
重新挂载sdb6至md0阵列

第十题:

再次查看mdstat状态发现active内新增加了sdb6,此时md0所挂载的data目录内之前创建的readme和sdb6单独为一个分区时创建的hi.txt均丢失。

[[email protected] ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdb6[6] sdb9[5] sdb8[4] sdb7[2] sdb5[0]
4186112 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/5] [UUUUU]

unused devices:

###################raid的恢复######################

第十题:

umount /data #卸载/data
mdadm -S /dev/md0  #打散/dev/md0阵列

第十一题:

mdadm -A /dev/md0 /dev/sdb{5,6,7,8,9} #重建raid

mount /dev/md0 /data #重新挂载md0至/data之前创建的readme恢复。

数据恢复如初。

####################思考题################

第一题:

答案:在5块盘,其中一块为热备盘的情况下,最多坏2块盘

损坏2块硬盘的情况
损坏三块盘的情况下可读,但不可写。

第二题:

无热备盘环境,坏1块盘,raid之前在4块盘下创建的readme丢失,但raid在3块盘下仍可以正常写入和读取新创建的文件。

第三题:

umount /data && mdadm --stop /dev/md0 #首先呢,先停止阵列
mdadm -A /dev/md0 /dev/sdb{5,6,7} && mount /dev/md0 /data 可以恢复数据
mdadm -A /dev/md0 /dev/sdb{5,6,8} && mount /dev/md0 /data  #不能恢复数据 报错信息如下:mdadm: /dev/md0 assembled from 2 drives and 1 spare - need all 3 to start it (use --run to insist)
mdadm -A /dev/md0 /dev/sdb{5,8}  不能恢复 报错信息如下:mdadm: /dev/md0 assembled from 1 drive and 1 spare - not enough to start the array.
mdadm -A /dev/md0 /dev/sdb{5,7} && mount /dev/md0 /data 可以恢复数据

小结:

添加热备盘
mdadm /dev/md0 --add /dev/sdb9
模拟坏盘
mdadm --manage /dev/md0 --fail /dev/sdb6
mdadm /dev/md0 --fail /dev/sdb6 --remove /dev/sdb6

苦难是最好的大学。

本站文章基于国际协议BY-NA-SA 4.0协议共享;
如未特殊说明,本站文章皆为原创文章,请规范转载。

1

专注于学习,生活,教育。