ubuntu18.04组软RAID1和10及修复

  • Post author:
  • Post category:其他

前言

常用的raid等级有0,1,5,10

       RAID0是条带模式,如果你有n块磁盘,原来只能同时写一块磁盘,写满了再下一块,做了RAID 0之后,n块可以同时写,速度提升很快,但由于没有备份,可靠性很差。n最少为2。(raid0一般使用在数据盘)

       RAID1是镜像模式,正因为RAID 0太不可靠,所以衍生出了RAID 1。如果你有n块磁盘,把其中n/2块磁盘作为镜像磁盘,在往其中一块磁盘写入数据时,也同时往另一块写数据。

坏了其中一块时,镜像磁盘自动顶上,可靠性最佳,但空间利用率太低。n最少为2。(raid1一般装系统的比较多)

       RAID 5不单独指定的奇偶盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息。在RAID 5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。

       RAID10是镜象阵列条带,是raid0和raid1的组合体,像RAID0一样,数据跨磁盘抽取;像RAID1一样,每个磁盘都有一个镜象磁盘, 所以RAID 10的另一种会说法是 RAID 1+0。RAID10提供100%的数据冗余,支持更大的卷尺寸,但价格也相对较高。对大多数只要求具有冗余度而不必考虑价格的应用来说,RAID10提供最好的性能。使用RAID10,可以获得更好的可靠性,因为即使两个物理驱动器发生故障,每个阵列中都有一个,数据仍然可以得到保护。RAID10需要4 + 2*N 个磁盘驱动器(N >=0), 而且只能使用其中一半或更小的磁盘用量, 例如 4 个 250G 的硬盘使用RAID10 阵列, 实际容量是 500G。(raid一般用在存储或者数据库上)

ubuntu18.04组raid1

例:在这里我暂时添加了9块硬盘,后面做raid10会使用到

       公司要求:为了系统的稳定性,需要做raid1装系统

       硬件需求:20G*2

       系统版本:ubuntu18.04.4

       准备工作:需要下载ubuntu18.04.4的镜像文件。有live和server版

步骤1、进入装系统的界面,前面步骤省略。。。直接到硬盘分区这一步由于小版本的差别,分区这边有小的差别的。

 

步骤2、进入后选择两个20G的盘,将两个硬盘初始化,则需在format处选择分区格式。注意:这里一定要选择Leave unformatted(保持无格式

两块盘要一样的

步骤3、mount处选择leave unmounted (不挂载)(新硬盘无需操作这一步)

步骤4、选择create software RAID(md)

步骤5、模式改成raid1,在选定两块相同大小的硬盘,选择确定。

步骤6、点击md0在挂载/目录下,点击下一步继续设置就完成了

设置完成分区如下:(注意:bios_grub分区一定要出要,要不然到最后一步会报错的)

 

步骤7、安装完成后进入系统确认是否安装成功。看下图

ubuntu18.04组软raid10

前面介绍到raid10是raid0和raid1是组合体,下面我们开始表演。

       公司要求:将8块20G的硬盘组成Riad10

mdadm命令

mdadm命令用于管理Linux系统中的软件RAID硬盘阵列,格式为“mdadm [模式] <RAID设备名称> [选项] [成员设备名称]”

mdadm命令的常用参数和作用

-a  检测设备名称

-n  指定设备数量

-l   指定raid级别

-C  创建

-v   显示过程

-f    模拟设备损坏

-r   移除设备

-Q  查看摘要信息

-D   想看详细信息

-S   停止raid磁盘阵列

 

root@gucloud:~# sudo mdadm -Cv /dev/md10 -a yes -n 8 -l 10 /dev/sd{c,d,e,f,g,h,i,j}     //其中,-C参数代表创建一个RAID阵列卡;-v参数显示创建的过程,同时在后面追加一个设备名称/dev/md10,这样/dev/md10就是创建后的RAID磁盘阵列的名称;-a yes参数代表自动创建设备文件;-n 8参数代表使用4块硬盘来部署这个RAID磁盘阵列;而-l 10参数则代表RAID 10方案;最后再加上8块硬盘设备的名称就搞定了。

  创建出来raid10如图

查看raid信息

mdadm -D /dev/md10

模拟硬盘损坏及修复

mdadm /dev/md0 -f /dev/sdb // 模拟硬盘损坏 /dev/sdb
1、查看损坏磁盘阵列的情况
2、将损坏的硬盘设备移除
3、插上新的硬盘 //用新盘更换坏掉的盘。这步操作需要非常小心,确保正确的找到坏盘的位置并用新盘替换。如果这步找错了盘,可能导致数据完全丢失。请务必小心确认。
4、卸载挂载操作
5、将新的硬盘添加到RAID10磁盘阵列中
6、查看修复成功后的磁盘阵列信息(因为新添加的需要等待一段时间等待系统重新创建)
7、重新挂载

1、查看损坏后的磁盘阵列信息

      mdadm -D /dev/md10

2、将损坏的硬盘从磁盘阵列中移除
mdadm /dev/md0 -r /dev/sdc //移除损坏的硬盘设备
mdadm -D /dev/md0

3、将坏的硬盘从服务器上拆下,换上新的硬盘
4、卸载挂载
umount /RAID10
root@gucloud:~# umount /RAID10
root@gucloud:~# df -h  //看不见RAID10阵列信息了

5、将新的硬盘设备添加到RAID10中 ,由于重新启动服务器可能raid名称会改变
mdadm /dev/md0 -a /dev/sdk  //把sdk插入磁道后,系统会自动将SDK加入进来


mdadm -D /dev/md0

重要命令

必须保存raid,不然你重启服务器的时候就失效了,所以还需要运行一条命令

root@gucloud:~#  sudo mdadm –detail –scan | sudo tee -a /etc/mdadm/mdadm.conf  //需要把raid信息配置到mdadm.conf文件中

root@gucloud:~# sudo update-initramfs -u  //update-initramfs脚本管理本地盒子上的initramfs映像。nitramfs是一个gzip压缩文件。
在引导时,内核将该存档解压缩为ram磁盘,装载并将其用作初始根文件系统。这一步必须要做

echo ‘/dev/md0 /mnt/md0 ext4 defaults, nofail, discard 0 0’ | sudo tee -a /etc/fstab  //需要开机自动挂载就要把配置加到/etc/fstab配置文件中。

注意:要结合实际情况中的raid名,不要盲目复制加粘贴
命令总结:

mdadm -D /dev/md0

mdadm /dev/md0 -r 损坏的硬盘设备
mdadm -D /dev/md0
umount /RAID10
ls -l /dev/sd*
mdadm /dev/md0 -a 新硬盘设备名,一般为原来的名字
mdadm -D /dev/md0


版权声明:本文为qq_44673299原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。