博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Raid磁盘阵列
阅读量:6271 次
发布时间:2019-06-22

本文共 6181 字,大约阅读时间需要 20 分钟。

RAID0配置

1.添加磁盘

2.fdisk -l

3.fdisk /dev/sdb(分2个或2个以上的fd类型分区)

   t(更改分区类型,你可以输入字母l获取类型列表,这里我们选择fd,即linuxraid auto类型)

4.partprobe 不重启系统添加新的磁盘分区

5.mdadm -C -a yes /dev/md0 -l 0 -n 2 /dev/sdb[12]

  软Ra创建时出现以下错误信息

mdadm: Cannot open /dev/sdb: Device or resource busy

mdadm: super1.x cannot open /dev/sdb: Device or resource busy

  mdadm: failed container membership check
  mdadm: device /dev/sdb not suitable for any style of array

  用一下命令可以解决:

  #ls /dev/md*

   /dev/md0

  然后停止对应的md设备:

  #mdadm --stop /dev/md0   // 是停止先前创建的Raid

  #mdadm -C -a yes /dev/md0 -l 0 -n 2 /dev/sdb[12]  在生成RAID的设备/dev/md0

  出现Continue creating array? y     //array?后输入y,问你是否创建所以是yes.

  解析参数:-l代表指定RAID级别,-n指定几块盘

6.mdadm -D /dev/md0 查看指定RAID设备

7.mkfs.ext3 /dev/md0 格式化RAID设备

8.mdadm -Ds >/etc/mdadm.conf 让RAID设备在每次重启都生效

9.ls /etc/ | grep mdadm查看文件是否创建成功

10.mkdir /md0 创建挂载点

11.mount /dev/md0 /md0 挂载RAID设备

12.cd /md0 下touch w

13.格式化挂载,在挂载了/dev/md0的情况下执行换盘操作,以下操作都不会成功,操作后直接会崩盘,代表RAID0不支持容错

  # mdadm /dev/md0 -f /dev/sdb2 (设置sdb2失效)   // 模拟其中一个分区损坏
  # mdadm /dev/md0 -r /dev/sdb2 (移除sdb2)
  # mdadm /dev/md0 -a /dev/sdb3 (添加sdb3)
  # cat /proc/mdstat

     如果上面报错:mdadm: set device faulty failed for /dev/sdb5:  Device or resource busy

     这种是正常,因为raid0不提供容错,不提供冗余

 

14.ls /md0

 

警告:一定记住,创建RAID设备后,必须按以下流程操作,否则会崩盘

15.umount /dev/md0卸载RAID设备

16.mdadm -S /dev/md0 停止RAID设备

17.mdadm --misc --zero-superblock /dev/sdb1从RAID设备中移除磁盘

 

RAID1配置

1.添加磁盘

2.fdisk -l

3.fdisk /dev/sdb(分3个fd类型分区)

4.partprobe 不重启系统添加新的磁盘分区

5.mdadm -C -a yes /dev/md1 -l1 -n3 /dev/sdb[123]

  或

  mdadm -C -a yes /dev/md1 -l1 -n3 /dev/sdb1 /dev/sdb2 /dev/sdb3

 

  报错:如果分区数10以上,使用[ ]中括号会报错

  mdadm -C -a yes /dev/md0 -l1 -n 3 /dev/sdb[10..12]

     mdadm: You haven't given enough devices (real or missing) to create this array

  解决:使用{ } 大括号

  mdadm -C -a yes /dev/md0 -l1 -n 3 /dev/sdb{10..12}

 

6.mdadm -D /dev/md1 查看指定RAID设备

7.mkfs.ext4 /dev/md1 格式化RAID设备

8.mdadm -Ds >/etc/mdadm.conf 让RAID设备在每次重启都生效

9.ls /etc/ | grep mdadm查看文件是否创建成功

10.mkdir /md1 创建挂载点

11.mount /dev/md1 /md1 挂载RAID设备

12.cd /md1 下touch w

13.mdadm /dev/md1 -f /dev/sdb1模拟其中一块磁盘损坏

14.mdadm -D /dev/md1 查看RAID设备信息  

    Active Devices : 1

    Working Devices : 1 只有一磁盘在工作

    Number  Major  Minor  RaidDevice State

      0    0    0    0   removed

      1    8    2    1   active sync  /dev/sdb2 只有sdb2在工作

      2    8    1    -   faulty spare  /dev/sdb1 而/sdb1已损坏

