我们有一台使用 Raid-1 挂载的服务器,使用两个 1TB 的磁盘,并通过 Centos 上的软件进行配置。第一个磁盘(我们称之为安全数据库)已经坏了,我们把它拿走,在不久的将来更换它,同时我们决定使用镜像磁盘启动服务器星展银行。问题是系统无法启动。BIOS 初始化屏幕后,系统停留在黑屏状态。我的想法是他们没有配置镜像磁盘来镜像 sdb 的启动扇区
我使用实时 Ubuntu CD 启动机器,并检查磁盘。我的第二个想法是它缺少膜生物反应器,自从我调查星展银行我看到了一个隔板sda1和sda2,其中第一个有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