如果将整个驱动器用于作为引导设备的mdadm RAID,是否更加正确/标准: 1)从包含整个驱动器(如/ dev / sda1 + / dev / sdb1)的分区中configurationRAID,然后将生成的单个md设备分区到各个分区。 要么 2)在每个驱动器上创build所需的分区,然后创build这些分区(例如sda1 + sdb1,sda2 + sdb2,sda3 + sdb3等) 我认为#1的好处是可以轻松更换驱动器,而且我被告知#1允许mdadm更有效地并行读取各个成员驱动器。 是否有一个权威的链接,谈论一个作为首选的路要走?
我有以下Raidconfiguration, cat /proc/mdstat Personalities : [raid1] [raid6] [raid5] [raid4] md4 : active (auto-read-only) raid5 sda5[0] sdd5[4] sdc5[2] sdb5[1] 1536 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [UUU_] md3 : active raid5 sda4[0] sdd4[4] sdc4[2] sdb4[1] 11587487232 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU] md2 : active raid5 sda3[0] […]
我刚刚发现,我的RAID-1设置的软件RAID现在显示为具有备用的降级arrays。 我删除并重新添加了它认为是“备用”的磁盘,但它仍然是一个备用磁盘。 我怎么把这些东西放进镜子里? xen64:/# mdadm –detail /dev/md0 /dev/md0: Version : 00.90 Creation Time : Mon May 3 20:56:55 2010 Raid Level : raid1 Array Size : 973828096 (928.71 GiB 997.20 GB) Used Dev Size : 973828096 (928.71 GiB 997.20 GB) Raid Devices : 2 Total Devices : 2 Preferred Minor : 0 Persistence : Superblock […]
我的家庭networking正在改变,我将我的文件存储解决scheme从我的Ubuntu服务器移到了Drobo FS上。 我目前有6个500GB的硬盘,在RAID 6arrays中提供2TB的容量。 现有RAID 6arrays上的所有重要数据已被复制到Drobo,因此可以在不考虑数据丢失的情况下重buildarrays。 以下是RAID设置的说明: marcus@vhost:~$ cat /proc/mdstat Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid6 sda1[0] sdf1[5] sde1[4] sdd1[3] sdc1[2] sdb1[1] 1953535744 blocks level 6, 64k chunk, algorithm 2 [6/6] [UUUUUU] unused devices: <none> 最终结果 我希望在RAID 1arrays中留下2个500GB的硬盘,以提供500GB的容量,结果4个免费的500GB硬盘(其中一些将被join到Drobo中)。 什么是实现这一目标的最好方法,是否涉及缩小arrays,然后改变RAID级别? 谢谢你的帮助, 马库斯。
长版本:我正在运行带有软件raid1(mdadm)的红帽企业Linux 5(REHL5)机器。 前几天我去备份一些MySQL数据,突然之间我不能再login到机器。 我input用户名login,然后它会坐在那里。 如果按下的控制顺序,他们会出现在屏幕上,但它永远不会login。它也没有响应Ctrl + Alt + Delete。 所以我做了一个强硬的权力。 我启动它,并通过以下方式监视raid1数组: mdadm –detail /dev/md1 该数组拥有根挂载点。 它开始做一个arrays的重新同步。 我不知道是因为这次事故发生,还是因为我做了一个强硬的电源。 无论哪种方式,我让它完成: [f@mysqldatanode ~]# mdadm –detail /dev/md1 /dev/md1: Version : 00.90.03 Creation Time : Thu Apr 19 15:28:52 2007 Raid Level : raid1 Array Size : 479893568 (457.66 GiB 491.41 GB) Device Size : 479893568 (457.66 GiB 491.41 GB) […]
我试图从一个失败的NAS的RAID5arrays中恢复任何数据。 这些磁盘被物理地移动到另一台服务器,以便它们可以被映像,但Knoppix在启动时“有用地”检测并恢复了arrays: – [ 677.791667] md: md0 stopped. [ 677.793443] md: bind<sdb> [ 677.793580] md: bind<sdc> [ 677.793866] md: bind<sdd> [ 677.794004] md: bind<sda> [ 678.671014] md: raid6 personality registered for level 6 [ 678.671017] md: raid5 personality registered for level 5 [ 678.671019] md: raid4 personality registered for level 4 [ 678.671446] md/raid:md0: device […]
我正在运行Ubuntu 12.04精确。 最近apt-get升级成功结束,但在最后打印出以下警告: update-initramfs: Generating /boot/initrd.img-3.2.0-21-generic W: mdadm: the array /dev/md/odin:1 with UUID d65cf17d:fe860500:29648a86:d29c3195 W: mdadm: is currently active, but it is not listed in mdadm.conf. if W: mdadm: it is needed for boot, then YOUR SYSTEM IS NOW UNBOOTABLE! W: mdadm: please inspect the output of /usr/share/mdadm/mkconf, compare W: mdadm: it to /etc/mdadm/mdadm.conf, and […]
我用我的debian备份服务器与我的mdadm.conf犯了一个错误。 我用这个命令: mdadm –detail –scan –verbose >> /etc/mdadm/mdadm.conf 添加一个raid5(它很好用)。 通过使用双“>>”写在arrays中的其他人,这是我的错误。 然后,我重新启动服务器。 现在我在启动失败 "duplicate MD device on md/0…" 并加载(initramfs)提示符。 我有袭击系统启动 md0&md1 md0 = /dev/sde2 /dev/sdf2 md1 = /dev/sde3 /dev/sdf3 和一个md3 raid5备份。 md3 = /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 mdadm.conf的结构是: (我不能显示真实的文件,因为我不在同一台计算机上。) ARRAY md/0 … ARRAY md/1 … ARRAY md/3 … ARRAY md/0 … ARRAY md/1 … 所以,有2个重复(md / […]
我有一个有趣的configuration:具有RAID 1的双引导系统,需要在Windows和Linux中都可见。 Windows安装是Win 7 Enterprise,Linux安装是Kubuntu 10.04。 为了使RAID工作,我使用Windows的“dynamic磁盘”RAID 1对其进行设置,并使用MD在没有持久性超级块的情况下在Linux中启动,并在另一个分区上写入意图位图。 (没有这个位图,MD无法知道该数组是否同步,并且每次启动数组时都会执行一次完整的重新同步。)数组是这样组装的: mdadm –build /dev/md1 -l 1 -n 2 -b /var/local/md1.bitmap /dev/sdb2 /dev/sdc2 我期望我第一次运行这个命令,它会重新同步数组,写出没有脏块的位图,一切都会好的。 情况并非如此:在完成重新同步之后,位图大部分是干净的,但仍有大约5%的脏块残留, mdadm -X /var/local/md1.bitmap 我没有在/ dev / md1上挂载文件系统,也没有以其他方式触摸它。 然后我发现停止并重新启动数组: mdadm –stop /dev/md1 mdadm –build /dev/md1 -l 1 -n 2 -b /var/local/md1.bitmap /dev/sdb2 /dev/sdc2 确实是在位图中读取的,随后的重新同步进行得很快,因为大部分块被标记为干净的。 令人困惑的部分是,这种重新同步进一步减less了脏块的数量,但仍然没有删除所有这些。 通过反复停止和重新启动,我可以慢慢地把脏块数减less到0.6%左右,看起来是平稳的。 任何想法可能导致这个? 它在某个地方闻到了一种竞争条件,导致块在同步期间被跳过,或者没有从位图中清除,但是我确实没有证据certificate这一点。 它看起来不像硬件问题,因为这两个驱动器都是新的,并且具有零读取错误和由smartctl -a报告的重新分配的扇区。
我已经部署了四个Ubuntu 10.04服务器。 它们在一个集群场景中两两相连。 在双方我们有软件raid1磁盘,drbd8和OCFS2和一些kvm机器与qcow2磁盘上运行。 我遵循这个: 链接 corosync仅用于DRBD和OCFS,kvm机器是“手动”运行的 当它工作的时候很好:性能良好,I / O性能好,但是在特定时间,两个簇中的一个开始挂起。 然后,我们试着只打开一台服务器,并挂起相同的。 这似乎发生在一个虚拟机发生沉重的读取,即在rsyn备份期间。 当事实发生时,虚拟机不再可及,真正的服务器响应延迟很好,但没有屏幕和ssh可用。 我们所能做的只是强制关机(按住button)并重新启动,当它再次打开时,drbd正在重新同步。 所有的时间,我们看到这样的事实。 今天早上,在一个星期的一阵痛苦之后,另一个集群挂了,但它有不同的moteherboard,ram,kvm实例。 什么是类似的阅读rsyncscheme和西方数字RAID Edistion磁盘两侧。 有人可以给我一些解决这个问题的build议吗? 更新:我将qcow2中的所有映像转换为raw,并使用noatime和nodiratime从虚拟机中挂载文件系统。 我用的是rsync的ionice,但是今天早上当用户从samba共享中读取大量文件时,它又被挂起了。 现在我正在把虚拟机从ocfs2想象成ext3,但是这真的是一个失败……任何想法都是值得欢迎的。