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

前言

为了摆脱对于专业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较劲,好在最后我还真给搞出来了。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

等保测评各个级别的详细内容

等保测评是指信息系统安全等级保护测评,是我国信息安全领域中的一项重要工作。根据国家标准《信息系统安全等级保护基本要求》(GB/T 22239-2008)和《信息系统安全等级保护测评技术要求》(GB/T 25070-2010)。 等保测评分为五个级别,分别是:一级…

LLM推理部署(一):LLM七种推理服务框架总结

自从ChatGPT发布以来,国内外的开源大模型如雨后春笋般成长,但是对于很多企业和个人从头训练预训练模型不太现实,即使微调开源大模型也捉襟见肘,那么直接部署这些开源大模型服务于企业业务将会有很大的前景,本文将介绍七…

WebGPT VS WebGPU

推荐:使用 NSDT编辑器 快速搭建3D应用场景 随着WebGPU的引入,Web开发发生了有趣的转变,WebGPU是一种新的API,允许Web应用程序直接访问设备的图形处理单元(GPU)。这种发展意义重大,因为 GPU 擅长…

浅析token

上一章节我们学习了cookie和session机制,但是他们都有一些缺点,所有这次我们来了解一个机制---token。 一、cookie和session的缺点 cookie信息存储在客户端浏览器上,安全性较低,所以浏览器加入了一些限制确保cookie不会被恶意使用…

2023年京东婴童纸尿裤行业数据分析(京东数据运营)

当前,面对出生率下降、消费疲软等各种大环境不确定性,不仅是线下母婴店深陷于“生意难”的境地,线上消费同样受影响颇深,婴童纸尿裤类目便是如此。下面结合鲸参谋平台的数据,从行业大盘、品牌端等方面来看一下婴童纸尿…

Linux中的dpkg指令(dpkg -l | grep XXX等)

dpkg是Debian包管理系统中的一个工具,用于在Linux系统中安装、升级、删除和管理软件包。它是Debian、Ubuntu以及基于它们的发行版中的包管理器。 dpkg 有很多用法,常用之举例:dpkg -l | grep apt 显示系统中安装的与apt相关(命名&#xff09…

什么是跨域(cross-origin)请求,如何解决跨域问题?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 跨域请求和跨域问题⭐ 解决跨域问题的方法1. CORS(跨域资源共享)2. JSONP(JSON with Padding)3. 代理服务器4. WebSocket5. 使用服务器中继 ⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff…

我是如何成为一名全栈工程师的?

经历了将近一年的时间,我终于阶段性地完成了从iOS开发到后端开发的角色转变。 现在我可以自豪地说,我已经接近一名全栈工程师了,已经熟悉了后端开发的各种工具、环境和一些后端工作的方式。 接下来,我将继续熟悉框架、工具、语言…

企业主流全链路监控系统 - 理论

企业主流全链路监控系统 1. 问题背景2. 目标要求1. 探针的性能消耗2. 代码的侵入性3. 可扩展性4.数据的分析 3. 功能模块1. 埋点与生成日志2. 收集和存储日志3. 分析和统计调用链路数据,以及时效性4. 展现以及决策支持 4. Google Dapper1. Span2. Trace3. Annotatio…

QT设置mainwindow的窗口title

QT设置mainwindow的窗口title 在QT程序中,通常会有**aaaa-[bbbbbbb]**这种形式的title,对于刚上手qt的程序员同学,可能会简单的以为修改这种title,就是使用setWindowTitle这个接口,其实只对了一半,这种形式…

Ansible学习笔记9

yum_repository模块: yum_repository模块用于配置yum仓库的。 测试下: [rootlocalhost ~]# ansible group1 -m yum_repository -a "namelocal descriptionlocalyum baseurlfile:///mnt/ enabledyes gpgcheckno" 192.168.17.106 | CHANGED &g…

春秋云镜 CVE-2018-2894

春秋云镜 CVE-2018-2894 Weblogic 任意文件上传漏洞 靶标介绍 Oracle Fusion Middleware 的 Oracle WebLogic Server 组件中的漏洞(子组件:WLS - Web Services)。受影响的受支持版本包括 12.1.3.0、12.2.1.2 和 12.2.1.3。易于利用的漏洞允…

15.设备驱动的IO(阻塞/非阻塞)

目录 IO操作 两个阶段 阻塞操作 非阻塞操作 非阻塞模式实验 dts_led.c文件 app.c文件 Makefile文件 执行过程 阻塞IO:等待队列 wait_queue_head结构体:等待队列头 初始化等待队列头 init_waitqueue_head() DECLARE_WAIT_QUEUE_HEAD(name) …

matlab使用教程(24)—常微分方程(ODE)求解器

1.常微分方程 常微分方程 (ODE) 包含与一个自变量 t(通常称为时间)相关的因变量 y 的一个或多个导数。此处用于表示 y 关于 t 的导数的表示法对于一阶导数为 y ′ ,对于二阶导数为 y ′′,依此类推。ODE 的阶数等于 y 在方程中…

每日一题(反转链表)

每日一题(反转链表) 206. 反转链表 - 力扣(LeetCode) 思路: 可以定义一个新的newhead结构体指针。再定义cur指针和next指针互相配合,将原链表中的节点从头到尾依次头插到newhead链表中,同时更…

android:控件TextView

一、系统学习Android控制键TextView,我的笔记里面有尝试学着使用自定义控件。 二、具体内容 1.如果在代码中给textView赋值,在xml中也给textView赋值了最后运行出来的结果显示代码中赋的值。因此得出结论,代码中的赋值会覆盖xml所附的值。 …

15.MyCat数据库分片

MyCat 是一个开源的数据库中间件,主要用于将数据库操作请求路由和分发到后端的多个数据库节点。 1.Mycat环境搭建 在两个不同数据库中创建相同表 下载mycat https://github.com/MyCATApache/Mycat-Serverhttps://github.com/MyCATApache/Mycat-Server 将下…

QT 相关设置

目录 1.安装QT2.安装好之后需要做一些设置2.1 基本的字体及主题设置2.2 格式化美化代码插件设置 1.安装QT 具体教程不写了 2.安装好之后需要做一些设置 2.1 基本的字体及主题设置 进入选项 选择喜欢的主题 字号字体设置 2.2 格式化美化代码插件设置 先下载一个格式化插…

从Gamma空间改为Linear空间会导致性能下降吗

1)从Gamma空间改为Linear空间会导致性能下降吗 2)如何处理没有使用Unity Ads却收到了GooglePlay平台的警告 3)C#端如何处理xLua在执行DoString时候死循环 4)Texture2DArray相关 这是第350篇UWA技术知识分享的推送,精选…