web-dev-qa-db-ja.com

ボンディングされたインターフェイスでNFSルートを使用する

2つの結合されたインターフェイスを持つNFSルートで起動するようにサーバーを構成したいと思います。

NFSルート対応のinitrdと次のカーネルパラメータを使用して、1つのネットワークインターフェイスでNFSルートを正常にセットアップできました。

root=/dev/nfs nfsroot=192.168.1.1:/nfsroot/ubuntu ip=dhcp initrd=initrd.img

NFS-rootとのボンディングを設定する方法に関する情報を見つけました ブログ投稿で

Ubuntuを使用しているので、/etc/initramfs-tools/modulesの最後にボンディングモジュールを追加する必要がありました。新しいinitrdを作成し、カーネルパラメーターを使用しました

root=/dev/nfs nfsroot=192.168.1.1:/nfsroot/ubuntu biosdevname=0 bond=bond0:eth0,eth1:mode=4:miimon=100:lacp-rate=1:slaves=none:xmit_hash_policy=layer3+4 ip=bond0:dhcp initrd=initrd.img

サーバーを起動すると、メッセージの直後に表示されるカーネルパニックが発生します

ipconfig: can't parse IP address 'bond0'

誰かが私がこの問題を解決するのを手伝ってくれる?

ブートログの関連部分は この要点 にあります。

更新:

Ubuntuのブートプロセスを深く掘り下げた後、最初のramdiskを作成するための現在2つの異なるアプローチがあることがわかりました。 Ubuntuはinitramfs-toolsを使用し、RedHatは新しいdracutツールを使用します。私が参照したブログ投稿はFedora用に書かれており、dracut用にリストされているブートパラメーターはUbuntuでは使用できません。 initramfs-toolsで結合されたインターフェースを処理する方法がわからなかったので、Ubuntuでdracutを使用し、ブログ投稿に調査結果を書きました NFSルートからUbuntu12.10を起動するためのdracutのインストールと構成a VLAN結合インターフェースを使用したタグ付きネットワーク

1

少しスクリプトを作成した後、カーネルコマンドラインで指定された動的スレーブインターフェイスを使用して、initramfs-toolsで動作させることができました。

ボンディングモジュールとイーサネットモジュールを/etc/initramfs-tools/modulesに追加します

igb
bonding

次に、0755パーマで/etc/initramfs-tools/scripts/nfs-top/00_bonding_initを作成し、次の情報を入力します。

#!/bin/sh -e
PREREQS=""
case $1 in
        prereqs) echo "${PREREQS}"; exit 0;;
esac

echo "Network interfaces loaded: "
echo `ls /sys/class/net`

for x in $cmdline; do
    case $x in
    bondslaves=*)
            bondslaves="${x#bondslaves=}"
            ;;
    esac
done

IFS=","
for x in $bondslaves; do
    echo "+$x" > /sys/class/net/bond0/bonding/slaves
done

その後、bondslaves = kernel cmdlineパラメーターを使用して、スレーブインターフェイスを指定できるようになります。例:boot=nfs root=/dev/nfs initrd=ubuntu/initrd.img-3.13.0-44-generic ip=:::::bond0:dhcp aufs=tmpfs console=ttyS1,115200 console=tty0 bondslaves=p1p1,p1p2

1
Logan

ip=bond0:dhcpip=:::::bond0:dhcpに変更してみてください

0
ph.

交換

ip = bond0:dhcp

ip = bootp

0
Pat