标签: software-raid

Grub2 RAID /启动

我在我的 HomeServer 上使用 Gentoo。我的硬盘是使用 mdadm 镜像的 raid1。

我的问题是如何正确引导 /boot 分区?

/dev/md1 consists of /dev/sdc2 & /dev/sdd2 mounted on /boot
Run Code Online (Sandbox Code Playgroud)

在我grub.cfg的 uuid 中,/dev/md1但在启动时阵列当然还没有准备好。

最简单的方法是取消突袭 /boot 分区,但这不是我想要做的。

那么,我如何找出raid成员的UUID?ls -l /dev/disk/by-uuid只显示 .uuid 的/dev/md1. 当我解开磁盘时,我无法挂载它们以获取它们的 UUIDmount: unknown filesystem type 'linux_raid_member'

那么我怎样才能让 Grub2 引导这些磁盘,它是否能够在它们进入突袭之前确定内容?(它们实际上是 ext2)。

我应该补充一点,我使用 gpt 分区表,因此我/dev/sdc1 and /dev/sdd1在两个驱动器上都有一个小分区来托管 bios_grub 分区。那些不是被突袭的自动取款机。

正如吉尔斯回答下面的评论中指出的那样,我的问题仍然存在。Grub 找不到设备,告诉我

error: no such device: 9f81a-(device uuid)-5580.
entering rescue mode...
grub rescue> 
Run Code Online (Sandbox Code Playgroud)

后来我加了几行

insmod part_msdos
insmod part_gpt
insmod raid
insmod mdraid …
Run Code Online (Sandbox Code Playgroud)

boot software-raid gentoo mdadm grub2

4
推荐指数
1
解决办法
1万
查看次数

在 md raid 中丢失了超级块

Red Hat Linux 5 上的问题。

由于一些误传,我们环境中的两个 LUN 从 1.2 TB 扩大到 1.7 TB。

现在,重新启动后,mdadm 找不到再次构建阵列的超级块。

通用格式 — 称为 0.90 版 — 有一个 4K 长的超级块,写入一个 64K 对齐的块,该块从设备末尾开始至少 64K 且小于 128K(即获取超级块的地址)设备大小降低到 64K 的倍数,然后减去 64K)。

我找到了一些旧文档:

