【报错记录】疯狂踩坑之RockyLinux创建Raid1镜像分区,Raid分区在重启后消失了!外加华硕主板使用Raid模式后,硬盘在系统中无法找到问题

news2024/11/16 13:02:43

前言

为了摆脱对于专业NAS的依赖,我决定专门使用一台Linux服务器安装NAS程序的方式实现NAS功能,这里就需要用到Raid功能,由于目前我只有3块SSD(256G+500G+500G),在ChatGPT的推荐下还是使用一个256G系统盘+2块500G硬盘组Raid1的方式组成一个阵列,结果坑人的事就来了!

使用mdadm创建的raid阵列在重启后不见了!!然后我所有的数据都找不到了!!而且在/dev中甚至找不到md0这个raid磁盘阵列,这还怎么用,难道组成镜像后就不关机了?这肯定不行啊,然后我就踏上了漫漫踩坑路。

坑的来源

由于ChatGPT的信息可能比较落后,它不知道我这个硬盘是GPT分区,组成Raid后会导致分区表出问题,因此给我的答案是:

我说重启后分区找不到了,ChatGPT给我的答复是要在/etc/fstab中增加一条信息:

/dev/md0    /mnt/raid    ext4    defaults    0    0

我还以为这就能把这问题解决了,结果是压根不能解决,因为分区表问题,连md0这个Raid磁盘阵列都不见了,然后开机卡了半天,就是因为这个/dev/md0无法加载成功,我也是等了半天进了系统后才发现的。

然后我怀疑是我心急,没等

cat /proc/mdstat

执行到100%就重启服务器了,然后我借助吃饭时间足足等了1个小时啊!!等它磁盘镜像全部同步完了,再去重启,结果还是老样子,磁盘分区丢失!!这可把我给气坏了!!

解决方法

节约大家时间,我先把解决方法说明吧,后面再将华硕主板Raid的问题

ChatGPT犯了一个严重错误——不能直接对/dev/sdb、/dev/sda这两个磁盘进行操作,而需要对它们各自创建的分区进行操作才可以!!

也就是说先要给/dev/sdb和/dev/sda两个磁盘进行分区后才能执行Raid操作,这是ChatGPT它自己都不知道的事。

执行过程如下:

查看分区情况

先需要lsblk一下,查看自己服务器的磁盘分区情况,我这边是这样的:

/dev/sda:256GB,RockyLinux系统安装盘,包括挂载了根目录和用户目录

/dev/sdb:500GB数据盘

/dev/sdc:500GB数据盘

执行分区操作

fdisk /dev/sdb

建议按一下m,然后回车,查看fdisk的功能

我个人建议先按一下d,然后按一下w

注意!!!!!这一步会清空盘内所有数据,请谨慎操作!!

此步的作用是删除该盘内的分区(特别是只有一个分区的情况会删除所有的内容)

然后再执行

fdisk /dev/sdb

进入fdisk功能后执行

g,然后按n,最后按w

按n的时候需要指定分区大小,我这边直接全部回车过去了,创建的分区大小等于我的磁盘大小。然后就能得到/dev/sdb下又多了一个/dev/sdb1这么一个分区。

同样的对/dev/sdc也执行同样的操作,最后得到如图所示的分区信息:

创建Raid阵列

 剩下的步骤就和ChatGPT说的一样了,只不过命令需要改一下

执行的是:

mdadm --create --verbose /dev/md0 --level=mirror --raid-devices=2 /dev/sdb1 /dev/sdc1

这里用到的是/dev/sdb1和/dev/sdc1!!而不是整个磁盘,这就是问题的关键所在,被ChatGPT坑了4个小时!!

后续操作

后续的操作为:

# 查看Raid磁盘同步进度
cat /proc/mdstat

# 将Raid阵列格式化为ext4分区
mkfs.ext4 /dev/md0

# 由于我不想将这个分区藏太深,直接在根目录创建了一个/data目录
mkdir /data

# 将Raid阵列分区挂载到/data路径下
mount /dev/md0 /data

# 将Raid信息写入/etc/mdadm.conf中
mdadm --detail --scan | sudo tee -a /etc/mdadm.conf

最后需要将分区信息填入/etc/fstab中

vi /etc/fstab

在最后一行输入:

/dev/md0    /data    ext4    defaults    0    0

然后按:wq保存

其实不用等/proc/mdstat都执行完成就能重启服务器,空的磁盘完全不影响

重启后查看效果

由于重启后各个磁盘的加载顺序是随机的,我这边显示的内容如下:

重启后阵列丢失的问题终于算是解决了!在这种情况下博客是必须要写的,避免以后踩同样的坑。

