Articles of mdadm

Ubuntu服务器,gpt分区表,mdadm,grub引导失败

基本的工作系统细节: 我使用Ubuntu 12.04服务器CD来安装服务器。 我有4个磁盘。 在所有磁盘上,我做了以下,类似于这个howto : 创build了一个2GB的交换分区 创build了一个256 GB /启动分区 创build了一个64 GB的RAID10分区(用于root) 创造了一个大的RAID10分区占据了其余的空间 我格式化引导为ext3。 我在根和大分区上设置了RAID10。 我格式化了一个ext4的根。 我创build了一个大的逻辑卷,并格式化它ext4。 由此产生的系统工作正常,靴子罚款。 问题详情: 然后我决定logging一个失败的程序。 作为第一步,我决定重新安装grub。 # grub-install /dev/sda warn: This GPT partition label has no BIOS Boot Partition; embedding won't be possible!. error: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, […]

在md / LVM / dm-crypt中使用4k驱动器

我知道我必须将我的4K驱动器与8个扇区的倍数alignment,但是md-RAID / LVM / dm-crypt又如何呢? 我如何告诉这些图层我的硬盘是4k? 如果他们不尊重4k扇区大小,分区alignment是没有用的。 如何alignmentLVM / md / crypto-layers? 谢谢。

mdadm和4k扇区(高级格式)

有关Serverfault关于alignment4k扇区磁盘有许多问题,但有一件事情还不是很清楚。 我成功地alignment了我的RAID1 + LVM。 我做的一件事是使用mdadm超级版本1.0(它将超级块存储在磁盘的末尾)。 该手册说: 不同的子版本将超级块存储在设备上的不同位置,可以在结尾(1.0),开始(1.1)或从开始(1.2)开始4K。 “1”相当于“1.0”。 “默认”相当于“1.2”。 1.2版本是默认的,用于4K扇区驱动器? 我看到它的方式不是这样,因为从起始4k开始,超级块的长度不是4k(如果我没有记错的话,超级块的长度大约是200字节)。 任何对此的洞察力都是值得欢迎 编辑: 下面回答mdadm superblock 1.1和1.2是为4kalignment的。 我刚刚创build了一个整体设备突袭: mdadm –create /dev/md4 -l 1 -n 2 /dev/sdb /dev/sdd 然后我添加了一个逻辑卷: vgcreate universe2 /dev/md4 arrays以16 MB / s同步: md4 : active raid1 sdd[1] sdb[0] 1465137424 blocks super 1.2 [2/2] [UU] [>………………..] resync = 0.8% (13100352/1465137424) finish=1471.6min speed=16443K/sec 所以我怀疑它是否正确alignment。 (磁盘是1.5TB的WD […]

如何解决我的RAIDarrays?

我刚刚检查了我的RAIDarrays今天早上,我得到的是: $ cat /proc/mdstat Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] md1 : active raid1 sdc7[0] 238340224 blocks [2/1] [U_] md0 : active raid1 sdc6[0] 244139648 blocks [2/1] [U_] md127 : active raid1 sdc3[0] 390628416 blocks [2/1] [U_] unused devices: <none> $ 我相信这意味着我的一个磁盘arrays已经死了,这是真的吗? 我如何进行正确的故障排除? 我的/etc/mdadm/mdadm.conf如下所示: $ cat /etc/mdadm/mdadm.conf # mdadm.conf # # […]

mdadm – 从RAID0中移除磁盘

所以,我想知道,是可以做到以下与mdadm: 我从2个磁盘上的RAID0configuration开始: sda和sdb 。 我想添加一个磁盘到数组, sdc并将所有的数据从sdb移到它。 断开sdb 。 现在我只看到一个选项 – 我停止arrays,用dd或其他任何块复制工具将sdb复制到sdc ,然后启动arrays。 我想念什么? 是否有可能使用mdadm做到这一点?

Linux的; 什么是stripe_cache_size,它有什么作用?

我目前使用mdadm实用程序在Linux下构build了一个软件RAID,我已经阅读了一些文章,介绍了如何增加该RAID的stripe_cache_size值以及如何为stripe_cache_size计算适当的值。 我已经增加到16384,而我在/ proc / mdstat中的新RAID5的当前同步速率已经从71065K /秒跳到了143690K /秒(翻了一番!),这是个好消息。 我也看到匹配和预期增加的内存使用量,但我找不到有关此设置和它是如何工作的任何文档。 它似乎是RAM中存在的RAID的某种caching。 我可以通过改变它的名字和效果来看出这一点。 有没有官方的“Linux”文档对此进行设置和描述?

我如何重命名一个mdadm raid数组?

我已经组装了一个新的RAIDarrays来取代旧的。 但是,这个新arrays被分配了自动名称/ dev / md127,我想将其重命名为/ dev / md3,这样我就不必更改其他各种设置。 我如何重命名一个mdadm raid数组?

Linux LVM镜像与MD镜像

我想我记得几年前用LVM做了一些镜像,我不记得这个“日志”的事情。 或者,也许我用mdadm制作了镜像,并将LVM放在顶部。 那一定是吧。 什么是LVM日志,如果它只是一面镜子? 那里储存了什么? 这是什么目的? 正在使用“–mirrorlog核心”不好? 什么是缺点? 如果我不需要,我不希望有另一个日志分区。 任何使用任何技术的build议? 即使我用mdadm制作镜像,我也会使用LVM。 那么,在这种情况下,也许最好是用LVM构build整个设置…? 这将会带来更多的性能降低吗? 这些磁盘用于存储Xen domU“磁盘”。 对不起,复杂的非点“问题”。 想法和build议和链接是最受欢迎的。 谢谢!

问:MDADM mismatch_cnt> 0.任何方法来确定哪些块不同意?

好的。 在例程擦洗后,我的MDADM RAID5报告mismatch_cnt = 16。据我所知,这意味着虽然没有设备报告读取错误,但有16个块的数据和奇偶校验不同意。 问题1:是否可以获得这些块的列表? 问题2:假设#1是可能的,考虑到底层文件系统是EXT4,有没有一种方法来确定哪些文件与这些块相关联? 我有近线备份,在理想的情况下,我可以将实时arrays与备份数据区分开来,find任何已经被无声损坏的文件。 但事实是,回顾6TB的备份数据将会既昂贵又耗时。 知道去哪里看,什么恢复将大大简化事情。 (我应该注意到,我只用'check'选项来运行RAID擦洗,使用'repair'选项运行擦洗似乎非常危险,因为MDADM只知道数据或者奇偶校验是错误的,但是不知道哪一个是错误的。所以看起来MDADM有50%的机会猜测错误并重build不正确的数据,因此我希望知道哪些文件可能受到影响,以便我可以从备份中恢复它们(如有必要) 任何build议不胜感激!

Linux mdadm软件RAID 6 – 它是否支持位损坏恢复?

维基百科说:“除了RAID 6的一些实现之外,RAID 2是唯一的标准RAID级别,它可以自动从数据中的一位损坏中恢复准确的数据。 有谁知道Linux中的RAID 6 mdadm实现是否可以自动检测并从单一位数据损坏中恢复。 这与CentOS / Red Hat 6有关,如果这些与其他版本不同的话。 我尝试在网上search,但没有太多的运气。 在1E14位的SATA错误率为1,包含1.6E13位的2TB SATA磁盘的情况下,这对于防止数据损坏尤为重要。 编辑17-Jun-2015 我相信这不是我原本以为的担心 – 请参阅硬盘/ SSD – 检测和处理错误 – 可靠地阻止无提示数据损坏? 更多细节