
Ich habe einen Remote-CentOS 6.4-Server (mit KVM-Zugriff). Als ich den Server erhielt, lief er mit LVM auf einer einzelnen Festplatte (sda).
Ich habe es geschafft, LVM zu entfernen und RAID 1 auf SDA- und SDB-Festplatten zu installieren
die Spiegelung funktioniert einwandfrei, mein einziges Problem ist jetzt, dass ich jedes Mal, wenn ich den Server neu starte, die Grub-Befehlszeile bekomme und manuell mit dem Befehl booten muss
grub> Konfigurationsdatei (hd1,0)/grub/grub.conf
ODER
grub> Konfigurationsdatei (hd0,0)/grub/grub.conf
dann wird der Bootvorgang ohne Fehler ordnungsgemäß durchgeführt.
Irgendeine Idee, wie ich einen automatischen Bootvorgang einrichten kann?
Hinweis: Jede Festplatte (sda und sdb) hat eine Größe von 2 TB. Könnte das das Problem sein?
meine Einstellungen
Filesystem Size Used Avail Use% Mounted on
/dev/md2 1.8T 1.1G 1.7T 1% /
tmpfs 16G 0 16G 0% /dev/shm
/dev/md0 1.9G 69M 1.8G 4% /boot
# cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sda3[2] sdb3[0]
1940882240 blocks super 1.2 [2/2] [UU]
md1 : active raid1 sdb2[0] sda2[2]
10482176 blocks super 1.2 [2/2] [UU]
md0 : active raid1 sdb1[0] sda1[1]
2008000 blocks [2/2] [UU]
unused devices: <none>
# fdisk -l /dev/sda
Disk /dev/sda: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b0530
Device Boot Start End Blocks Id System
/dev/sda1 * 1 250 2008093+ 83 Linux
/dev/sda2 251 1556 10490445 82 Linux swap / Solaris
/dev/sda3 1557 243201 1941013462+ fd Linux raid autodetect
# fdisk -l /dev/sdb
Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xadb3bd62
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 250 2008093+ fd Linux raid autodetect
/dev/sdb2 251 1556 10490445 82 Linux swap / Solaris
/dev/sdb3 1557 243201 1941013462+ fd Linux raid autodetect
# cat grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/mapper/vg_srv6953-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd1,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-358.18.1.el6.x86_64)
root (hd1,0)
kernel /vmlinuz-2.6.32-358.18.1.el6.x86_64 ro root=/dev/md2 KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 crashkernel=auto rhgb quiet rd_retry=20
initrd /initramfs-2.6.32-358.18.1.el6.x86_64.img
title CentOS (2.6.32-358.el6.x86_64)
root (hd1,0)
kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=/dev/md2 KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 crashkernel=auto rhgb quiet
initrd /initramfs-2.6.32-358.el6.x86_64.img
# grub
Probing devices to guess BIOS drives. This may take a long time.
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]
grub> root (hd0,0)
root (hd0,0)
Filesystem type is ext2fs, partition type 0xfd
grub> setup (hd0)
setup (hd0)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 27 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd0) (hd0)1+27 p (hd0,0)/boot/grub/stage2 /boot/grub/grub.conf"... succeeded
Done.
Antwort1
Sie müssen Grub auf der Festplatte des Servers neu installieren. Um die Geräteadresse zu erfahren, geben Sie in einem Terminal
sudo fdisk -l
Dadurch werden die Festplatten und ihre Volumes in einer Liste aufgelistet. Notieren Sie sich das Gerät, auf dem Sie Grub installieren müssen. Die Größe des Geräts gibt Ihnen einen Hinweis. Wenn /dev/sda das Gerät ist, auf dem Grub installiert werden muss, gehen Sie zum Terminal und geben Sie ein
sudo grub-install /dev/sda
Starten Sie Ihren Server neu und prüfen Sie, ob das Problem behoben ist.
Antwort2
OK
Ich habe Folgendes gemacht:
- SDA aus RAID entfernen (mit mdadm)
- Führen Sie dd aus (dd if=/dev/zero of=/dev/sda bs=512 count=1000).
- Kopieren Sie die aktuelle Festplattenpartitionstabelle (sfdisk -d /dev/sdb | sfdisk /dev/sda).
- Festplatte zum RAID hinzufügen (mit mdadm)
- Grub neu installieren (mit dem Grub-Befehl)
- Führen Sie grub-install /dev/sda aus
- Neustart
und jetzt funktioniert es :)
Ich habe alle oben genannten Schritte außer Schritt 2 ausgeführt. Es scheint, dass ich die Festplatte mit dd löschen muss