Grubは起動時にXENカーネルを認識しません。

Grubは起動時にXENカーネルを認識しません。

7つのEucalyptusノードコントローラのうち5つにXENカーネルを正常にインストールして起動できました。後者の2つは、同じインストールプロセスを実行したにもかかわらず、まだ同じ問題を抱えていました。

私はインストールしましたユーカリ-NCそして、kvmハイパーバイザーを使用してサービスを開始できます。次に、次を使用してユーカリを設定します。xenをハイパーバイザーとしてインストールし、次のパッケージを使用します。

yum install -y centos-release-xen xen libvirt python-virtinst libvirt-daemon-xen

最初はxenパッケージをインポートしないため、このコマンドを2回実行しました。パッケージが正常にインストールされました。

/boot/grub/grub.confまた、xenカーネルを新しいエントリで更新しました。

# 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_erams7-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=15
splashimage=(hd0,0)/grub/splash.xpm.gz

title CentOS-XEN (XEN-4.2.4-33.el6.centos.alt.x86_64)
    root (hd0,0)
    kernel /xen.gz dom0_mem=1024M,max:1024M loglvl=all guest_loglvl=all
    module /vmlinuz-3.10.43-11.el6.centos.alt.x86_64 ro root=/dev/mapper/vg_erams7-lv_root rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=vg_erams7/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg_erams7/lv_root rd_NO_DM rhgb quiet
    module /initramfs-3.10.43-11.el6.centos.alt.x86_64.img
title CentOS (3.10.43-11.el6.centos.alt.x86_64)
    root (hd0,0)
    kernel /vmlinuz-3.10.43-11.el6.centos.alt.x86_64 ro root=/dev/mapper/vg_erams7-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_erams7/lv_swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=vg_erams7/lv_root rd_NO_DM rhgb quiet
    initrd /initramfs-3.10.43-11.el6.centos.alt.x86_64.img
title CentOS (2.6.32-431.20.5.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-431.20.5.el6.x86_64 ro root=/dev/mapper/vg_erams7-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_erams7/lv_swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=vg_erams7/lv_root rd_NO_DM rhgb quiet
    initrd /initramfs-2.6.32-431.20.5.el6.x86_64.img
title CentOS (2.6.32-431.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/vg_erams7-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_erams7/lv_swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=vg_erams7/lv_root rd_NO_DM rhgb quiet
    initrd /initramfs-2.6.32-431.el6.x86_64.img

その後、grubシェルを使用してMBRを更新しました。

$ 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> find /grub/grub.conf
find /grub/grub.conf
 (hd0,0)
grub> root (hd0,0)
root (hd0,0)
 Filesystem type is ext2fs, partition type 0x83
grub> setup (hd0)
setup (hd0)
 Checking if "/boot/grub/stage1" exists... no
 Checking if "/grub/stage1" exists... yes
 Checking if "/grub/stage2" exists... yes
 Checking if "/grub/e2fs_stage1_5" exists... yes
 Running "embed /grub/e2fs_stage1_5 (hd0)"...  27 sectors are embedded.
succeeded
 Running "install /grub/stage1 (hd0) (hd0)1+27 p (hd0,0)/grub/stage2 /grub/grub.conf"... succeeded
Done.

再起動できますが、grubメニューには、上に新しく追加されたXENコアではなく、3つの既存のコアのみが表示されます。

ここに画像の説明を入力してください。

ログイン後に実行するとvirsh list何も表示されませんが、次のように表示されます。

Id    Name                           State
----------------------------------------------------
 0     Domain-0                       running

XENカーネルが起動しないため、eucalyptus-ncサービスも起動しません。

私の質問 - 上記のgrubエントリが起動時に認識される原因は何ですか?

答え1

この問題は、GRUBがXENカーネルを認識できるようにgrubファイルを編集することで解決されました。つまり、サーバーにインストールされているバージョンのXENと一致するように、論理ボリュームのタイトルを間隔指定して編集しました。

# grub.conf generated by anaconda
... lines inserted below ...


title CentOS-XEN (**XEN-3.10.43-11.el6.centos.alt.x86_64**)
        root (hd0,0)
        kernel /xen.gz dom0_mem=1024M,max:1024M loglvl=all guest_loglvl=all
        module /vmlinuz-3.10.43-11.el6.centos.alt.x86_64 ro root=/dev/mapper/vg_erams7-lv_root rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=vg_erams7/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg_erams7/lv_root rd_NO_DM rhgb quiet
        module /initramfs-3.10.43-11.el6.centos.alt.x86_64.img
        ... lines inserted below ...

title CentOS (3.10.43-11.el6.centos.alt.x86_64)
...

私はいつもヘッダー行が単なるラベルであり、grubファイル内のギャップは重要ではないと思いましたが、私は私が間違っていました。 :-/

関連情報