
私はリモート CentOS 6.4 サーバー (KVM アクセスあり) を持っていますが、サーバーを受け取ったときは単一ディスク (sda) 上の LVM で実行されていました。
LVMを削除し、sdaおよびsdbディスクにraid 1をインストールすることができました
ミラーリングは正常に動作していますが、唯一の問題は、サーバーを再起動するたびにgrubコマンドラインが表示され、コマンドを使用して手動で起動する必要があることです。
grub> 設定ファイル (hd1,0)/grub/grub.conf
または
grub> 設定ファイル (hd0,0)/grub/grub.conf
その後、エラーなしで正常に起動します。
自動起動させるにはどうしたらいいでしょうか?
注: 各ディスク (sda および sdb) のサイズは 2TB ですが、これが問題なのでしょうか?
私の設定
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.
答え1
サーバーのハードディスクデバイスにgrubを再インストールする必要があります。デバイスアドレスを確認するには、ターミナルに次のように入力します。
sudo fdisk -l
ディスクとそのボリュームが一覧表示されます。grub をインストールする必要があるデバイスをメモしてください。デバイスのサイズがヒントになります。/dev/sda が grub をインストールする必要があるデバイスである場合、ターミナルに移動して次のように入力します。
sudo grub-install /dev/sda
サーバーを再起動して、問題が解決したかどうかを確認します。
答え2
わかりました
私は次のことを行いました:
- RAID から sda を削除する (mdadm を使用)
- dd を実行します (dd if=/dev/zero of=/dev/sda bs=512 count=1000)
- 現在のディスク パーティション テーブルをコピーします (sfdisk -d /dev/sdb | sfdisk /dev/sda)
- ディスクを RAID に追加する (mdadm を使用)
- grub を再インストールする (grub コマンドを使用)
- grub-install /dev/sda を実行します。
- リブート
そして今は動作しています:)
手順2を除いて上記の手順をすべて実行しましたが、ddでディスクをクリアする必要があるようです。