华硕大坑RAID缺少驱动

当时由于系统内软Raid碰壁了,我就想用华硕主板自带的Raid功能,也就是在主板BIOS中,将SATA类型从AHCI改为RAID,直接搞硬Raid得了。硬Raid可以参考其他同行写得博客吧,我这边就先跳过了。大概的步骤就是

1、在BIOS Advance中将SATA模式从AHCI改成RAID后重启

2、重启后再次进入BIOS,在Advance的最后会多出一个RAID相关设置

3、选择创建阵列后选择需要的磁盘,然后保存即可,最后成果如下:

然后我进入了系统,发现全炸了!直接进入dracut环境了,报

/dev/mapper/rl-root does not exist
/dev/rl/root does not exist
/dev/rl/swap does not exist

也就是我所有分区都丢失了,我通过ls /dev也能看见所有分区都找不到了!我还以为是我分区有问题,或者Raid有问题,我一怒之下在华硕BIOS中将所有分区内容全部删了,重新组Raid,从0开始组,结果我去装RockyLinux时发现进入安装环境后磁盘空空如也,我当时还不信,又拿了一个Windows11的安装包试了一下,发现还是一个磁盘都找不到。

 我当时就怀疑是Raid驱动的问题,即Windows和RockyLinux的安装包中都没有带华硕的Raid驱动,我直接找到了华硕客服,问其缘由,华硕客服很专业啊,直接就说是缺少Raid驱动,让我去华硕官网下驱动,驱动我是找了半天没找到,只能当个伸手党让客服直接发给我。

使用也很简单,将

 解压后放到Windows安装U盘中即可(我的是AMD的主板,这个驱动Intel主板无法使用)

点击“加载驱动程序”,选择目录下的

 

rcraid这个目录即可,加载驱动完成后,我这个Raid分区就出现了,我试了一下也能正常安装Windows11,也能正常重启进入系统

里面的磁盘叫AMD-Raid Array N SCSI Disk Device

本来我想就用硬Raid得了,然后我问华硕客服,这个驱动有CentOS版本的吗,客服说这个驱动没有Linux版本,我当时就长叹一口气,还得去和软Raid较劲,好在最后我还真给搞出来了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/936716.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTTP 框架修炼之道 | 青训营

Powered by:NEFU AB-IN 文章目录 HTTP 框架修炼之道 | 青训营 走进 HTTP 协议HTTP 框架的设计与实现应用层中间件层路由设计协议层 传输层(网络层)1. BIO(Blocking I/O):2. NIO(Non-blocking I/O):区别&…

【 Python 全栈开发 - 人工智能篇 - 45 】集成算法与聚类算法

文章目录 一、集成算法1.1 概念1.2 常用集成算法1.2.1 Bagging1.2.2 Boosting1.2.2.1 AdaBoost1.2.2.2 GBDT1.2.2.3 XgBoost 1.2.3 Stacking 二、聚类算法2.1 概念2.2 常用聚类算法2.2.1 K-means2.2.2 层次聚类2.2.3 DBSCAN算法2.2.4 AP聚类算法2.2.5 高斯混合模型聚类算法 一、…

39、springboot的前端静态资源的WebJar支持(bootstrap、jquery等)及自定义图标和首页

