Articles of mdadm

mdadm不会让我手动设置 – 大小,但后来增长到相同的大小

我试图从2磁盘raid1大小的差异很大(ec2提供基于磁盘大小的iops,所以我想有更多的iops,但不关心失去一些自由空间)。 然而,当我手动设置大小,我得到的is smaller than given size错误, 但我可以设置is smaller than given size的尺寸,然后增长到我原来想要的大小 : [~]# size=$( cat /proc/partitions | grep xvd[mb] | awk '{print $3}' | sort -n | head -n1 ) [~]# size=$(( size – 8192 )) [~]# echo $size 15988224 [~]# yes | mdadm –create /dev/md0 –metadata=1.2 –level=1 –raid-devices=2 –size=$size –bitmap=internal –write-behind=1024 –assume-clean /dev/xvdb –write-mostly […]

Linkstation WXL:RAID消失,/ dev / md2无效 – 如何排除故障

今天我在我的LinkStation上访问SMB-share时遇到了问题。 我的NAS有两个硬盘驱动器,configuration为raid0。 这个RAID被挂载到/ mnt / array1 / intern – 我缺less的文件夹。 我的第一个问题是,我真的不知道,在哪里寻找一些错误报告。 让我们从/ var / log / messages开始,它说: /usr/local/bin/hdd_check_normal.sh: mount -t xfs /dev/md2 /mnt/array1 failed. 好。 我GOOGLE了这个消息,并尝试以下内容: cat /proc/mdstat md2 : inactive sda6[1](S) 1938311476 blocks super 1.2 md1 : active raid1 sda2[1] 4999156 blocks super 1.2 [2/1] [_U] md10 : active raid1 sda5[1] 1000436 blocks super […]

分开另一个VHD后无法看到其他VHD。 Azure Ubuntu VM

我们在运行mongoDB的Ubuntu 14.04虚拟机上遇到了很高的磁盘IO。 在Windows Azure上。 为了解决这个问题,我们将虚拟机的大小从A2更改为A3(添加额外的数据光盘),并附加了4个额外的VHD,并将它们设置为raid10,这很好。 我们现在希望分离原始数据VHD(将VM大小最小化回A2),但是我们遇到了一个新问题。 分离出原始数据VHD并重新启动计算机后,我们无法通过SSH连接到虚拟机,在将VHD连接回去后,所有恢复正常工作。 另外,如果我在没有重新启动机器的情况下拆卸VHD,机器运行正常,除了看不到VHD(我只看到操作系统磁盘和临时数据磁盘)之外,我可以浏览已安装的目录。 我附上了“lshw -c disk”命令的相关输出。 (我们要分离的原始VHD是/ dev / sdc) 之前 > *-disk > description: SCSI Disk > physical id: 0.0.0 > bus info: scsi@2:0.0.0 > logical name: /dev/sda > size: 29GiB (31GB) > capabilities: partitioned partitioned:dos > configuration: sectorsize=512 signature=0004656b *-disk > description: SCSI Disk > physical id: 0.1.0 […]

越来越多的RAID0到RAID5同步延迟

我最近用一个4TB的磁盘将我的NAS转换成了一个RAID设置,目标是实现一个3磁盘的RAID5。 要做到这一点,没有第四个磁盘,没有丢失我的数据,我首先设置2个新的磁盘作为RAID0,把现有的数据,并试图将该磁盘添加到RAID,磁盘RAID5。 这工作到最后一步。 第三块磁盘(确实是6TB磁盘上的一个称为sdb4的4TB分区)已成功添加到RAID中,并成长为RAID5。 麻烦的是,RAID不包括新磁盘上的空间,任何尝试使用mdadm –grow都会给我提示信息mdadm: /dev/md1 is performing resync/recovery and cannot be reshaped 。 这与cat /proc/mdstat和mdadm –detail /dev/md1 (下面复制)的输出一致,但是实际上并没有发生,它处于延迟状态。 所以第一个具体的问题是:我怎么能安全地让mdadm知道它现在不需要重新同步,这样我就可以增长RAID来包含第三个磁盘的空间,然后开始同步/计算奇偶校验? 另一个问题是正确的命令是如何实际增长RAID来包含磁盘的空间。 到目前为止, mdadm –grow /dev/md1 –size=max似乎是我最好的select – 这是否正确? 这是承诺的输出: >cat /proc/mdstat Personalities : [raid0] [raid6] [raid5] [raid4] md1 : active raid5 sdb4[3] sdc1[1] sda1[0] 7814034432 blocks super 1.2 level 5, 512k chunk, algorithm 5 […]

如何告诉mdadm使用分区作为/而不是块设备?

我有四个500GB磁盘,在Debian安装期间(在系统驱动器的SSD旁边)被设置为Linux Software-RAID 5卷。 其中一个驱动器(SD)坏了,现在我正试图取代它,我遇到了一些麻烦。 在从mdadm的arrays中删除坏的驱动器之后,我用另一个500GB备用驱动器replace了驱动器,这个驱动器与一台新购买的PC一起提供。 该驱动器有一个Windows上的NTFS分区(立即被replace为SSD)。 第一次尝试(或多或less)错了 – NTFS3G看到了分区,我能够将NTFS卷添加到arrays,并开始重build。 在我的RAID下使用NTFS绝对不是我的意图,所以我停止了重build,并开始重新分区的驱动器。 起初,我尝试使用fdisk(最大大小,默认值,分区types“fd”)手动分区 – 没有工作,mdadm拒绝sda1。 使用fdisk快速检查 – 开始,阻止号码和结束不匹配 – 好的,我看到了问题。 第二次尝试是用“sfdisk -d / dev / sdd | sfdisk / dev / sda”复制其他磁盘中的分区数据。 我甚至把他的第一个512字节作为最终评论推荐的sddisk。 比较分区数据 – 开始,结束和块匹配的数量 – 看起来不错。 但是现在mdadm告诉我,/ dev / sda1不是块设备,不会让我添加它。 但是,可以销毁/ dev / sda上的分区数据,并为mdadm整个驱动器重build,但现在看起来有点不对劲了: Number Major Minor RaidDevice State 4 8 0 0 active sync […]

