[Linux] Crear una matriz de incursión suave

Preparación ambiental

Agregue un disco duro virtual de 20G y divídalo en 10 particiones de 2G

1. Crear incursión0

Si no hay ningún comando mdadm en el sistema, instale las herramientas relevantes:

[root@node01 ~]# which mdadm
/usr/sbin/mdadm
[root@node01 ~]# rpm -qf /usr/sbin/mdadm 
mdadm-4.1-4.el8.x86_64
[root@node01 ~]# dnf install -y mdadm

Crear raid0:

[root@node01 ~]# mdadm --create /dev/md0 --raid-devices=2 /dev/sdb1 /dev/sdb2 --level=0
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

o

[root@node01 ~]# mdadm -C /dev/md0 -l 0 -n 2 /dev/sdb1 /dev/sdb2
-C:创建软raid
-l:指定raid级别
-n:指定raid中设备个数

Ver información de RAID:
el archivo /proc/mdstat registra toda la información de RAID

[root@node01 ~]# cat /proc/mdstat 
Personalities : [raid0] 
md0 : active raid0 sdb2[1] sdb1[0]
#md0为raid0,两个成员sdb2(第二个成员),sdb1(第一个成员)
      41905152 blocks super 1.2 512k chunks
#一共有多少个块(每块1K)	数据段的大小是512K
#chunk决定了阵列中每个成员盘写入的数据量,大于这个值才会到下一个盘读写
unused devices: <none>

Ver información RAID especificada:

[root@node01 ~]# mdadm -D/--detail /dev/md0
[root@node01 ~]# mdadm  --detail /dev/md0
/dev/md0:	#名称
         Version : 1.2	#工具版本
   Creation Time : Wed Dec 11 03:05:31 2019	#建立时间
   Raid Level : raid0	#类型
   Array Size : 41905152 (39.96 GiB 42.91 GB)#容量
   Raid Devices : 2	#组成RAID的硬盘数量
   Total Devices : 2#成员总数,包含备用磁盘
   Persistence : Superblock is persistent

   Update Time : Wed Dec 11 03:05:31 2019
   State : clean 	#raid的状态
   Active Devices : 2	#活跃的设备数量
   Working Devices : 2	#工作的设备数量
   Failed Devices : 0	#故障的数量
   Spare Devices : 0	#备用设备数量

   Chunk Size : 512K	

	 Consistency Policy : none

   Name : localhost.localdomain:0  (local to host localhost.localdomain)
   UUID : 06b2d3b2:3ace3ddf:b5b65dd7:eb40b040
   Events : 0

Number Major Minor RaidDevice State
 0     8     17    0      	active sync   /dev/sdb1
 1     8     33    1      	active sync   /dev/sdb2

Para formatear el uso del montaje:

[root@node01 ~]# mkfs.ext4 /dev/md0
[root@node01 ~]# mkdir /md0
[root@node01 ~]# mount /dev/md0 /md0/

Ver uso de espacio:

