Questions tagged «mdadm»

用于管理软件RAID设备的linux实用程序。

2
升级可见磁盘大小时增加/调整RAID
我最初使用控制器创建软件RAID,每个磁盘只能寻址2TB。磁盘是3 TB磁盘。它工作正常,但仅使用了每个磁盘的前2TB。 现在,我已更改控制器以查看完整的3TB。因此,我也想/dev/md0使用最后1 TB。 我努力了: # mdadm --grow /dev/md0 --size=max mdadm: component size of /dev/md0 has been set to 2147479552K 但是正如您所看到的,它只能看到2TB。如果我尝试将其调高: # mdadm --grow /dev/md0 --size=2147483648 mdadm: Cannot set device size for /dev/md0: No space left on device 因此,系统以某种方式可以看到磁盘为3TB(在中/proc/partitions),但RAID无法将其视为3TB。 mdadm详细信息: # mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time …

1
在mdadm中使用UUID
我正在使用GPT作为分区方案。我检查分区的UUID: # ls -l /dev/disk/by-partuuid/ total 0 lrwxrwxrwx 1 root root 10 Oct 18 22:39 0793009a-d460-4f3d-83f6-8103f8ba24e2 -> ../../sdb3 lrwxrwxrwx 1 root root 10 Oct 18 22:39 13f83c47-ad62-4932-8d52-e93626166e7f -> ../../sdc3 lrwxrwxrwx 1 root root 10 Oct 18 22:39 1b247b1f-0b7b-419e-bc3b-0f90cbadb87c -> ../../sdc2 lrwxrwxrwx 1 root root 10 Oct 18 22:39 224d5933-7a23-4833-b785-79a67c9b9306 -> …
10 mdadm  gpt 

1
如何在不使用/etc/mdadm.conf的情况下组装特定的RAID阵列
是否可以使用mdadm及其扫描功能来组装特定的RAID阵列,而无需配置文件? 背景: 我正在使用定制的initramfs来设置系统(dm-crypt和其他内容)。一切都在init脚本中完成并配置,这就是我想要保留的方式,即无需任何其他配置文件。 我的目标: 在初始化脚本中,我只想使用命令行组装一个特定的RAID阵列。通过其UUID标识阵列,给出md设备名称,并应扫描阵列成员(因为例如,连接的USB记忆棒或发生故障的设备会弄乱/ dev / sdX名称)。所有其他设备和潜在的RAID阵列都将被忽略,因为在引导过程中,只有一个阵列是感兴趣的(带有根文件系统)。 仔细阅读mdadm的手册页并进行一些测试,我想到了: mdadm --assemble --uuid <uuid> /dev/md0 这似乎可行,但这是正确的方法吗? 在手册页中: 如果仅列出了一个设备,但未指定--scan,则mdadm的行为就好像已给出--scan一样,并且从配置文件中提取了身份信息。
9 raid  mdadm  initramfs 

2
写入缓存如何与跨越不同速度的磁盘的文件系统一起工作?
在具有多个磁盘和跨越慢速(HDD)和快速(SSD)驱动器的软件RAID的现代Linux系统上,如何缓存对文件系统的写入? 对于md-raid RAID1,可以为磁盘配置磁盘,--write-mostly并且--write-behind表明从较快的磁盘执行读取,而对较慢的磁盘进行写入可能会滞后。但是如何在内核级别缓存呢?内核是否在md-raid层之前或之后缓存磁盘写入的内容?在write()调用结束时,是否保证将数据写入其中一个非--write-behind磁盘? 对于btrfsRAID1,相同的情况如何发生?没有--write-behind功能,因此脏页是在设备级别还是在文件系统级别进行计数的?什么时候会返回write()? vm.dirty_*ratio可调参数如何影响这些设置?

1
更新-grub上出现grub错误“多余的RAID成员”
我的系统(heheyy / sid:2.6.32-5-amd64#1 SMP x86_64 GNU / Linux)运行良好-我只是想知道某些消息的含义。我的系统上运行了两个mdraid阵列。这里是cat /proc/mdstat: Personalities : [raid1] [raid6] [raid5] [raid4] md1 : active (auto-read-only) raid5 sda3[0] sdc3[3] sdb3[1] 823103488 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] md0 : active raid1 sda2[0] sdc2[2](S) sdb2[1] 72628769 blocks super 1.2 [2/2] [UU] 我使用的/dev/md0是/和/dev/md1作为/home。每当update-grup运行时-或出现grub时,我都会收到错误: error: …
9 debian  grub2  mdadm 

3
在mdadm降级的RAID阵列上缩小LVM物理卷,添加备用磁盘并重建它
我有一个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) Driver version: 4.22.0 数组详细信息: root@wheezy:~# mdadm …
8 debian  lvm  mdadm 