15.ls /md1 查看到w文件仍然存在

16.mdadm /dev/md1 -a /dev/sdb3 添加一个新硬盘

17.mdadm -D /dev/md1 查看RAID设备信息

    Active Devices : 2

    Working Devices : 2 两个工作磁盘

    Failed Devices : 1 一个损坏磁盘

    Number  Major  Minor  RaidDevice State

      0    0    0    0   removed

      0    8    3    0   active sync  /dev/sdb3 添加新的磁盘已工作

      1    8    2    1   active sync  /dev/sdb2

      2    8    1    -   faulty spare  /dev/sdb1 而/sdb1已损坏

1.mdadm /dev/md1 -r /dev/sdb1 移除损坏磁盘,因为/sdb1已损坏才可移除,否则是移除不了的。

2.mdadm -D /dev/md1

    Active Devices : 2

    Working Devices : 2 两个工作磁盘

    Failed Devices : 0  没有损坏磁盘

    Number  Major  Minor  RaidDevice State

      0    0    0    0   removed

      0    8    3    0   active sync  /dev/sdb3

      1    8    2    1   active sync  /dev/sdb2

 

 

警告:一定记住,创建RAID设备后,必须按以下流程操作,否则会崩盘

3.umount /dev/md1卸载RAID设备

4.mdadm -S /dev/md1停止RAID设备

5.mdadm --misc --zero-superblock /dev/sdb[12] 从RAID设备中移除磁盘

6.mdadm -D /dev/md1   已经查看不到RAID设备了。

  mdadm: cannot open /dev/md1: No such file or directory

7.df -h    会发现没有了/dev/md1设备。

  /dev/sda3       9.6G 2.5G 6.6G 28% /

  tmpfs         122M   0 122M  0% /dev/shm

  /dev/sda1       97M  27M  66M 29% /boot

 

 

RAID5

# mdadm -C /dev/md0 -l 5 -n 3 -x 1 /dev/sdc{5,6,7,8}        

//-n指定盘数时,不能包括备用盘,-x指定备用盘,后面/dev/sdc{5,6,7,8} 是-n与-x之和

-C  创建RAID设备名

-l  指定RAID级别

-n  指定几块分区

-x  指定冗余磁盘

# partprobe 不重启系统添加新的磁盘分区

# mkfs.ext4 /dev/md0

# mkdir /md0

# mount /dev/md0 /md0

# vim /etc/fstab

   /dev/md0       /md0       ext4  defaults    0 0

# mount -a

# ls /md0

# mdadm -Ds > /etc/mdadm.conf      //必须写此配置文件,要不不会产生配置信息

  -D  创建RAID设备文件

  -s  扫描

# mdadm -Ds             //查看RAID配置信息

# mdadm -D /dev/md0          //查看RAID设备信息

# mdadm -f /dev/md0 /dev/sdc5      //模拟磁盘坏掉 faulty 代表坏掉

      mdadm: set /dev/sdc5 faulty in /dev/md0

# mdadm -D /dev/md0

# mdadm -r /dev/md0 /dev/sdc5      //删掉坏掉磁盘

      mdadm: hot removed /dev/sdc5 from /dev/md0

# mdadm -D /dev/md0

# mdadm -a /dev/md0 /dev/sdc5      //添加新磁盘

      mdadm: added /dev/sdc5

# mdadm -D /dev/md0

 

警告:一定记住,创建RAID设备后,必须按以下流程操作,否则会崩盘

# umount /dev/md0

# mdadm -S /dev/md0         //停止RAID设备

# mdadm --misc --zero-superblock /dev/sdc[56]

# mdadm -D /dev/md0         //已经查看不到RAID设备了。

  mdadm: cannot open /dev/md1: No such file or directory

 

# mdadm -Ds > /etc/mdadm.conf      //必须写此配置文件,要不不会产生配置信息

# mdadm -A /dev/md0         //启动RAID设备

 

Raid10 Raid1 + Raid0)配置

1. fdisk /dev/sdb(分区5、6、7、8、9都为fd)

2. partprobe 不重启系统添加新的磁盘分区

3. mdadm -C -a yes /dev/md0 -l0 -n2 /dev/sdb{56}

  如出现此信息:mdadm: cannot open /dev/sdb5: Device or resource busy

  进行此操作:1.# ls /dev/md*

          /dev/md5

        2.# mdadm --stop /dev/md5

          mdadm: stopped /dev/md5

