オレンジのトップページ

2015年11月3日火曜日

virt-managerに怒られない debian 8 / 9 での bonding設定

proxmox-VE4.0が出たので試してみたけど、やっぱりなんかWEB-GUI重いし、3.xの時ちょっといじると反応が無くってあせった嫌な思い出がよみがえる。これなら 素のdebian 8 / 9 の virt-manager でもいいんじゃない?

よーしじゃぁ管理LANの方はbondingして帯域増やしちゃうぞ。って debian 7 のようにbondingを設定すると、virt-managerの「ネットワークインターフェース」画面からネットワークアダプタが消えるしネットワークをさわろうとするとエラーが出て怒られた。libvirtdがネットワークをハンドリングできてないみたいだ。

おっかしーなぁ。概ね公式ドキュメントの通りに設定するとうまくいったのでメモ。
https://wiki.debian.org/Bonding

まず環境はdebian 9 (Stretch / sid )で、bondingのモードは4。
つまり802.3adのLACPで、例では2つのネットワークカードを束ねている。


手順

1.パッケージの導入
aptitude install ifenslave

2./etc/modulesに追加する
echo "bonding" >> /etc/modules
echo "mii" >> /etc/modules

3./etc/network/interfaces を編集。
#ここから
auto lo
iface lo inet loopback

auto bond0
     iface bond0 inet static
     address 192.168.0.4
     gateway 192.168.0.254
     network 192.168.0.0
     netmask 255.255.255.0
     bond-mode 4
     bond-miimon 100
     bond-downdelay 200
     bond-updelay 200
     bond-lacp-rate 1
     slaves eth0 eth1
     dns-nameservers 192.168.0.1
     dns-search yourdomain.net
#ここまで


インタフェースの再起動
/etc/init.d/networking restart

だけでは切り替わらないので、OS再起動で認識。
接続するスイッチは、LACPADをショート(1秒)に設定。


debian側から動作チェック。
パラメータを間違えるとデフォルトのbarance-rrで立ち上がるから802.3adになってることを確認。
cat /sys/class/net/bond0/bonding/mode
cat /proc/net/bonding/bond0



ポイントは2つ
・/etc/modprobe.d/bonding.conf を作ってはいけない。
このファイルでbondingのデフォルト値が設定できるのだけれども、作らないでbondingパラメータはauto bond0セクションで指定する。

・/etc/network/interface で、auto bond0セクションでslaves eth0 eth1とする。auto eth0セクションとauto eth1 セクションを作ってはいけない。



まとめ
今回bondingしたのは管理LAN側に使う。

仮想マシン側には別途ネットワークカードを追加するかしてそいつで「ネットワークインターフェース」画面でVLAN作ってmacvtapで繋げばおしまい。管理LANと仮想マシンに兼用なんかしたらパフォーマンス落ちるに決まってるからそんなことはしない。ラックサーバだと最初からネットワークが4つ付いてたり、SR-IOVに対応していることもあるし。

勢いで昨年 ebayでI350-T2とかT4買ったんだけど、SR-IOVのドライバ導入面倒なんで放置していたらアマゾンジャパンで1万円ちょっとで買える値段になっていてショックだ。安物カードを仮想マシンの台数分買ったほうが良かったかもね。

0 件のコメント:

コメントを投稿