我已经安装了 centos 6 并设置了一个带有两个磁盘的新 RAID 阵列。每一件事情是确定的,我已经划分的数组,但我没有看到任何/etc/mdadm.conf或/etc/mdadm/mdadm.conf文件。我也重新启动了我的机器,但没有运气!
你能告诉我我的错误是什么吗?mdadm 配置文件的位置是否有变化?
我有一个基于 Debian 7.4(稳定)的服务器,配置为使用加密的(RAID1 + LVM)根分区(/boot 是未加密的常规分区),我在其中安装了 dropbear SSH 服务器,因此我可以远程输入 LUKS 加密密码。
除了根分区/卷之外,我还有其他 RAID1+cryptsetup+LVM 卷,我希望能够使用相同的密码打开它们。我用谷歌搜索,发现我可以使用脚本/lib/cryptsetup/scripts/decrypt_keyctl来缓存密码并使用相同的密码打开多个卷。但是我如何使用这个脚本和在 initramfs 阶段输入的密码?
我有一个Debian Wheezy与RAID-1(一对夫妇500个GB HDD的系统mdadm镜),在其顶部坐落LVM逻辑卷用5个分区(boot,root,usr,var和tmp),47.15吉布的总大小。物理卷中的 418.38 GiB 是免费的。GRUB安装在两个驱动器上。
其中一个 HDD 出现故障,现在阵列降级,但数据完好无损。
我想要的是将所有这 2 个 HDD 全部更换为 80 GB SSD,而无需从头开始重新安装系统。这里的微妙之处是我需要缩小 LVM 物理卷以匹配 SSD 的大小,但逻辑卷不是连续的(一开始有很多可用空间),所以我必须以某种方式移动物理卷中的逻辑卷. 并且lvmove在 Debian 中没有命令。
我如何实现这一目标?
一些控制台输出:
版本:
root@wheezy:~# uname -a && mdadm --version && lvm version
Linux wheezy 3.2.0-4-amd64 #1 SMP Debian 3.2.63-2+deb7u1 x86_64 GNU/Linux
mdadm - v3.2.5 - 18th May 2012
LVM version: 2.02.95(2) (2012-03-06)
Library version: 1.02.74 (2012-03-06) …Run Code Online (Sandbox Code Playgroud) 我刚刚问过这个问题,安装新的 RAID1 阵列后我无法启动。我能够到达终端,但是一旦我解决了这个问题,我意识到我的问题与其说是 fstab 引导问题,不如说是 mdadm 自动组装问题。
我的系统上有三个 RAID1 阵列,分别/dev/md1安装在 at/和/dev/md0安装为swap,这些目前运行没有问题。我没有创建这些数组。我创建了一个新的 RAID1 阵列,/dev/md2我使用本指南将其格式化为 ext4 ,在这样做的过程中,我创建了一个新分区(唯一的)md2p1(该指南还创建了一个类似命名的分区,尽管 fdisk 从未明确要求名称)。
创建这个新阵列后,我可以使用手动挂载
mount -t ext4 /dev/md2p1 /srv/Waveforms
Run Code Online (Sandbox Code Playgroud)
这工作得很好。我能够访问该目录并向其中添加了大约 700 GB 的数据。这样做后,我得到
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md2 : active raid1 sdc1[0] sdd1[1]
1953423552 blocks [2/2] [UU]
md1 : active raid1 sda2[0] sdb2[1]
961136576 blocks [2/2] [UU]
md0 : active raid1 sda1[0] …Run Code Online (Sandbox Code Playgroud) 给定一个处于降级/重建状态的 raid1 驱动器,是否可以强制安装它?我想在进行配对和重建的危险操作之前恢复所有文件。据我所知,驱动器处于完美状态,完好无损。配对驱动器部分出现故障。
如果驱动器未处于重建状态,我会确切地知道该怎么做。这是我尝试过的:
# mdadm --verbose --assemble /dev/md8 /dev/sdb1 --force
mdadm: looking for devices for /dev/md8
mdadm: /dev/sdb1 is identified as a member of /dev/md8, slot 1.
mdadm: no uptodate device for slot 0 of /dev/md8
mdadm: added /dev/sdb1 to /dev/md8 as 1
mdadm: /dev/md8 assembled from 0 drives and 1 rebuilding - not enough to start the array.
# cat /proc/mdstat
md8 : inactive sdb1[1](S)
976759808 blocks super 1.2
md0 : active raid1 sdc1[0]
976759672 blocks super 1.2 …Run Code Online (Sandbox Code Playgroud) 我每天都会在服务器上收到以下邮件:
This is an automatically generated mail message from mdadm
running on <host>
A SparesMissing event had been detected on md device /dev/md0.
Faithfully yours, etc.
P.S. The /proc/mdstat file currently contains the following:
Personalities : [raid1]
md0 : active raid1 sda1[0] sdb1[1]
731592000 blocks [2/2] [UU]
unused devices: <none>
Run Code Online (Sandbox Code Playgroud)
虽然输出cat /proc/mdstat看起来不错,所以导致这个问题的原因并不明显。
我正在运行 Centos 7。最初,它运行在一个看起来像这样的磁盘上:
1 200M EFI System (/boot/efi)
2 500M Microsoft basic (/boot)
3 465.1G Linux LVM
LVM VG centos
- LVM LV ext4 centos-root (/)
- LVM LV swap centos-swap (swap)
Run Code Online (Sandbox Code Playgroud)
这只是一个临时解决方案,因为它最初应该安装在 Linux 软件 RAID1 阵列上。我今天有时间迁移它。这是它目前的样子:
Both new disks have this partition layout:
1 200M EFI System (/boot/efi)
2 457.6G Linux RAID /dev/md0 RAID1 (for boot and LVM)
3 8G Linux RAID /dev/md1 RAID0 (so 16GB total, for swap)
/dev/md0 looks like this:
1 500M Linux filesystem (/boot) …Run Code Online (Sandbox Code Playgroud) 问题:使用 Linux 和 mdadm,我如何从英特尔快速存储技术 RAID-0 阵列(格式化为 NTFS,安装了 Windows 7)中使用的硬盘制作的磁盘映像中读取/复制数据作为文件?
问题:阵列中的一个驱动器坏了,所以我想在更换驱动器之前复制尽可能多的数据(从而破坏阵列)。
如果他们解决了我的问题,我对这个问题的替代解决方案持开放态度。
我有一台带有 Intel 快速存储技术控制器(在各种上下文中称为 RST、RSTe 或 IMSM)的笔记本电脑,它有两 (2) 个配置为 RAID-0 (FakeRAID-0) 的硬盘。RAID-0 不是我的选择,因为笔记本电脑以这种配置交付给我。其中一个磁盘似乎积累了很多坏扇区,而另一个磁盘则完全健康。总之,这些磁盘仍然足够健康,可以启动到操作系统(Windows 7 64 位),但是在访问损坏的磁盘区域时,操作系统有时会挂起,继续尝试使用损坏的磁盘似乎是一个坏主意。我想从磁盘复制尽可能多的数据,然后更换损坏的驱动器。由于在损坏的磁盘上实时操作被认为是不好的,我决定对两个磁盘进行映像,以便以后可以使用 mdadm 或等效的东西挂载这些映像。我花了很多时间并阅读了很多书,但我仍然没有成功地将磁盘映像安装为(假)RAID-0 阵列。我会试着回忆我在这里执行的步骤。吃点零食和饮料,因为这很长。
首先,我有一个 USB 外部驱动器来运行 Ubuntu 15.10 64 位关闭分区。使用 LiveCD 或小型 USB 拇指驱动器更容易启动,但比外部慢(而且 LiveCD 不是持久安装)。我安装了 ddrescue 并用它来生成每个硬盘的映像。创建图像没有明显的问题。
获得图像后,我使用 apt 安装了 mdadm。但是,这从 2013 年安装了旧版本的 mdadm。更新版本的更新日志表明对 IMSM 的支持更好,因此我使用本指南编译并安装了 mdadm 3.4 ,包括升级到 4.4.2 或更高版本的内核。这里唯一值得注意的问题是一些测试没有成功,但指南似乎表明这是可以接受的。
在那之后,我在几个 地方读到我需要使用环回设备才能使用图像。我将磁盘映像安装为 /dev/loop0 和 /dev/loop1 没有问题。
以下是该过程中的一些相关信息......
mdadm --detail-platform:
$ sudo mdadm --detail-platform
Platform : …Run Code Online (Sandbox Code Playgroud) 我难住了。我在 16.10 上有一个完美运行的 RAID1 设置。升级到 17.10 后,它会自动神奇地检测到阵列并重新创建 md0。我所有的文件都很好,但是当我挂载 md0 时,它说该阵列是只读的:
cat /proc/mdstat
Personalities : [raid1]
md0 : active (read-only) raid1 dm-0[0] dm-1[1]
5860390464 blocks super 1.2 [2/2] [UU]
bitmap: 0/44 pages [0KB], 65536KB chunk
unused devices: <none>
sudo mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sat Jul 9 23:54:40 2016
Raid Level : raid1
Array Size : 5860390464 (5588.90 GiB 6001.04 GB)
Used Dev Size : 5860390464 (5588.90 GiB 6001.04 GB)
Raid Devices : 2
Total Devices …Run Code Online (Sandbox Code Playgroud) 我目前正在设置 NAS 系统,主要用于备份我的计算机,也可能用于将媒体文件传输到我的设备。
出于这些目的,我决定将 OpenMediaVault 与两个新的 4GB 驱动器一起使用,因为它似乎是一个稳定运行的软件,并且已经内置了所有需要的功能。
但是目前还不是很清楚选择哪个文件系统。我目前倾向于使用 BTRFS 而不是 ext4,因为我真的想要“自我修复”以及简单的快照。
除此之外,我想在 RAID 1 中设置我的驱动器,以便我可以从更高的数据可用性中受益。
现在谈到 BTRFS,有两个关于如何设置我的 RAID 1 的选项。
一个是使用带有 mdadm 的标准 Linux 软件 raid,另一个是“本机”btrfs raid。
每个的优点/缺点是什么?