首页 > 其他分享 >mdadm 创建软raid5

mdadm 创建软raid5

时间:2023-12-27 19:22:23浏览次数:29  
标签:RAID -- 创建 阵列 sudo dev raid5 mdadm

在开始操作之前,需要提醒您,操作 RAID 数组和磁盘分区是一个风险较高的操作,可能会导致数据丢失。在进行此类操作前,请务必备份所有重要数据。

要使用 mdadm 命令在 /dev/sda/dev/sde 这五块硬盘上创建一个 RAID 5 阵列,您需要先清除这些硬盘上的分区信息。以下是操作步骤:

1. 备份数据

确保这些硬盘上的所有重要数据都已经备份。

2. 安装 mdadm

如果尚未安装 mdadm,请先安装。在基于 Debian 的系统中,可以使用以下命令:

sudo apt-get update
sudo apt-get install mdadm

3. 清除旧的分区信息

对每个硬盘执行以下命令以清除分区表。警告:这将删除硬盘上的所有数据。

sudo mdadm --zero-superblock /dev/sd[a-e]

如果这一步有报错,先确定这些盘都没挂载或使用中,那就使用这个命令

sudo wipefs -a /dev/sda
sudo wipefs -a /dev/sdb
sudo wipefs -a /dev/sdc
sudo wipefs -a /dev/sdd
sudo wipefs -a /dev/sde

如果还报错(wipefs: error: /dev/sdb: probing initialization failed: Device or resource busy ),那就

  1. 运行 gdisk 命令:

    gdisk /dev/sdb
    
  2. gdisk 的提示符下,输入 x 进入专家模式。

  3. 输入 z 来删除 GPT 数据,并选择不保存更改。

  4. 退出 gdisk

  5. 然后再运行wipefs那个命令。

如果还不行,重启服务器就好了。

4. 创建 RAID 5 阵列

使用以下命令创建 RAID 5 阵列:

sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=5 /dev/sd[a-e]

这将创建一个名为 /dev/md0 的 RAID 5 阵列。

5. 格式化 RAID 阵列

选择一个文件系统格式化 RAID 阵列。例如,使用 ext4 文件系统:

sudo mkfs.ext4 /dev/md0

6. 挂载 RAID 阵列

创建一个挂载点并挂载 RAID 阵列:

sudo mkdir -p /mnt/raid5
sudo mount /dev/md0 /mnt/raid5

7. 配置自动挂载

编辑 /etc/fstab 文件以实现启动时自动挂载:

echo '/dev/md0 /mnt/raid5 ext4 defaults 0 1' | sudo tee -a /etc/fstab

8. 保存 RAID 配置

为了确保 RAID 阵列在系统重启后能够正确组装,需要保存 RAID 配置:

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

9. 更新初始化内存盘

更新 initramfs 以确保系统能在启动时识别 RAID 阵列:

sudo update-initramfs -u

10. 检查阵列状态

最后,您可以检查 RAID 阵列的状态:

cat /proc/mdstat
sudo mdadm --detail /dev/md0

这些都做完了,你会发现最后一块盘在rebuilding,这应该是初始化过程,等这他执行完了再用,不然。。。太卡了。。。rebuilding的也慢,教训深刻啊。。。

标签:RAID,--,创建,阵列,sudo,dev,raid5,mdadm
From: https://www.cnblogs.com/dwj192/p/17931256.html

相关文章

  • mybatis在读取配置文件,创建SqlSessionFactory对象时。需要对密码进行解密,再连接数据库
    1、我看了网上很多的方法,主要是说通过新建一个jdbc.properties来获取数据库连接池。但是我试了并没有作用。 2、解决办法:简单粗暴。先用后代码读取原有的mybatis-configuration.xml,然后将密码进行解密后,设值到xml中。最后把解密的xml作为源。去生成一份新的xml文件,把心的xml......
  • Jenkins服务器上创建项目和配置
    大体步骤:General(基础配置)--》源码管理--》构建触发器--》构建环境--》构建--》构建后操作1.创建一个工程2.General(基础配置)仅需填写标准部分,其他可不填写3.源码管理 上图中点击“添加”按钮添加一组账号和密码4.构建触发器 如上图:当前项目的回调地址为:htt......
  • golang 项目开发如何创建 Module
    golang项目开发如何创建Module原创 demo007x 知识派 2023-12-2208:30 发表于北京 听全文golang项目开发如何创建Moduleimg为什么要创建一个 Module?我们日常开发程序的时候都会引入第三方的 package,使用第三方的package的好处是我们可以快速的开发我们的......
  • 无涯教程-Java加密 - 创建签名
    数字签名使无涯教程可以验证签名的作者,日期和时间,并对邮件内容进行身份验证。它还包括用于其他功能的身份验证功能。创建数字签名现在学习如何创建数字签名。您可以按照以下步骤使用Java创建数字签名。步骤1-创建KeyPairGenerator对象KeyPairGenerator类提供getInstan......
  • 创建一个双模式跨运行时的 JavaScript 包
    本文将指导你发布双模式、跨运行时的JavaScript包。了解如何创建与ESM和CommonJS以及Node.js、Deno和浏览器等不同运行时兼容的库。随着JavaScript开发的不断发展,人们越来越需要能在多种环境中运行的强大依赖包。在本文中,我们将探讨如何发布跨运行时、双模式的JavaScr......
  • C练习——不创建临时变量,交换两个数值
    该问题面试可能会问方法一(有缺陷,int型数值有上限,a+b可能超范围)//int型数值有上限,a+b可能超范围#include<stdio.h>intmain(){inta=2;intb=3;printf("交换前:%d%d\n",a,b);a=a+b;//3+2b=a-b;//3+2-3a=a-b;//3+2-2......
  • Flutter 创建一个交错效果的侧边栏菜单
    一、创建一个没有动画效果的菜单import'package:flutter/material.dart';classMenuextendsStatefulWidget{constMenu({super.key});@overrideState<Menu>createState()=>_MenuState();}class_MenuStateextendsState<Menu>{staticc......
  • oracle创建非容器数据库
    1、 Oracle19crpm安装后配置的示例数据库是容器数据库,大部分系统中使用的还是以前的非容器数据库。在安装完rpm包后,可以使用dbca根据自己的需要创建数据库了,创建之前,先删除已经创建的示例数据库./oracledb_ORCLCDB-19cdelete2、编辑一个dbca.rsp文件,用来生成数据库实例(文件......
  • EMQX集群的创建和使用
    EMQX的安装Ubuntu本页将指导您如何在Ubuntu系统中下载安装并启动EMQX。通过Apt源安装EMQX支持通过Apt源安装,免除了用户需要手动处理依赖关系和更新软件包等的困扰,具有更加方便、安全和易用等优点。如希望通过Apt源安装EMQX,可参考如下步骤。1.通过以下命令配置EMQ......
  • 关于SAP-DB-服务器组-创建SAPHanaTopology-资源报错-Unable to find agent SAPHanaTop
    SAPHanaTopology资源收集每个节点上的SAPHANA系统复制的状态和配置。为配置以下属性SAPHanaTopology。运行以下命令来创建SAPHANATopology资源:笔者在SAP-DB-服务器组-pacemaker集群中,创建SAPHanaTopology资源时,使用如下命令:[root@db01qq-5201351]#pcsresourcecreate......