美文网首页
软raid中使用

软raid中使用

作者: 岑吾 | 来源:发表于2022-02-07 09:09 被阅读0次

    软raid中是通过软件层面来模拟实现raid的相关功能,从而达到与硬件raid相同的功能。在Linux中通常是使用md模块来实现软件raid。

    一、安装mdadm

    yum -y install mdadm
    

    二、显示硬盘和分区信息

    在VM虚拟机中完成测试,sda为系统盘,sdb、sdc、sdd、sde为四个制作raid的硬盘。

    lsblk 
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0   20G  0 disk 
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   19G  0 part 
      ├─centos-root 253:0    0   17G  0 lvm  /
      └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
    sdb               8:16   0   20G  0 disk 
    sdc               8:32   0   20G  0 disk 
    sdd               8:48   0   20G  0 disk 
    sde               8:64   0   20G  0 disk 
    

    三、格式化硬盘

    [root@localhost ~]# fdisk /dev/sdb
    欢迎使用 fdisk (util-linux 2.23.2)。
    
    更改将停留在内存中,直到您决定将更改写入磁盘。
    使用写入命令前请三思。
    
    Device does not contain a recognized partition table
    使用磁盘标识符 0xef090fa6 创建新的 DOS 磁盘标签。
    
    命令(输入 m 获取帮助):n
    Partition type:
       p   primary (0 primary, 0 extended, 4 free)
       e   extended
    Select (default p): 
    Using default response p
    分区号 (1-4,默认 1):
    起始 扇区 (2048-41943039,默认为 2048):
    将使用默认值 2048
    Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
    将使用默认值 41943039
    分区 1 已设置为 Linux 类型,大小设为 20 GiB
    
    命令(输入 m 获取帮助):l
    
     0  空              24  NEC DOS         81  Minix / 旧 Linu bf  Solaris        
     1  FAT12           27  隐藏的 NTFS Win 82  Linux 交换 / So c1  DRDOS/sec (FAT-
     2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
     3  XENIX usr       3c  PartitionMagic  84  OS/2 隐藏的 C:  c6  DRDOS/sec (FAT-
     4  FAT16 <32M      40  Venix 80286     85  Linux 扩展      c7  Syrinx         
     5  扩展            41  PPC PReP Boot   86  NTFS 卷集       da  非文件系统数据 
     6  FAT16           42  SFS             87  NTFS 卷集       db  CP/M / CTOS / .
     7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux 纯文本    de  Dell 工具      
     8  AIX             4e  QNX4.x 第2部分  8e  Linux LVM       df  BootIt         
     9  AIX 可启动      4f  QNX4.x 第3部分  93  Amoeba          e1  DOS 访问       
     a  OS/2 启动管理器 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
     b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
     c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad 休 eb  BeOS fs        
     e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
     f  W95 扩展 (LBA)  54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
    10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC  
    11  隐藏的 FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
    12  Compaq 诊断     5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
    14  隐藏的 FAT16 <3 61  SpeedStor       ab  Darwin 启动     f2  DOS 次要       
    16  隐藏的 FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
    17  隐藏的 HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
    18  AST 智能睡眠    65  Novell Netware  b8  BSDI swap       fd  Linux raid 自动
    1b  隐藏的 W95 FAT3 70  DiskSecure 多启 bb  Boot Wizard 隐  fe  LANstep        
    1c  隐藏的 W95 FAT3 75  PC/IX           be  Solaris 启动    ff  BBT            
    1e  隐藏的 W95 FAT1 80  旧 Minix       
    
    命令(输入 m 获取帮助):t
    已选择分区 1
    Hex 代码(输入 L 列出所有代码):fd
    已将分区“Linux”的类型更改为“Linux raid autodetect”
    
    命令(输入 m 获取帮助):p
    
    磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0xef090fa6
    
       设备 Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048    41943039    20970496   fd  Linux raid autodetect
    
    命令(输入 m 获取帮助):w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    正在同步磁盘。
    

    这里要注意一点的是修改硬盘格式为fd Linux raid 自动 修改同步格式化sdc、sdd、sde三个硬盘。

    四、创建raid

    mdadm --create /dev/md5 --auto yes --level 5 -n4 /dev/sd{b,c,d,e}
    
    • -C/--create:新建阵列
    • -a/--auto:允许mdadm创建设备文件,一般常用参数-a yes一次性创建
    • -l/--levle:RAID模式,支持RAID0/1/4/5/6/10等
    • -n/--raid-devices=:创建阵列中活动磁盘的数量
    • /dev/md0:阵列的设备名称
    • /dev/sd{b,c,d,e}1:创建阵列中的物理磁盘分区信息

    五、查看阵列状态

    cat /proc/mdstat 
    Personalities : [raid1] [raid10] [raid6] [raid5] [raid4] 
    md5 : active raid5 sde[4] sdd[2] sdc[1] sdb[0]
          62862336 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [UUU_]
          [=====>...............]  recovery = 25.7% (5400192/20954112) finish=1.2min speed=200007K/sec
          
    unused devices: <none>
    

    六、创建md0配置文件

    [root@localhost ~]# echo DEVICE /dev/sd{b,c,d,e} >> /etc/mdadm.conf
    [root@localhost ~]# mdadm -Evs >> /etc/mdadm.conf 
    [root@localhost ~]# cat /etc/mdadm.conf
    DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1
    ARRAY /dev/md/0  level=raid1 metadata=1.2 num-devices=4 UUID=afe6977f:2d213295:513422e5:70099cb9 name=localhost.localdomain:0
       devices=/dev/sdb1,/dev/sdc1,/dev/sdd1
    DEVICE /dev/sdb /dev/sdc /dev/sdd /dev/sde
    ARRAY /dev/md/5  level=raid5 metadata=1.2 num-devices=4 UUID=ba5caeb6:401904f5:674ddc67:c4f95242 name=localhost.localdomain:5
       devices=/dev/sdb,/dev/sdc,/dev/sdd,/dev/sde
    

    七、格式化RAID分区

    mkfs -t ext4 /dev/md5
    

    八、挂载

    mkdir /data
    mount /dev/md5 /data
    

    开机自动挂载

    vim /etc/fstab
    
    /dev/md5 /data ext4 defaults 0 0
    

    九、测试

    # 模拟/dev/sdc故障
    mdadm /dev/md5 -f /dev/sdc
    
    # 显示信息
    mdadm -D /dev/md5
    /dev/md5:
               Version : 1.2
         Creation Time : Mon Jan 24 19:04:38 2022
            Raid Level : raid5
            Array Size : 62862336 (59.95 GiB 64.37 GB)
         Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
          Raid Devices : 4
         Total Devices : 4
           Persistence : Superblock is persistent
    
           Update Time : Mon Jan 24 19:17:38 2022
                 State : clean, degraded 
        Active Devices : 3
       Working Devices : 3
        Failed Devices : 1
         Spare Devices : 0
    
                Layout : left-symmetric
            Chunk Size : 512K
    
    Consistency Policy : resync
    
                  Name : localhost.localdomain:5  (local to host localhost.localdomain)
                  UUID : ba5caeb6:401904f5:674ddc67:c4f95242
                Events : 20
    
        Number   Major   Minor   RaidDevice State
           0       8       16        0      active sync   /dev/sdb
           -       0        0        1      removed
           2       8       48        2      active sync   /dev/sdd
           4       8       64        3      active sync   /dev/sde
    
           1       8       32        -      faulty   /dev/sdc
    

    更换硬盘,格式化硬盘,恢复数据

    # 移除损坏硬盘
    mdadm /dev/md5 --remove /dev/sdc
    
    # 添加新硬盘
    mdadm /dev/md5 --add /dev/sdc
    
    # 查看状态等待恢复完成
    mdadm -D /dev/md5
    

    十、添加新硬盘

    添加一块硬盘/dev/sdf,格式化

    # 添加硬盘
    mdadm /dev/md5 -a /dev/sdf
    
    # 扩容硬盘
    mdadm -G /dev/md5 -n5
    
    # 查看状态等待扩容完成
    mdadm -D /dev/md5
    

    注:数据无价,扩容时最好做好备份。

    十一、重装系统后恢复

    先安装mdadm软件,再使用下面命令自动检测并安装所有的 md 硬盘

    mdadm --assemble --scan
    

    可以查看结果存在5块硬盘并恢复成功

    mdadm: /dev/md/5 has been started with 5 drives.
    

    十二、删除软RAID

    # 卸载挂载点
    umount /dev/md5
    
    # 停止软件RAID设备
    mdadm -S /dev/md5
    
    # 删除RAID中的磁盘
    mdadm --misc --zero-superblock /dev/sd{b,c,d,e}
    
    # 删除mdadm配置文件
    rm -f /etc/mdadm.conf
    
    # 删除/etc/fstab中的挂载信息
    

    相关文章

      网友评论

          本文标题:软raid中使用

          本文链接:https://www.haomeiwen.com/subject/qkobhrtx.html