4
在高可用性软件RAID 1服务器上使用smartd(在smartmontools中)监视磁盘运行状况
我有三个相同的SATA / 600 3TB硬盘的服务器:/dev/sda,/dev/sdb,/dev/sdc。使用GPT对驱动器进行分区,每个分区具有三个分区: 1 MB:引导加载程序的保留分区 1 GB:RAID1 / dev / md0(ext2(/ boot)) 3 TB:RAID1 / dev / md1(加密卷(LVM(卷组(Swap,/,/ etc,/ home ...)))) 三个驱动器之一是热备用,另外两个在RAID集中处于活动状态。它工作正常,并且在断开任何单个HDD的连接后就可以启动。我想使用smartd(smartmontools的一部分)来监视驱动器的运行状况,并向syslog报告错误(我使用logcheck对其进行监视)。该服务器应具有尽可能高的可用性,但是在测试过程中降低性能是可以接受的。 这是输出smartctl -a /dev/sda: smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-4-amd64] (local build) Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net === START OF INFORMATION SECTION === Device Model: WDC WD30EZRX-00MMMB0 …

2
mdadm的“备用”数字是什么意思?
我使用以下命令从六个硬盘驱动器创建了一个基于mdadm的RAID 5: # mdadm --create /dev/md0 --level=5 --raid-devices=5 \ /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 \ --spare-devices=1 /dev/sdg1 我希望该阵列具有一个热备用,即/ dev / sdg1。但是,检查mdadm --detail显示2个备用零件: # mdadm --detail --scan ARRAY /dev/md0 metadata=1.2 spares=2 name=... 而且,如所示的阵列大小为df2 TB,这仅对应于我使用的500 GB驱动器中的四个。 那么,什么是确切的语义--spare-devices?手册页指出它“指定了初始阵列中备用(eXtra)设备的数量。”,但这似乎并非如此。

2
Ubuntu:如何在启动时组装md设备?
md在Ubuntu中启动时如何组装设备?是/etc/mdadm/mdadm.conf名副其实的相关因素,在这里? 我mdadm.conf的声音很正常,并且在应急CD环境中检查了一下。运行时,mdadm -A --scan它会根据需要查找并分配设备名称。该mdadm.conf包含AUTO -all从组装阵列采取了所有自动性。 我需要做的是能够在启动时自动组装md设备,mdadm.conf或者在组装时能够super-minor接受0.9阵列的值和name(显然<hostname>:<super-minor>)1.2阵列的值,而无需进行正确的操作mdadm.conf。我想念什么拼图? 我有以下问题。有两台md具有RAID1(md0和md1)的设备,一台具有RAID6(md2)的设备。我通过所需的设备名称来指代它们。md0具有元数据版本0.9,其他两个具有版本1.2。md0映射到/和其他两个与引导无关。 引导驱动器已分区。上面有一个胶水“ BIOS引导分区”(sda1)。grub-install --no-floppy /dev/sda报告成功。 md0 == sda3 + sdb3 md1 == sda2 + sdb2 md2 == sdc + sdd + sde + sdf + sdg + sdh sda1并sdb1有“BIOS引导分区”每 GRUB2是高兴的/boot/grub/devicemap我把它和我说part_gpt,raid,mdraid09并ext2在模块预载GRUB2。 由于我仍然在救援环境中拥有根卷,因此我只需安装所有内容,然后进行操作chroot: mkdir /target mount /dev/md0 /target mount -o bind /dev /target/dev mount -o bind …
8 linux  ubuntu  grub2  mdadm  initrd 

1
如何恢复损坏的软件RAID5阵列?
阿克,我想我搞砸了。我在RAID5阵列上发生了电源故障,这导致驱动器之间的元数据不一致。 我遵循这里 的建议,只是手指发麻的情况导致我运行--create命令而没有丢失参数。运行通过各种组合进行置换的Perl脚本导致我无法装入阵列。我有几个问题: 我在这里完全被搞砸了,我还能做些什么吗?驱动器本身似乎还不错。丢失的参数是否会使我失去恢复数据的任何机会? 无论如何,除了安装驱动器外,我还能获得一些数据吗?我不太了解如何跨磁盘划分数据,因此我不知道是否有可能恢复某些文件。

6
奇偶校验RAID(例如RAID5)软件的优缺点
最近有人告诉我有关没有非易失性缓存的奇偶校验RAID的一些问题。更为强大的硬件控制器确实具有电池供电的高速缓存,以在电源故障的情况下完成写操作。现在,有人说这样的故障,可能与降级的阵列一起,可能会杀死您的整个文件系统。其他人则认为这些问题已经过时和/或存在误解。 不幸的是,没有人提供硬性参考,也没有搜索md RAID和非易失性缓存,也没有通过位图缓存提供关于md-RAID5是否可取的可靠答案。 关于此的任何信息吗?
8 raid  mdadm  raid5 

1
mdadm Raid5提供了备件丢失事件
我在Debian测试(Wheezy)上成功建立了raid5数组。如手册页所述,该阵列将被创建为一个不同步的阵列,仅注入一个新的要修复的备用磁盘。很好。但是在重建过程之后,我每天都会收到有关缺少备件的消息,但是该阵列应在3片没有备件的光盘上进行raid5 备份。我想我只需要告诉mdadm,而且应该没有多余的,但是怎么办? mdadm -D 给 Active Devices: 3 Working Devices: 3 Failed Devices: 0 Spare Devices: 0 并/proc/mdstat阅读 md1: active raid5 sda3[0] sdc3[3] sdb3[1] ##### blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] 有任何想法吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.