# mdadm -D /dev/md0
/dev/md0:
        Version : 0.90
  Creation Time : Tue Jul 10 17:45:00 2012
     Raid Level : raid1
     Array Size : 1289748416 (1230.00 GiB 1320.70 GB)
  Used Dev Size : 1289748416 (1230.00 GiB 1320.70 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor …
Run Code Online (Sandbox Code Playgroud)

software-raid mdadm superblock

4
推荐指数
1
解决办法
7923
查看次数

使用基于稀疏文件的 vdevs 进行 LVM 到 ZFS 迁移的潜在后果是什么?

我一直在玩弄 ZFS,终于接受了它足够成熟我不应该被烧毁的事实。

现在迁移家庭 NAS 盒,它目前是一个 LVM JBOD 设置,它已经很满了,但我只有一个驱动器上有相当多的空间未分配。

我一直在使用在稀疏文件上创建的 zpools 来试验 zfs。用物理分区替换基于文件的 vdevs 似乎是一种非常灵活的前进方式。

我想知道如果我将这个想法发挥到极致,在这个已经非常完整的文件系统中创建与现有硬件相同大小的稀疏文件 vdev,并将内容从 LVM 移到 ZFS 阵列中,会发生什么.

理论上,只要 LVM 文件系统上的可用空间足以容纳不断增长的 ZFS,随着文件从其中删除,它就会继续运行。然后最终 LVM 文件系统将是空的,除了可以用物理分区替换的实际 ZFS 映像。

我预计至少会由于碎片化而对性能产生严重影响。

从表面上看,这听起来很疯狂,为什么要将文件复制到同一文件系统上的另一个容器中。所以我相信这个数据集将受益于打开重复数据删除和压缩,因此最终可能会有更多的可用空间。主要目标是获得将数据放在 ZFS 池中的灵活性,该池可以升级它的“驱动器”,即用物理硬件替换

这个疯狂的问题的灵感来自这篇关于使用环回设备作为临时硬盘更换来转换阵列的raid级别的博客文章

storage software-raid zfs lvm data

4
推荐指数
1
解决办法
1635
查看次数

mdadm - RAID5 阵列大小与实际磁盘大小不匹配

我有 4 个 3TB WD RED 磁盘,它们位于 mdadm RAID5 中,总阵列大小应为 9TB 可用空间,但我只有 6TB。

我已经确认所有磁盘都在阵列中,唯一奇怪的是 fdisk 为每个驱动器返回不同的分区 ID、磁头大小和扇区大小等。由于这些驱动器是在不同时间添加的,因此我可能遵循了不同的教程,这会导致一些事故。

我当然不想随意开始尝试,因为我不想丢失数据。所以我希望这是一个简单的修复,只是我缺少的东西。一旦我知道哪个磁盘有问题,我就可以正确地将它重新添加到阵列中。

root@bobserv:~# cat /proc/mdstat
个性:[线性] [多路径] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : 活动 raid5 sdb1[5] sdc1[3] sdd1[1] sde1[4]
      6442053120 块 super 1.2 级别 5,512k 块,算法 2 [4/4] [UUUU]

未使用的设备:无
root@bobserv:~# mdadm --detail /dev/md/0
/dev/md/0:
        版本:1.2
  创建时间:2013 年 10 月 17 日星期四 20:19:10
     突袭等级:raid5
     阵列大小:6442053120(6143.62 GiB 6596.66 GB)
  使用的开发大小:2147351040(2047.87 GiB 2198.89 GB)
   突袭装置:4
  设备总数:4
    持久性:超级块是持久性的

    更新时间:2014 年 2 月 11 日星期二 09:36:33 …

raid software-raid ubuntu mdadm

4
推荐指数
1
解决办法
1万
查看次数

调整基础分区大小后组装 mdadm RAID1 时出错

我想将 mdadm RAID1 从 2TB 缩小到 80GB。这是收缩前设置的样子。

root@rescue ~ # lsblk
NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda       8:0    0   3.7T  0 disk  
??sda1    8:1    0     4G  0 part  
? ??md0   9:0    0     4G  0 raid1 
??sda2    8:2    0   512M  0 part  
? ??md1   9:1    0 511.4M  0 raid1 
??sda3    8:3    0     2T  0 part  
? ??md2   9:2    0     2T  0 raid1 
??sda5    8:5    0     1M  0 part  
sdb       8:16   0   3.7T  0 disk  
??sdb1    8:17   0     4G  0 …
Run Code Online (Sandbox Code Playgroud)

filesystems raid software-raid mdadm parted

4
推荐指数
1
解决办法
1009
查看次数

了解 RAID 上下文中的“块大小”

我是否更正了 RAID 上下文中的块大小与文件系统上下文中的集群本质上相同?换句话说,块大小是可以写入 RAID 阵列成员的最小数据单位吗?例如,如果我有一个 64KiB 的块大小并且我需要编写一个 4KiB 文件并且文件系统的簇大小也是 4KiB,那么我会使用一个 64KiB 块并且基本上浪费 60KiB 是真的吗?

filesystems raid software-raid partition mdadm

3
推荐指数
1
解决办法
3446
查看次数

混合突袭类型

我即将重新初始化我的(SW)raid 阵列。

以前的阵列是带有 4 个磁盘的 raid5。我已经移除了一个磁盘以安装一个新的附加(更大)驱动器。

理想情况下,我想做的是在 3 个磁盘上混合使用 RAID 类型。具有 1 个 3 路镜像 raid1 的部分、raid5 的一部分和 raid0 的一部分,为我越来越不重要的文件提供不同级别的保护,同时尽可能少地浪费空间。

我可以通过在每个磁盘上创建 3 个单独的 raid 分区并从中组装 3 个阵列来做到这一点,但这有许多缺点:

  1. 每个部分的大小从一开始就是固定的,改变它会相当棘手
  2. 我会限制我的目录布局选项,最终可能会使用符号链接来保留逻辑布局

我真正想要的是单个文件系统,我可以在其中设置单个文件/目录的属性,指示这些文件所需的保护级别,从而适当地镜像文件。

有没有办法在 SUSE 上实现这一点,也许是使用一种深奥的文件系统格式?

raid software-raid partition mdadm

3
推荐指数
1
解决办法
1422
查看次数

mdadm:使用从活动阵列中删除的设备组装另一个阵列

为了在工作机器上扩大 raid1 阵列,我正在测试以下场景:

  • 删除两个磁盘之一
  • 添加更大的磁盘,重新同步
  • 添加另一个更大的磁盘,重新同步,增长到 raid-devices=3
  • “失败”并删除原来的小磁盘
  • 将设备“增长”回 raid-devices=2
  • 使用小磁盘制作备份 raid 设备
  • 放大主设备(现在包含两个大磁盘)

现在一切似乎都正常,除了一件重要的事情:我无法使用磁盘“失败”并从原始 md10 设备中删除来组装新的 md 设备:

mdadm --assemble /dev/md11 /dev/sde3
mdadm: Found some drive for an array that is already active: /dev/md10
mdadm: giving up
Run Code Online (Sandbox Code Playgroud)

有什么方法可以以某种方式更改此类已删除设备上阵列的标识吗?

software-raid

3
推荐指数
1
解决办法
8785
查看次数

镜像Linux磁盘写入辅助磁盘

我想设置一个 Linux 系统来使用一个主存储设备,但将该设备的所有写入复制到另一个辅助设备,而不会阻塞每次写入 - 例如,将 NVMe SSD 作为主存储设备,将旋转 rust 作为辅助设备。

目前我能想到的唯一方法是在后台运行频繁的操作rsync,或者类似btrfs-send磁盘写入的实时流。

storage linux raid software-raid

2
推荐指数
1
解决办法
221
查看次数

mdadm - 全新安装后如何重建 raid 阵列?

我曾经在挂载点上有一个 raid1 阵列/mnt/md0,但是我重新安装了操作系统,现在我不知道如何重新组装它。

我相信我应该按照 的思路做一些事情mdadm --assemble,但我不知道如何将此信息添加到在重新启动之间保持不变的配置文件中。(我也不记得配置文件的位置。)

我首先按照此信息创建了数组

https://www.digitalocean.com/community/tutorials/how-to-create-raid-arrays-with-mdadm-on-debian-9

但没有有关如何使用现有磁盘创建阵列的信息。

有人能指出我正确的方向吗?

更新:我找到了这个配置文件:/etc/mdadm/mdadm.conf

这就是它包含的内容

# mdadm.conf
#
# !NB! Run update-initramfs -u after updating this file.
# !NB! This will ensure that initramfs has an uptodate copy.
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers

# …
Run Code Online (Sandbox Code Playgroud)

raid software-raid debian mdadm

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

software-raid ×10

mdadm ×7

raid ×6

filesystems ×2

partition ×2

storage ×2

boot ×1

data ×1

debian ×1

gentoo ×1

grub2 ×1

linux ×1

lvm ×1

parted ×1

superblock ×1

ubuntu ×1

zfs ×1