4. mdadm -C -a yes /dev/md0 -l0 -n2 /dev/sdb[56]   在次重得操作,做RAID0

    Continue creating array? y   在array?后输入y,表示同意创建

5. mdadm -C -a yes /dev/md1 -l1 -n2 /dev/sdb[78]   做RAID1

    Continue creating array? y   在array?后输入y,表示同意创建

6. mdadm -C -a yes /dev/md10 -l10 -n2 /dev/md[01]  把RAID0与RAID1组成RAID10.

    Continue creating array? y   在array?后输入y,表示同意创建

7. mdadm -D /dev/md10或cat /proc/mdstat

8. mkfs.ext4 /dev/md10

9. mkdir /md10

10. mount /dev/md10 /md10 临时挂载

     或vim /etc/fstab 永久挂载(添写以下内容)

      /dev/md10       /md10       ext4  defaults   0 0

     保存退出后执行mount -a

11. df -h  确认是否挂载上

12. mdadm -Ds > /etc/mdadm.conf建立RAID配置文件

13. ls /etc/ | grep mdadm*  查看配置文件是否创建成功

14. touch /md10/wml.txt 在/md10创建个文件看是否成功

15. mdadm /dev/md10 -f /dev/sdb5 模拟其中一个损坏

mdadm: set device faulty failed for /dev/sdb5:  No such device    //不能这么玩的,要玩分别对md0,md1玩

 

16. mdadm /dev/md0 -f /dev/sdb5        模拟其中一个损坏,md0是raid0的设备

mdadm: set device faulty failed for /dev/sdb5:  Device or resource busy  

这种是正常,因为raid0不提错容错,不提供冗余

17. mdadm /dev/md1 -f /dev/sdb7        模拟其中一个损坏,md1是raid1的设备,可以提供冗余和容错

    mdadm: set /dev/sdb7 faulty in /dev/md1              //这样的提示表示正常

18. mdadm -D /dev/md10 查看RAID设备信息

19. mdadm /dev/md1 -r /dev/sdb7 -a /dev/sdb9      移除损坏磁盘,同时在加入一块磁盘

    mdadm: hot removed /dev/sdb7 from /dev/md1      //下面两行都是提示

mdadm: added /dev/sdb9

20. mdadm -G -n9 /dev/md10 --force 让增加的设备进入工作状态

21. mdadm -D /dev/md10 查看RAID设备信息

22. mdadm --monitor --mail=root@localhost --delay=10 /dev/md10 [&]       监控RAID设备,[]代表可选项

 

警告:一定记住,创建RAID设备后,必须按以下流程操作,否则会崩盘

停止,启动,移除RAID设备

1. umount /md10 卸载挂载点

2. mdadm -S /dev/md10 停止RAID设备

  或mdadm -As /dev/md10 启动RAID设备

3. mdadm --misc --zero-superblock /dev/sdb[5..9]    从RAID设备中移除磁盘

  mdadm --misc --zero-superblock /dev/sdb5...       如果上面不行,可以逐个移除

 

转载于:https://www.cnblogs.com/wpt2018/p/8484253.html

你可能感兴趣的文章
Delphi IdTCPClient IdTCPServer 点对点传送文件
查看>>
Delphi中使用ActiveX的一些心得
查看>>
QT5.8.0+MSVC2015安装以及环境配置(不需要安装VS2015)
查看>>
(原創) C/C++的function prototype和header file (C/C++) (C)
查看>>
深入理解JavaScript系列(29):设计模式之装饰者模式
查看>>
程序员的罪与罚
查看>>
SQL*LOADER错误总结
查看>>
SQL日志收缩
查看>>
【转】MySQL Query Cache 小结
查看>>
SVN分支和合并的简单例子
查看>>
PHP实现的封装验证码类
查看>>
Augular初探
查看>>
PHPStorm下XDebug配置
查看>>
【LeetCode】55. Jump Game
查看>>
Android应用盈利广告平台的嵌入方法详解
查看>>
Linux(CentOS6.5) 开放端口,配置防火墙
查看>>
Func与Action
查看>>
Android ViewPager 应该及技巧
查看>>
ODI KM二次开发手册
查看>>
iOS通讯录整合,兼容iOS789写法,附demo
查看>>