从MDADM RAIDarrays中删除驱动器的最佳方法

我有一个RAIDarrays的情况, 我担心arrays中的驱动器很快就会失败,而且考虑到他们的年龄,我宁愿早一点replace它们。 我有的问题是,我没有设置这个数组。 这个arrays是我的前任设立的一个业务的一部分,而且我没有得到有关这个设置的文件。 我已经通过login到其中设置了相关信息,例如使用mdadmconfiguration。 但是,我不知道哪个物理驱动器匹配哪个指定(插槽/dev/sda )。 到目前为止,我所提出的最好的想法就是停止并解构RAID。 我希望这将减轻任何损害,并可能允许我使用Clonezilla将旧的驱动器复制到健康的驱动器。 我find了这个指南,我将用它来解构RAID: http://www.ducea.com/2009/03/08/mdadm-cheat-sheet/ 有什么我在这里失踪? 该指南是否完整,或者在停止RAID时仍然存在危险,并从中删除驱动器? 提前感谢你的帮助。

build议创buildCentOS mdadm软件RAID6

编辑:我的问题的解决scheme如下 我想在CentOS系统上用mdadm和XFS分区创build一个经过优化的RAID6arrays。 它将涉及10台ST3000DM001 Seagate 3TB硬盘,我将通过千兆以太网连接一次写入几TB,所有文件都超过100 MB。 我对configurationRAID的了解越多(让事物彼此alignment等等)越多,我觉得我不知道自己在做什么。 具体来说,我会喜欢一些帮助我的mdadm –create和mkfs.xfs命令,并build议如果我需要改变硬件或操作系统中的其他东西。 从看网上资源我最好的猜测是 RAID6块大小:2MiB(这只是一个猜测) XFS块大小:4KiB(我假设这是我的系统的pagesize,我收集我不能走得更高) XFS的agcount:64(这只是一个猜测) 苏尼特= 4096,swidth = 32768 所以看起来我的命令应该是: # mdadm –create /dev/md0 –chunk=2048 –level=6 –raid-devices=10 /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdh /dev/sdi /dev/sdj /dev/sdk # parted /dev/md0 mklabel gpt mkpart primary 0.00TB 27.00TB # mkfs.xfs -L /big_raid -b size=4096 -d agcount=64,sunit=4096,swidth=32768 /dev/md0p1 但我只是喜欢任何build议。 我制作了一个类似设置的RAID5arrays,速度非常慢,写入速度为20 […]

每次重新启动时,RAID5都需要添加驱动器

我有一个3磁盘RAID5 mdadmarrays总共4TB在Ubuntu服务器14.04.3 LTS。 由于由与arrays无关的设备引起的内核恐慌,并且已经被replace,每次重新启动后,arrays启动[UU_]所以我总是必须运行mdadm –add /dev/md0 /dev/sdd1 ,然后开始重build它会重build成功。 Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid5 sdd1[4] sdb1[3] sdc1[1] 3906763776 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] unused devices: <none> 但是我必须在每次重启时都这样做,而且我注意到磁盘号码看起来是错的:4,3和1,而不是2,1和0。 root@Bt-Networks-Server:~# mdadm –detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Fri Aug 1 […]

bcache,mdadm RAID和LVM可能的层次结构是什么?

假设我想使用bcache进行caching, mdadm用于RAID(1)和LVM进行分区(并且我不在意可能会有性能上的缺陷,这是由于引入了多个I / O级别和设备pipe理),那么将会是什么在物理设备之上的最佳层次? mdadm可以使用bcache设备,支持和caching设备的最终故障以及cachingtypes的变化(例如从写作到写回)? 对于bcache设备之上的LVM也是一样的问题。 我认为LVM应该在bcache或RAID之上,以便尽量减less磁盘故障后的再同步。 如果底层设备出现故障,我遇到了bcache设备消失的问题。 我不知道mdadm是否将此识别为设备故障,以及在设备故障后需要如何对设备进行逻辑处理,以便mdadm启动正确设备的重新同步并且不会根据脏caching写入失败设备的状态州。 具体的设置将包括2x1TB 2x4TB和2x5TB所有RAID1和一个512 GB SSD的操作系统(Ubuntu 15.10与Linux 4.2.5)和caching设备分区(比如100 GB的操作系统和其余的caching)。

mdadm重新启动后不能组装

我有2个磁盘与下一个结构: lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 3,7T 0 disk ├─sda1 8:1 0 2,7T 0 part └─sda2 8:2 0 931,5G 0 part sdb 8:16 0 2,7T 0 disk └─sdb1 8:17 0 2,7T 0 part 如果我执行,sda1和sdb1是md0的一部分 mdadm –misc –detail /dev/md0 返回 mdadm: cannot open /dev/md0: No such file or directory 我的mdadm.conf是: […]