Raid 1 故障 - 主磁盘 1 损坏,无法从镜像磁盘启动

Raid 1 故障 - 主磁盘 1 损坏,无法从镜像磁盘启动

我们有一台使用 Raid-1 挂载的服务器,使用两个 1TB 的磁盘,并通过 Centos 上的软件进行配置。第一个磁盘(我们称之为安全数据库)已经坏了,我们把它拿走,在不久的将来更换它,同时我们决定使用镜像磁盘启动服务器星展银行。问题是系统无法启动。BIOS 初始化屏幕后,系统停留在黑屏状态。我的想法是他们没有配置镜像磁盘来镜像 sdb 的启动扇区

我使用实时 Ubuntu CD 启动机器,并检查磁盘。我的第二个想法是它缺少膜生物反应器,自从我调查星展银行我看到了一个隔板sda1sda2,其中第一个有10GB空间,我无法访问。然后是第二个分区sda2剩下的990GB左边是我需要启动的分区,因为这个分区包含服务器文件和配置

除此之外,我还看到系统管理员包含所有系统文件夹,例如/boot /proc /bin ... 等等 etcc

我已经读过这个可能通过将 grub 引导加载程序安装到磁盘中可以解决此问题,然后它可能会运行。但我担心它是否会起作用,因为已经创建了 10gb 的第一个分区。其他论坛说这是无法恢复的,如果这是真的,有没有办法格式化 10gb 的 sdb1 分区并安装操作系统来启动辅助分区及其所有服务?

下面,我将把我收集到的所有信息放上来,如果你需要一些额外的相关信息,我会很乐意去查找并上传

   root@PartedMagic># sfdisk -d /dev/sda 
//
# partition table of /dev/sda
unit: sectors

/dev/sda1 : start=     2048, size= 19529728, Id=fd
/dev/sda2 : start= 19531776, size=1933991936, Id=fd
/dev/sda3 : start=        0, size=        0, Id= 0
/dev/sda4 : start=        0, size=        0, Id= 0

root@PartedMagic>/media/md1/boot/grub# cat device.map
//
(hd0)   /dev/disk/by-id/ata-WDC_WD1002FAEX-007BA0_WD-WMAY00918352
(hd1)   /dev/disk/by-id/ata-WDC_WD1002FAEX-00Z3A0_WD-WCATRC581793
(hd2)   /dev/disk/by-id/usb-Kingston_DT_101_G2_00187D0F5670EC601000BFD3-0:0

/dev/md1:
        Version : 1.2
  Creation Time : Wed Oct 30 21:06:56 2013
     Raid Level : raid1
     Array Size : 966864704 (922.07 GiB 990.07 GB)
  Used Dev Size : 966864704 (922.07 GiB 990.07 GB)
   Raid Devices : 2
  Total Devices : 1
    Persistence : Superblock is persistent

    Update Time : Tue Oct 25 17:34:47 2016
          State : clean, degraded 
 Active Devices : 1
Working Devices : 1
 Failed Devices : 0
  Spare Devices : 0

           Name : pbx1:1
           UUID : 87040663:7e96da33:d143c52d:63d27f4a
         Events : 6512040

    Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       1       8        2        1      active sync   /dev/sda2
/dev/md0:
        Version : 1.2
  Creation Time : Wed Oct 30 21:06:51 2013
     Raid Level : raid1
     Array Size : 9756544 (9.30 GiB 9.99 GB)
  Used Dev Size : 9756544 (9.30 GiB 9.99 GB)
   Raid Devices : 2
  Total Devices : 1
    Persistence : Superblock is persistent

    Update Time : Tue Oct 25 17:36:14 2016
          State : clean, degraded 
 Active Devices : 1
Working Devices : 1
 Failed Devices : 0
  Spare Devices : 0

           Name : pbx1:0
           UUID : 092582ab:c3cd6b70:98b1b939:a5bb67a7
         Events : 602

    Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       1       8        1        1      active sync   /dev/sda1

