========
重新安装操作系统后,我无法访问使用 mdraid 在 8 个硬盘上构建的 RAID5 组中存储的数据。非常感谢您的建议!
我有一个基于 Intel Atom(Zotac NM10-DTX WiFi)构建的 DIY 家庭 NAS 服务器、通过 HighPoint-RocketRAID 2680 连接的 8 个 2TB WD Caviar HDD,以及用于操作系统的 64GB SSD。
该设置运行良好近 2 年(在 Ubuntu Server 10.4 LTS 上)并使用 mdraid(事实证明,仅使用 RAID 适配器连接驱动器并使用 mdraid 构建 14TB RAID5 阵列即可获得更好的性能)。
我最近开始遇到一些性能问题(读取和写入变得缓慢 - 无论是从网络中的其他主机访问数据还是在 NAS 服务器上本地运行 dd),所以我决定更新操作系统,因为已经有一段时间了(我只有自动安全更新)。更新出了严重问题,操作系统在更新后甚至无法启动 - 所以我决定全新安装 Ubuntu Server 12.04。
感谢 askubuntu,我成功为 RocketRAID 2680 构建了驱动程序,并且我可以看到所有 8 个驱动器(/dev/sdb 到 /dev/sdi)并且运行 mdadm --examine 返回:
/dev/sdb1:
Magic : a92b4efc
Version : 0.90.00
UUID : e667bd7d:d55be409:e9e4094c:aa5ad989 (local to host wega)
Creation Time : Wed Jan 5 16:47:34 2011
Raid Level : raid5
Used Dev Size : 1953431232 (1862.94 GiB 2000.31 GB)
Array Size : 13674018624 (13040.56 GiB 14002.20 GB)
Raid Devices : 8
Total Devices : 8
Preferred Minor : 0
Update Time : Tue Oct 15 18:36:41 2013
State : clean
Active Devices : 8
Working Devices : 8
Failed Devices : 0
Spare Devices : 0
Checksum : d1fdf40 - correct
Events : 1010
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
0 0 8 17 0 active sync /dev/sdb1
1 1 8 33 1 active sync /dev/sdc1
2 2 8 49 2 active sync /dev/sdd1
3 3 8 65 3 active sync /dev/sde1
4 4 8 81 4 active sync /dev/sdf1
5 5 8 97 5 active sync /dev/sdg1
6 6 8 113 6 active sync /dev/sdh1
7 7 8 129 7 active sync /dev/sdi1
我还可以通过运行以下命令激活 /ded/md0:
mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1
...返回:
mdadm: /dev/md0 has been started with 8 drives.
+ 现在的问题是:+
虽然阵列似乎已成功重新启动,但我没有看到我 2 年前创建的 14TB 分区(从那时起就用来存储我的所有数据)。运行 cfdisk 仅显示一个 Linux 分区,容量约为 1.8TB,未使用空间约为 12TB:
Disk Drive: /dev/md0
Size: 14002195070976 bytes, 14002.1 GB
Heads: 2 Sectors per Track: 4 Cylinders: 3418504656
Name Flags Part Type FS Type [Label] Size (MB)
--------------------------------------------------------------------------
Pri/Log Free Space 0.06
md0p1 Primary Linux 1750274.33
Pri/Log Free Space 12251920.69
运行 mdadm --detail /dev/md0 时也会出现同样的情况
/dev/md0:
Version : 0.90
Creation Time : Wed Jan 5 16:47:34 2011
Raid Level : raid5
Array Size : 13674018624 (13040.56 GiB 14002.20 GB)
Used Dev Size : 1953431232 (1862.94 GiB 2000.31 GB)
Raid Devices : 8
Total Devices : 8
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Wed Oct 16 11:07:25 2013
State : clean
Active Devices : 8
Working Devices : 8
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 64K
UUID : e667bd7d:d55be409:e9e4094c:aa5ad989 (local to host wega)
Events : 0.1010
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
2 8 49 2 active sync /dev/sdd1
3 8 65 3 active sync /dev/sde1
4 8 81 4 active sync /dev/sdf1
5 8 97 5 active sync /dev/sdg1
6 8 113 6 active sync /dev/sdh1
7 8 129 7 active sync /dev/sdi1
如果我理解正确的话,“阵列大小”和“已用设备大小”之间的差异(2TB vs 14TB)意味着存在问题。在了解发生了什么之前,我不想尝试安装分区(以避免对数据进行任何更改,这会阻止我再次访问我的 RAID 组)。
我一直使用这台 NAS 服务器进行所有备份和数字媒体存储,因此非常感激您的任何建议。
我是不是忘了按最后一个开关了,还是我已经彻底完蛋了?
答案1
使用的设备大小意味着每个单独的磁盘都是 2 TB。不要使用,cfdisk
因为它是一个旧的、有缺陷的 POS,只理解 msdos 分区表,不支持大于 2TB 的磁盘。请使用parted
支持 gpt 的。
更重要的是,我认为 RAID 阵列中甚至没有分区表。更常见的做法是格式化整个阵列,而不是对其进行分区,因此只需尝试安装阵列即可。