忍者ブログ
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

先週からCentOS5から6への移行を進めているが、またネットワークまわりではまった。
KVMのハイパーバイザーマシンの構築をしているため、一つのボンディングインターフェースに多数のVLANを設定し、それぞれにブリッジインターフェースをひもづけている。

【CentOS5.6でのインターフェース】

bond0---bond0.0011---br0.0011
     |
     --bond0.0012---br0.0012
     |
     --bond0.0013---br0.0013

前回の記事で書いたように、CentOS6ではVLAN設定でVLAN IDの桁数をそろえるため0で埋めることができなくなったようなので、以下のように変更した。

【CentOS6.2でのインターフェース1】

bond0---bond0.11---br0.11
     |
     --bond0.12---br0.12
     |
     --bond0.13---br0.13

■/etc/sysconfig/network-scripts/ifcfg-bond0.11
DEVICE=bond0.11
ONBOOT=yes
BRIDGE=br0.11

■/etc/sysconfig/network-scripts/ifcfg-br0.11
DEVICE=br0.11
TYPE=Bridge
BOOTPROTO=none
DELAY=0

この設定でbr0.11をifupで起動すると、以下のエラーが出て起動できない。

RTNETLINK answers: File exists
エラー: vlan 11をbr0.11としてdev br0に追加でいません

/sbin/ifupの中身をみると、どうやらインターフェース名に「.」を含む場合、それ以下の数字をVLAN IDとして解釈してしまうようだ。
数字以外であれば大丈夫。

■/sbin/ifup
 73 # Ethernet 802.1Q VLAN support
 74 if [ "${VLAN}" = "yes" ] && [ "$ISALIAS" = "no" ]; then
 75     VID=""
 76     MATCH='^.+\.[0-9]{1,4}$'
 77     if [[ "${DEVICE}" =~ $MATCH ]]; then
 78         VID=$(echo "${DEVICE}" | LC_ALL=C sed 's/^.*\.\([0-9]\+\)/\1/')
 79         PHYSDEV=${DEVICE%.*}
 80     fi

なので、ブリッジインターフェースの名前から「.」を抜いて対応することで、無事解決。

【CentOS6.2でのインターフェース2】

bond0---bond0.11---br011
     |
     --bond0.12---br012
     |
     --bond0.13---br013
PR
COMMENT
name
title
text
color   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
mail
URL
pass
secret
PREV ←  HOME  → NEXT
Copyright (C) 2017 技ブロ All Rights Reserved.
Photo by 戦場に猫 Template Design by kaie
忍者ブログ [PR]