背景
最近在研究各种NAS,包括我的D-Link DNS-320和群晖的DSM,使用NAS是为了给数据存储提供方便和安全保障,当然前提是不能被某个技术或产品绑架,尤其对于我们搞开源的工程师来说,更是如此。我比较关注我的数据安全,我会考虑如果某天我的NAS坏掉了,数据是否能够在其他设备上读取出来,这是蛮重要的事情。
因此我对DNS-320和群晖DSM系统做了这方面的验证,结果证明它们都使用了开源的RAID方案,因此我可以很方便地在Linux系统下访问这些RAID分区。

试验环境
下面的操作以DNS-320创建的RAID1分区为例,群晖DSM也是类似的,只是元数据目录结构会有些差异,但基本大同小异。Linux系统我用的是CentOS 8.1,其他发行版也都有类似功能。

挂载步骤
首先,硬件连接物理硬盘到主机,Linux正常识别到硬盘及RAID分区(/dev/sdb2),这一步通过分区大小就能判断:

[root@SCVM-CNT8-01 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 16G 0 disk
├─sda1 8:1 0 600M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 14.4G 0 part
├─cl-root 253:0 0 12.8G 0 lvm /
└─cl-swap 253:1 0 1.6G 0 lvm [SWAP]
sdb 8:16 0 1.8T 0 disk
├─sdb1 8:17 0 512M 0 part
├─sdb2 8:18 0 200G 0 part
├─sdb3 8:19 0 1.6T 0 part
└─sdb4 8:20 0 1G 0 part
sr0 11:0 1 1024M 0 rom
1
2
3
4
5
6
7
8
9
10
11
12
13
14
其次,尝试挂载RAID分区。但RAID分区并不能直接挂载,会报错:

[root@SCVM-CNT8-01 ~]# mkdir /mnt/raidcheck
[root@SCVM-CNT8-01 ~]# mount /dev/sdb2 /mnt/raidcheck
mount: /mnt/raidcheck: unknown filesystem type ‘linux_raid_member’.
1
2
3
因此,需要使用mdadm命令还原RAID分区:

[root@SCVM-CNT8-01 ~]# yum install -y mdadm

Complete!
[root@SCVM-CNT8-01 ~]# mdadm --assemble --run /dev/md2 /dev/sdb2
mdadm: /dev/md2 has been started with 1 drive (out of 2).
1
2
3
4
5
再次将RAID分区挂载到系统中:

[root@SCVM-CNT8-01 ~]# mount /dev/md2 /mnt/raidcheck
1
检查RAID分区中的文件:

[root@SCVM-CNT8-01 ~]# ll /mnt/raidcheck/
total 24
drwx------. 2 root root 16384 Apr 20 02:52 lost+found
drwxrwxrwx. 3 root root 4096 Apr 20 03:03 Nas_Prog
drwxrwxrwx. 2 501 501 4096 Apr 20 22:56 RAID1_TEST_DATA
[root@SCVM-CNT8-01 ~]# ll /mnt/raidcheck/RAID1_TEST_DATA/
total 238660
-rwxrwxrwx. 1 1001 501 99157 Dec 10 03:01 testdata1.log
-rwxrwxrwx. 1 1001 501 244283341 Feb 7 06:41 testdata2.tar.gz
1
2
3
4
5
6
7
8
9
还可以查看RAID分区的信息:

[root@SCVM-CNT8-01 ~]# mdadm --detail /dev/md2
/dev/md2:
Version : 0.90
Creation Time : Mon Apr 20 02:51:59 2020
Raid Level : raid1 # RAID类型
Array Size : 209715136 (200.00 GiB 214.75 GB) # RAID大小
Used Dev Size : 209715136 (200.00 GiB 214.75 GB)
Raid Devices : 2 # 原有2块硬盘
Total Devices : 1 # 发现1块硬盘
Preferred Minor : 2 # 至少2块硬盘
Persistence : Superblock is persistent

   Update Time : Tue Apr 21 03:03:35 2020State : clean, degraded              # 处于降级的服务状态
Active Devices : 1

Working Devices : 1
Failed Devices : 0
Spare Devices : 0

Consistency Policy : resync

          UUID : 2b9e5511:d8210d7b:32043162:e56069a7Events : 0.321Number   Major   Minor   RaidDevice State-       0        0        0      removed1       8       18        1      active sync   /dev/sdb2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
常见错误
此外,你可能会遇到下面的错误:

[root@SCVM-CNT8-01 ~]# mdadm --assemble --run /dev/md2 /dev/sdb2
mdadm: /dev/sdb2 is busy - skipping
1
2
这时,你可以这样检查一下:

[root@SCVM-CNT8-01 ~]# cat /proc/mdstat
Personalities : [raid1]
md124 : active (auto-read-only) raid1 sdc3[0]
1948692544 blocks super 1.2 [1/1] [U]

md125 : inactive sdb31
1742225408 blocks

md126 : inactive sdb21
209715136 blocks

md127 : inactive sdb11
524224 blocks

unused devices:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
你可能会发现你要挂载的sdb2分区已经被使用了。

当然,如果你愿意的话,你也可以手动停用它,方法是:

[root@SCVM-CNT8-01 ~]# mdadm --stop /dev/md126
[root@SCVM-CNT8-01 ~]#

使用Linux挂载NAS硬盘的RAID分区相关推荐

  1. linux传统方式挂载新硬盘并进行分区格式化

    本文在以下条件中测试通过:VMware-Workstation-Pro-14.0.0.6661328 Ubuntu 16.04 本文转自:linux挂载新硬盘并进行分区格式化 - 字母哥博客 - 博客 ...

  2. linux如何挂载swap分区,Linux挂载新硬盘和创建Swap分区的方法

    Liunx添加新硬盘其实和Windows的操作一样,但一个是图形化操作,另一个是命令行操作,不过步骤是一样,下面就动手演示和讲解 Linux挂载新硬盘 1.查看硬盘信息 命令:fdisk -l [ro ...

  3. linux挂载新硬盘,开机自动挂载

    http://blog.chinaunix.net/uid-7411781-id-2056205.html linux挂载新硬盘,开机自动挂载 Linux的硬盘识别: 2.6 kernel以后,lin ...

  4. 【高性能】Linux挂载GPT硬盘

    Linux挂载GPT硬盘 硬盘分区表存储了硬盘数据块的存储方式.根据分区表,可以将主流硬盘划分为MBR和GPT格式,其中MBR支持2T以下的硬盘,GPT则是新分区表标准,能支持2T以上的硬盘.64位L ...

  5. Linux 挂载应硬盘

    Linux 挂载应硬盘 分区 格式化分区 挂载 设置开机自动挂载 分区 列出所有设备: lsblk 分区: fdisk /dev/sda 输入 n // 表示新增一个分区 后面都是默认 分区类型 主分 ...

  6. Linux 挂载nas盘

    Linux 挂载nas盘 微信公众号:幼儿园的学霸 个人的学习笔记,关于OpenCV,关于机器学习, -.问题或建议,请公众号留言; 目录 文章目录 Linux 挂载nas盘 目录 步骤及问题解决 参 ...

  7. Linux挂载局域网硬盘(Linux 挂在网络硬盘),Ubuntu (Cubieboard CC-A80)挂载小米路由器硬盘

    Linux挂载局域网硬盘(Linux 挂在网络硬盘),Ubuntu (Cubieboard CC-A80)挂载小米路由器硬盘. 小米路由器上的硬盘可以用来局域网共享资源,备份,网络下载,其实它就是个S ...

  8. Linux 挂载磁盘和扩展现有分区大小(无需格式化、无需关机)

    Linux 挂载磁盘和扩展现有分区大小(无需格式化.无需关机) 前言 一.磁盘挂载 二.分区扩容 总结 前言 Centos.Ubuntu.Debian,xfs 和 ext 文件系统都可以,我全都在虚拟 ...

  9. linux 挂载3t硬盘分区,centos7挂载3T硬盘

    相信很多人都遇到大硬盘无法全部格式化空间的问题,这里给大家说下怎么完全使用2T以上的硬盘空间.(这篇文章其实早就写好了的,因操作的时候没截图,一直没找到机会把图补上,所以大家降就看吧) 系统:cent ...

最新文章

  1. dao模式和前端控制器结合使用_前端技术及开发模式的演进,带你了解前端技术的前世今生...
  2. WPF-21:WPF实现仿安卓的图案密码键盘(初级)
  3. linux c之wait和waitpid函数的用法和总结
  4. python 竖线 绘图_Python可视化 | Seaborn5分钟入门(二)——barplot countplot
  5. 前后端分离跨域问题解决方案
  6. 我如何开始使用Linux
  7. Java文件上传细讲,大厂 HR 如何面试
  8. 微信支付亲属卡新增“其他亲人”选项 “子女”增加至三张
  9. 拼多多“官宣”iPhone 12:来得刚刚好 下周见!
  10. upc 9325 序列本质
  11. PHP 运行 php-fpm 报错
  12. .NET Core全面扫盲贴
  13. linux设置ipsan_Linux挂载IPSAN和FCSAN操作
  14. B站想破圈 UP主想恰饭
  15. 【考前必读】致PMI项目管理认证系列考试考生
  16. 帝国cms后台登录系统限制次数,60分钟过后重新登录解决办法
  17. php imap函数详解,Imap是什么意思,php imap 函数详解
  18. ggplot2——柱状图
  19. pycharm报Process finished with exit code -1073741515 (0xC0000135)
  20. 我们精通那么多技术,为何还是做不好一个项目?

热门文章

  1. GCC 编译 C 语言文件
  2. 使用librtmp库进行推流与拉流
  3. 【Java】用PriorityQueue优先队列实现最小堆和最大堆
  4. 手撸Spring系列8:Spring AOP(理论篇)
  5. 徐耀赐:新型道路交通工程安全设施发展展望1(图文版)
  6. Mock 模拟测试简介及 Mockito 使用入门
  7. ubuntu上关于anaconda虚拟环境配置
  8. 专访凌云光技术3D视觉业务部经理李淼:做好技术和产品,为VR行业服务
  9. 【php】PHP单例模式
  10. Frameworks Brightness