------------------------------
root@PartedMagic>/media/md1/boot/grub# cat device.map
//
(hd0)   /dev/disk/by-id/ata-WDC_WD1002FAEX-007BA0_WD-WMAY00918352
(hd1)   /dev/disk/by-id/ata-WDC_WD1002FAEX-00Z3A0_WD-WCATRC581793
(hd2)   /dev/disk/by-id/usb-Kingston_DT_101_G2_00187D0F5670EC601000BFD3-0:0

这是 MDMADM.CONF 文件

CONFIGURACION MDADM.CONF
-------------------------------------------
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

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

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY /dev/md/0 metadata=1.2 UUID=092582ab:c3cd6b70:98b1b939:a5bb67a7 name=pbx1:0
ARRAY /dev/md/1 metadata=1.2 UUID=87040663:7e96da33:d143c52d:63d27f4a name=pbx1:1

# This file was auto-generated on Wed, 06 Nov 2013 11:10:29 -0300
# by mkconf 3.1.4-1+8efb9d1+squeeze1

这是我在 Grub conf 中找到的 cfg:

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

insmod raid
insmod mdraid
insmod part_msdos
insmod part_msdos
insmod ext2
set root='(md/1)'
search --no-floppy --fs-uuid --set 307c9805-75d2-44d9-a411-465ae556d743
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  load_video
  insmod gfxterm
fi
terminal_output gfxterm
insmod raid
insmod mdraid
insmod part_msdos
insmod part_msdos
insmod ext2
set root='(md/1)'
search --no-floppy --fs-uuid --set 307c9805-75d2-44d9-a411-465ae556d743
set locale_dir=($root)/boot/grub/locale
set lang=es
insmod gettext
set timeout=5
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-amd64' --class debian --class gnu-linux --class gnu --class os {
    insmod raid
    insmod mdraid
    insmod part_msdos
    insmod part_msdos
    insmod ext2
    set root='(md/1)'
    search --no-floppy --fs-uuid --set 307c9805-75d2-44d9-a411-465ae556d743
    echo    'Loading Linux 2.6.32-5-amd64 ...'
    linux   /boot/vmlinuz-2.6.32-5-amd64 root=/dev/md1 ro  quiet
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-2.6.32-5-amd64
}
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
    insmod raid
    insmod mdraid
    insmod part_msdos
    insmod part_msdos
    insmod ext2
    set root='(md/1)'
    search --no-floppy --fs-uuid --set 307c9805-75d2-44d9-a411-465ae556d743
    echo    'Loading Linux 2.6.32-5-amd64 ...'
    linux   /boot/vmlinuz-2.6.32-5-amd64 root=/dev/md1 ro single 
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-2.6.32-5-amd64
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

如能得到任何帮助我将不胜感激,这是我第一次处理这种性质的错误,也是第一次接触 RAIDS。

谢谢!!

答案1

**如果您有第三个 1TB 驱动器,请在尝试任何操作之前先克隆 /dev/sda。

需要明确的是:

/dev/sda=Current/only drive in RAID
/dev/sdb=New drive
  • 仅使用相同的发行版连接 /dev/sda 并以救援模式启动
  • chroot到 sysimage 并使用grub-install它将其安装在 /dev/sda 上。请记住,您要将其安装到硬盘的引导扇区而不是分区,因此不要使用像 /dev/sda1 这样的分区号
  • 移除救援 USB/CD 并重启,如果可以启动(耶!)则关机并添加 /dev/sdb 并重启。确保 BIOS 设置为首先从 /dev/sda 启动,然后从 /dev/sdb1 启动。
  • 使用以下命令擦除 /dev/sdb1 中的任何分区,fdisk并使用以下命令将 /dev/sda 中的分区镜像到 /dev/sdbsfdisk
  • 用于mdadm将/dev/sdb1分区添加到/dev/md0
  • 不要忘记在 /dev/sdb 上运行grub-install,这样您就不会再遇到这种情况了:)

此链接应该有帮助: https://www.howtoforge.com/replacing_hard_disks_in_a_raid1_array

相关内容