zoukankan      html  css  js  c++  java
  • Linux RAID 磁盘管理

    Linux RAID 磁盘管理


    Linux RAID 使用命令

    命令:mdadm

    格式:mdadm [模式] <RAID设备名称> [选项] [成员设备名称]

    使用参数 作用
    -a
    检测设备名称 
    -n 
    指定设备数量 
    -l 
    指定 RAID 级别 
    -C 
    创建 
    -v 
    显示过程 
    -f 
    模拟设备损坏 
    -r 
    移除设备 
    -Q 
    查看摘要信息 
    -D 
    查看详细信息 
    -S 
    停止 RAID 磁盘阵列 
    -x
    添加备份盘
    --zero-superblock 移除RAID磁盘组员

    Linux 创建 RAID 10

    • 硬盘:4块以上

    1、创建 RAID 10

    # 其中,-C 参数代表创建一个 RAID 阵列卡;-v 参数显示创建的过程,同时在后面追加一个设备名称/dev/md0,这样/dev/md就是创建后的RAID磁盘阵列的名称;-a yes 参数代表自动创建设备文件;-n 4 参数代表使用 4 硬盘来部署这个RAID 磁盘阵列;而-l 10 参数则代表 RAID 10 方案;最后再加上 4 块硬盘备的名称就搞定了。
    mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc/dev/sdd /dev/sde
    mdadm: layout defaults to n2
    mdadm: layout defaults to n2
    # 默认块大小
    mdadm: chunk size defaults to 512K
    mdadm: size set to 20954624K
    # mdadm 版本
    mdadm: Defaulting to version 1.2 metadata
    # md0已启动
    mdadm: array /dev/md0 started.
    输出

    2、格式化/dev/md0

    # 格式化为ext4类型
    mkfs.ext4 /dev/md0

    3、创建挂载点、挂载/dev/md0、添加永久挂载

    # 创建挂载点
    mkdir /RAID
    
    # 挂载/dev/md0
    mount /dev/md0 /RAID
    
    # 设置开机自动挂载
    echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab

    4、查看使用情况

    命令:df -h
    
    Filesystem Size Used Avail Use% Mounted on
    /dev/mapper/rhel-root 18G 3.0G 15G 17% /
    devtmpfs 905M 0 905M 0% /dev
    tmpfs 914M 84K 914M 1% /dev/shm
    tmpfs 914M 8.9M 905M 1% /run
    tmpfs 914M 0 914M 0% /sys/fs/cgroup
    /dev/sr0 3.5G 3.5G 0 100% /media/cdrom
    /dev/sda1 497M 119M 379M 24% /boot
    /dev/md0 40G 49M 38G 1% /RAID
    查看磁盘使用情况
    命令:mdadm -D /dev/md0
    
    # 名称
    /dev/md0:
    # 版本
    Version : 1.2
    # 创建时间
    Creation Time : Tue May 5 07:43:26 2019
    # RAID模式
    Raid Level : raid10
    # 磁盘阵列大小
    Array Size : 41909248 (39.97 GiB 42.92 GB)
    # 使用用大小
    Used Dev Size : 20954624 (19.98 GiB 21.46 GB)
    # RAID设备块数
    Raid Devices : 4
    # 用到总设备数
    Total Devices : 4
    # 持久性类型
    Persistence : Superblock is persistent
    # 更新时间
    Update Time : Tue May 5 07:46:59 2017
    # 状态
    State : clean
    # 正在使用设备数
    Active Devices : 4
    # 工作设备数
    Working Devices : 4
    # 故障设备数量
    Failed Devices : 0
    # 备用设备数量
    Spare Devices : 0
    # 布局
    Layout : near=2
    # 块大小
    Chunk Size : 512K
    # 本地创建设备主机名
    Name : localhost.localdomain:0 (local to host localhost.localdomain)
    # 设备UUID
    UUID : cc9a87d4:1e89e175:5383e1e8:a78ec62c
    # 时间
    Events : 17
    # 模式状态
    Number Major Minor RaidDevice State
    # 使用的磁盘
    0 8 16 0 active sync /dev/sdb
    1 8 32 1 active sync /dev/sdc
    2 8 48 2 active sync /dev/sdd
    3 8 64 3 active sync /dev/sde

    Linux 创建 RAID 5

    • 硬盘:3块以上
    • 注:注释部分可参考 RAID 10 

    1、创建 RAID 5

    mdadm -Cv /dev/md0 -n 3 -l 5  /dev/sdb /dev/sdc /dev/sdd 

    2、格式化/dev/md0

    mkfs.ext4 /dev/md0

    3、创建挂载点、挂载/dev/md0、添加永久挂载

    mkdir /RAID
    mount /dev/md0 /RAID
    echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab

    4、查看使用情况

    命令:mdadm -D /dev/md0
    
    mdadm: layout defaults to left-symmetric
    mdadm: layout defaults to left-symmetric
    mdadm: chunk size defaults to 512K
    mdadm: size set to 20954624K
    mdadm: Defaulting to version 1.2 metadata
    mdadm: array /dev/md0 started.
    [root@linuxprobe ~]# mdadm -D /dev/md0
    /dev/md0:
    Version : 1.2
    Creation Time : Fri May 8 09:20:35 2017
    Raid Level : raid5
    Array Size : 41909248 (39.97 GiB 42.92 GB)
    Used Dev Size : 20954624 (19.98 GiB 21.46 GB)
    Raid Devices : 3
    Total Devices : 3
    Persistence : Superblock is persistent
    Update Time : Fri May 8 09:22:22 2017
    State : clean
    Active Devices : 3
    Working Devices : 3
    Failed Devices : 0
    Spare Devices : 1
    Layout : left-symmetric
    Chunk Size : 512K
    Name : linuxprobe.com:0 (local to host linuxprobe.com)
    UUID : 44b1a152:3f1809d3:1d234916:4ac70481
    Events : 18
    Number Major Minor RaidDevice State
    0 8 16 0 active sync /dev/sdb
    1 8 32 1 active sync /dev/sdc
    4 8 48 2 active sync /dev/sdd
    查看 RAID 5 状态

    Linux 损坏磁盘阵列修复

    • 这里采用RAID 10 为例

    1、模拟/dev/sdb磁盘损坏

    # -f 造成模拟磁盘损坏
    mdadm /dev/md0 -f /dev/sdb
    命令:mdadm -D /dev/md0
    
    /dev/md0:
    Version : 1.2
    Creation Time : Fri May 8 08:11:00 2017
    Raid Level : raid10
    Array Size : 41909248 (39.97 GiB 42.92 GB)
    Used Dev Size : 20954624 (19.98 GiB 21.46 GB)
    Raid Devices : 4
    Total Devices : 4
    Persistence : Superblock is persistent
    Update Time : Fri May 8 08:27:18 2017
    State : clean, degraded
    Active Devices : 3
    Working Devices : 3
    Failed Devices : 1
    Spare Devices : 0
    Layout : near=2
    Chunk Size : 512K
    Name : linuxprobe.com:0 (local to host linuxprobe.com)
    UUID : f2993bbd:99c1eb63:bd61d4d4:3f06c3b0
    Events : 21
    Number Major Minor RaidDevice State
    0 0 0 0 removed
    1 8 32 1 active sync /dev/sdc
    2 8 48 2 active sync /dev/sdd
    3 8 64 3 active sync /dev/sde
    # faulty 已损坏
    0 8 16 – faulty /dev/sdb
    查看RAID状态

    2、取消挂载、并进行检测修复

    # 取消挂载
    umount /RAID
    
    # 检测修复损坏磁盘
    mdadm /dev/md0 -a /dev/sdb
    使用命令:mdadm -D /dev/md0
    
    /dev/md0:
    Version : 1.2
    Creation Time : Mon Jan 30 00:08:56 2017
    Raid Level : raid10
    Array Size : 41909248 (39.97 GiB 42.92 GB)
    Used Dev Size : 20954624 (19.98 GiB 21.46 GB)
    Raid Devices : 4
    Total Devices : 4
    Persistence : Superblock is persistent
    Update Time : Mon Jan 30 00:19:53 2017
    State : clean
    Active Devices : 4
    Working Devices : 4
    Failed Devices : 0
    Spare Devices : 0
    Layout : near=2
    Chunk Size : 512K
    Name : localhost.localdomain:0 (local to host localhost.localdomain)
    UUID : d3491c05:cfc81ca0:32489f04:716a2cf0
    Events : 56
    Number Major Minor RaidDevice State
    4 8 16 0 active sync /dev/sdb
    1 8 32 1 active sync /dev/sdc
    2 8 48 2 active sync /dev/sdd
    # active 已修复使用
    3 8 64 3 active sync /dev/sde
    查看RAID状态

    3、重新挂载

    mount –a

    Linux 磁盘阵列创建RAID添加备份盘

    • 这里采用RAID 5 为例
    • 备份盘:当RAID内其他磁盘损坏,备份盘会自动替补损坏的磁盘。

    1、创建 RAID5 并额外添加备份盘

    # 参数-x 1 则代表有一块备份盘。当查看/dev/md0(即 RAID 5 磁盘阵列名称)磁盘阵列的时候就能看到有一块备份盘在等待中了。
    mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde

    2、格式化/dev/md0

    mkfs.ext4 /dev/md0

    3、创建挂载点、挂载/dev/md0、添加永久挂载

    mkdir /RAID
    mount /dev/md0 /RAID
    echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab

    4、模拟/dev/sdb磁盘损坏

    mdadm /dev/md0 -f /dev/sdb

    5、查看替补损坏磁盘的备份磁盘

    命令:mdadm -D /dev/md0
    
    /dev/md0:
    Version : 1.2
    Creation Time : Fri May 8 09:20:35 2017
    Raid Level : raid5
    Array Size : 41909248 (39.97 GiB 42.92 GB)
    Used Dev Size : 20954624 (19.98 GiB 21.46 GB)
    Raid Devices : 3
    Total Devices : 4
    Persistence : Superblock is persistent
    Update Time : Fri May 8 09:23:51 2017
    State : active, degraded, recovering
    Active Devices : 2
    Working Devices : 3
    Failed Devices : 1
    Spare Devices : 1
    Layout : left-symmetric
    Chunk Size : 512K
    Rebuild Status : 0% complete
    Name : linuxprobe.com:0 (local to host linuxprobe.com)
    UUID : 44b1a152:3f1809d3:1d234916:4ac70481
    Events : 21
    Number Major Minor RaidDevice State
    # 替补磁盘自己蹦上去了
    3 8 64 0 spare rebuilding /dev/sde
    1 8 32 1 active sync /dev/sdc
    4 8 48 2 active sync /dev/sdd
    # 模拟损坏的磁盘
    0 8 16 - faulty /dev/sdb
    查看RAID信息

    Linux RAID 磁盘阵列取消删除

    1、查看RAID阵列信息,确认关闭设备

    # 命令
    cat /proc/mdstat
    
    # 输出
    Personalities : [raid6] [raid5] [raid4]
    md0 : active raid5 sdb5[3](S) sdb1[0] sdb2[1] sdb3[4]
    1043456 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] 

    2、取消挂载

    umount /RAID

    3、停止指定RAID阵列

    # -S 停止阵列
    mdadm -S /dev/md0

    4、清理RAID成员磁盘

    # --zero-superblock 清除磁盘成员后面跟成员磁盘名称
    mdadm --zero-superblock /dev/sdb
    mdadm --zero-superblock /dev/sdc
    mdadm --zero-superblock /dev/sdd

    5、删除永久挂载文件

    # 进入文件
    vim /etc/fstab
    
    # 清除添加的RAID行
    xxx xxx ext4 defaults 0 0

    6、删除或注释 /etc/mdadm.conf 对应RAID信息

    # 进入文件
    vim /etc/mdadm.conf
    #ARRAY /dev/md0 metadata=1.2 spares=1 name=kashu.localdomain:0 UUID=3895d28e:bdcaed28:136b4cf6:d2a858f5

     注:如果做完上面所有的操作后,发现/dev/下还有md0这个设备文件存在,直接rm -f /dev/md0即可。


  • 相关阅读:
    个人博客作业-软件案例分析1 博客园和CSDN
    第一次结对项目
    个人项目作业(1)
    个人博客作业(1)
    第一次个人作业
    面向对象第四单元总结和期末总结
    面向对象第三单元总结
    面向对象第二单元总结
    UML——BUAA_OO 第四单元总结 & 课程总结
    JML——BUAA_OO 第三单元总结
  • 原文地址:https://www.cnblogs.com/xiangsikai/p/10907289.html
Copyright © 2011-2022 走看看