[root@node01 ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/md0           3.9G  16M  3.7G    1% /md0
#可用空间100%

prueba:

[root@node01 ~]# iostat -m -d /dev/sdb1 /dev/sdb2 2
[root@node01 ~]# dd if=/dev/zero of=/md0/file bs=1Mcount=1024

2. Crear RAID1

Crear raid1:

[root@node01 ~]# mdadm -C /dev/md1 -l 1 -n 2 /dev/sdb3 /dev/sdb4 

Ver información de estado:

[root@node01 ~]# watch -n1 "cat /proc/mdstat" 
#watch命令监控该文件变化情况,1秒钟显示一次
#或者直接查看
[root@node01 ~]# cat /proc/mdstat 
Personalities : [raid0] [raid1] 
md1 : active raid1 sdb4[1] sdb3[0]
      20953024 blocks super 1.2 [2/2] [UU]
      #两个UU说明状态ok,一个盘故障则显示_U
      [==============>......]  resync = 73.5% (15404032/20953024) finish=0.4min speed=205582K/sec
unused devices: <none>
      #以上信息说明两块盘在进行同步,100%说明同步完成

Ver detalles de raid1

[root@node01 ~]# mdadm -D /dev/md1   

Para formatear el uso del montaje:

[root@node01 ~]# mkfs.ext4 /dev/md1
[root@node01 ~]# mount /dev/md1 /md1

Ver uso de espacio:

[root@node01 ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/md1            2.0G  6.0M  1.9G    1% /md1
#可用空间50%

Pruebas para verificar el intercambio en caliente:

  1. Simular una falla de disco (marcar el disco como fallido)
[root@node01 ~]# mdadm /dev/md1 -f /dev/sdb3
mdadm: set /dev/sdb1 faulty in /dev/md1
#-f or --fail  表示失效
  1. Verificar el estado de raid1
[root@node01 ~]# cat /proc/mdstat 
Personalities : [raid0] [raid1] 
md1 : active raid1 sdb4[1] sdb3[0](F)	F表示失效失败
      20953024 blocks super 1.2 [2/1] [_U]
      #_表示有一块盘失效
unused devices: <none>

[root@node01 ~]# mdadm -D /dev/md1
...
Number Major Minor RaidDevice State
-      0     0     0      		removed
1      8     33    1          active sync  /dev/sdb4
0      8     17    -          faulty       /dev/sdb3
 #失效盘等待移除
  1. Quitar un disco duro defectuoso o fallido (intercambio en caliente)
[root@node01 ~]# mdadm /dev/md1 -r /dev/sdb3
mdadm: hot removed /dev/sdb3 from /dev/md1

#-r or --remove 表示移除

[root@node01 ~]# mdadm -D /dev/md1
...
  Number   Major   Minor   RaidDevice State
       -       0        0        0      removed
       1       8       33        1      active sync   /dev/sdb4
  1. Agregar nuevos discos a raid1 (conexión en caliente)
[root@node01 ~]# mdadm  /dev/md1 -a /dev/sdb5
mdadm: added /dev/sdd5

#-a or --add 表示增加

[root@node01 ~]# cat /proc/mdstat 

3. Crear RAID5

Crear raid5:

[root@node01 ~]# mdadm -C /dev/md5 -l 5 -n 3 -x 1 /dev/sdb{6,7,8,9}
#-x, --spare-devices=  表示指定热备盘

[root@node01 ~]# cat /proc/mdstat 
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] 
md5 : active raid5 sdb8[4] sdb9[3](S) sdb7[1] sdb6[0]	#S备用盘
      4188160 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
      
unused devices: <none>

Nota: El disco de repuesto dinámico significa que cuando uno de los discos falla, el disco de repuesto dinámico se instalará inmediatamente sin intervención manual.

[root@node01 ~]# mdadm -D /dev/md5 		查看详细信息
。。。
    Number   Major   Minor   RaidDevice State
       0       8       22        0      active sync   /dev/sdb6
       1       8       23        1      active sync   /dev/sdb7
       4       8       24        2      active sync   /dev/sdb8

       3       8       25        -      spare   /dev/sdb9

Para formatear el uso del montaje:

[root@node01 ~]# mkfs.ext4 /dev/md5
[root@node01 ~]# mkdir /md5
[root@node01 ~]# mount /dev/md5 /md5/

Ver uso de espacio:

[root@node01 ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
/dev/md5             3.9G   16M  3.7G    1% /md5
#可用空间 (磁盘数量-1)x 单一磁盘容量

Pruebe la función del disco de repuesto activo:

  1. Marcar un disco activo como no válido
[root@node01 /]# mdadm /dev/md5 -f /dev/sdb6
mdadm: set /dev/sdb6 faulty in /dev/md5

#立即查看状态:
[root@node01 /]# cat /proc/mdstat 
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] 
md5 : active raid5 sdb8[4] sdb9[3] sdb7[1] sdb6[0](F)
说明:
sdb6(F)失效后,原来的sdb9(S)热备盘立马顶上去同步数据
      4188160 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU]
      [==>..................]  recovery = 13.0% ..          
unused devices: <none>

[root@node01 /]# mdadm -D /dev/md5
...
      Number   Major   Minor   RaidDevice State
       3       8       25        0      active sync   /dev/sdb9
       1       8       23        1      active sync   /dev/sdb7
       4       8       24        2      active sync   /dev/sdb8

       0       8       22        -      faulty   /dev/sdb6
  1. Quitar disco fallido
[root@node01 /]# mdadm  /dev/md5 -r /dev/sdb6 
mdadm: hot removed /dev/sdb6 from /dev/md5
  1. Para consideraciones futuras, agregue nuevamente un disco de repuesto dinámico a raid5