★ WebJar支持 Spring Boot支持加载WebJar包中的静态资源(图片、JS、CSS), WebJar包中的静态资源都会映射到/webjars/**路径。——这种方式下,完全不需要将静态资源复制到应用的静态资源目录下。只要添加webjar即可。假如在应用的…

145. 二叉树的后序遍历

题目来源:力扣 题目描述: 给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[3,2,1]示例 2: 输入:root [] 输出:[]…

C#---第二十: partial修饰类的特性及应用

0.知识背景 局部类型适用于以下情况: 类型特别大,不宜放在一个文件中实现。一个类型中的一部分代码为自动化工具生成的代码,不宜与我们自己编写的代码混合在一起。需要多人合作编写一个类 局部类型的限制: 局部类型只适用于类、接口、结构&am…

信息化发展1

信息的定义 1 、信息论的奠基者香农认为: 信息是用来消除随机不定性的东西。 2 、信息的目的是用来“消除不确定的因素” 。信息是抽象于物质的映射集合。 3 、香农用概率来定量描述信息的公式如下: 信息的特征 客观性:信息是客观事物在人…

PostgreSQL分区表

什么是分区表 数据库分区表将表数据分成更小的物理分片,以此提高性能、可用性、易管理性。分区表是关系型数据库中比较常见的对大表的优化方式,数据库管理系统一般都提供了分区管理,而业务可以直接访问分区表而不需要调整业务架构&#xff0c…

QT版权查询

文章目录 QT工具版权QT模块版权查询 根据条件自动筛选: Qt Features, Framework Essentials, Modules, Tools & Add-Ons QT工具版权 Licensing QT模块版权查询 在 All Modules 中点击进入每个模块,在详细内容中一般有Lisence相关内容。 Licens…

c语言练习题35:求两个数二进制中不同位的个数

求两个数二进制中不同位的个数 //编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同? //输入例子 : //1999 2299 //输出例子 : 7 //int calc_diff_bit(int m, int n) 思路: 1. 先将m和n…

Mybatis中的缓存机制(一文带你弄懂)

Mybatis中的缓存机制 Mybatis中的缓存机制概述项目结构MyBatis 一级缓存一级缓存原理代码测试什么时候一级缓存失效? Mybatis二级缓存测试代码⼆级缓存的失效⼆级缓存的相关配置 MyBatis集成EhCache Mybatis中的缓存机制 概述 缓存的作⽤:通过减少IO的⽅式&#…

数据结构--树4.2.1(二叉树)

目录 一、二叉树的存储结构 二、二叉树的遍历 一、二叉树的存储结构 顺序存储结构:二叉树的顺序存储结构就是用一维数组存储二叉树中的各个结点,并且结点的存储位置能体现结点之间的逻辑关系。 链式存储结构:二叉树每个结点最多只有两个孩…

英国选校8.27

目录 IC帝国理工学院 UCL伦敦大学学院 爱丁堡 曼彻斯特 KCL伦敦国王学院 Bristol布里斯托 华威 南安普顿 IC帝国理工学院 UCL伦敦大学学院 爱丁堡 曼彻斯特 KCL伦敦国王学院 24qs专业位置双非con雅思气候备注40 移动&个人通信 24fall不要双非? 24fall新…

通俗理解DDPM到Stable Diffusion原理

代码1:stabel diffusion 代码库代码2:diffusers 代码库论文:High-Resolution Image Synthesis with Latent Diffusion Models模型权重:runwayml/stable-diffusion-v1-5 文章目录 1. DDPM的通俗理解1.1 DDPM的目的1.2 扩散过程1.3 …

【数据结构】二叉树篇|超清晰图解和详解:二叉树的序列化和反序列化

博主简介:努力学习的22级计算机科学与技术本科生一枚🌸博主主页: 是瑶瑶子啦每日一言🌼: 你不能要求一片海洋,没有风暴,那不是海洋,是泥塘——毕淑敏 目录 一、核心二、题目2.1:前序遍历2.2&…

超详细教程:如何在笔记本上run起大模型?没有GPU也可以!(Windows/Mac)

在笔记本上Run起大模型 好久不见的前言环境搭建Mac环境搭建conda环境python环境安装pytorch安装transformers Windows环境搭建conda环境 (可选)python环境 模型下载方式一:通过git下载方式二:直接通过文件链接下载方式三:通过huggingface官方…

LangChain-Chatchat:基于LangChain和ChatGLM2-6B构建本地离线私有化知识库

如果你对这篇文章感兴趣,而且你想要了解更多关于AI领域的实战技巧,可以关注「技术狂潮AI」公众号。在这里,你可以看到最新最热的AIGC领域的干货文章和案例实战教程。 一、前言 自从去年GPT模型火爆以来,降低了很多个人和企业进入…

09-微信小程序 网络请求API(实现轮播广告和简易的聊天窗口)

09-微信小程序API网络请求(实现轮播广告和简易的聊天窗口) 文章目录 微信小程序API服务器域名配置注意网络相关APIrequestRequestTask 请求任务对象object.success 回调函数object.fail 回调函数案例代码(实现轮播图) WebSocket案例代码(实现…

Vue:插槽,与自定义事件

1.插槽slot <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body> <div id"app"><!-- <p>列表书籍</p>--> <!-- …

【【STM32分析IO该设置什么模式的问题】】

STM32分析IO该设置什么模式的问题 我们分析而言 我们对于PA0 的设计就从此而来 对于边沿触发的选择我们已经有所了解了 我们下拉&#xff0c;但是当我们摁下开关的时候 从0到1 导通了 所以这个是下拉 上升沿触发 而对于KEY0 我们摁下是使得电路从原来悬空高阻态到地就是0 所以…

如何选择合适的损失函数

目录 如何选择合适的损失函数 1、均方误差&#xff0c;二次损失&#xff0c;L2损失&#xff08;Mean Square Error, Quadratic Loss, L2 Loss&#xff09; 2、平均绝对误差&#xff0c;L1损失&#xff08;Mean Absolute Error, L1 Loss&#xff09; 3、MSE vs MAE &#xff…