前言
常用的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