[root@node01 /]# mdadm /dev/md5 -a /dev/sdb6
mdadm: added /dev/sdb6

4. Guarde la información de RAID

¿Por qué deberíamos guardar la información de las incursiones?
Si la información no se guarda, en CentOS6, la incursión no se puede reconocer automáticamente después de reiniciar el sistema, esta situación no ocurrirá en los sistemas 7 y 8.

  1. Crear archivo de configuración
[root@node01 ~]# mdadm -D --scan >> /etc/mdadm.conf 
[root@node01 ~]# cat /etc/mdadm.conf 
ARRAY /dev/md/1 metadata=1.2 name=localhost.localdomain:1 UUID=170d690d:4f7ccd02:646c3ce0:8f6012be
ARRAY /dev/md/0 metadata=1.2 name=localhost.localdomain:0 UUID=a845702e:9251cae9:25d1bc8b:9a337df2
ARRAY /dev/md/5 metadata=1.2 spares=1 name=localhost.localdomain:5 UUID=d49e6cca:5312271b:7e8e83d5:adac4ed5
detener y comenzar la incursión

Tome RAID5 como ejemplo:
detenga la incursión:

  1. Desinstalar incursión
[root@node01 ~]# umount /md5 
  1. Detener la incursión usando el comando
[root@node01 ~]# mdadm --stop /dev/md5
mdadm: stopped /dev/md5

Comienza la incursión:

  1. El archivo de configuración (/etc/mdadm.conf) existe y se inicia de la siguiente manera
[root@node01 ~]# mdadm -A /dev/md5
mdadm: /dev/md5 has been started with 3 drives and 1 spare.

#-A:Assemble a pre-existing array  表示装载一个已存在的raid
  1. El archivo de configuración (/etc/mdadm.conf) no existe, comience de la siguiente manera
[root@node01 ~]# mdadm -A /dev/md5 /dev/sdb[6789]
mdadm: /dev/md5 has been started with 3 drives and 1 spare.
  1. Si no conoce el nombre del dispositivo, puede verificar la información de incursión de cada dispositivo y usar uuid para reagrupar los dispositivos de incursión.
[root@node01 ~]# mdadm -E /dev/sdb6 | grep UUID
     Array UUID : d49e6cca:5312271b:7e8e83d5:adac4ed5
    Device UUID : b933b8d5:04a6e003:90e9b230:d13cacf5

#说明:同一个raid里每个磁盘查看的UUID都是这个值
...
[root@node01 ~]# mdadm -E /dev/sdb7 | grep UUID
     Array UUID : d49e6cca:5312271b:7e8e83d5:adac4ed5
    Device UUID : b8ca85bd:7809faa4:48882a21:98ef9349

#通过以上方法找到后进行重新组合,如下:
[root@node01 ~]# mdadm -A --uuid=d49e6cca:5312271b:7e8e83d5:adac4ed5 /dev/md5
mdadm: /dev/md5 has been started with 3 drives and 1 spare.
eliminación de incursiones
  1. Desinstalar dispositivo
[root@node01 ~]# umount /md5/
  1. Quitar todos los discos
[root@node01 ~]# mdadm /dev/md5 -f /dev/sdb[6789]
mdadm: set /dev/sdb6 faulty in /dev/md5
mdadm: set /dev/sdb7 faulty in /dev/md5
mdadm: set /dev/sdb8 faulty in /dev/md5
mdadm: set /dev/sdb9 faulty in /dev/md5
[root@node01 ~]# mdadm /dev/md5 -r /dev/sdb[6789]
mdadm: hot removed /dev/sdb6 from /dev/md5
mdadm: hot removed /dev/sdb7 from /dev/md5
mdadm: hot removed /dev/sdb8 from /dev/md5
mdadm: hot removed /dev/sdb9 from /dev/md5
  1. detener la redada
[root@node01 ~]# mdadm --stop /dev/md5
mdadm: stopped /dev/md5
  1. Borrar el superbloque y borrar la información relacionada.
[root@node01 ~]# mdadm --zero-superblock /dev/sdb[6789]

Supongo que te gusta

Origin blog.csdn.net/qq_45277554/article/details/131103741
Recomendado
Clasificación