先週は自作サーバを組み立て仮想サーバの検証。
マザーを選ぶときにNICもチェックすれば良かったのですが
二つあるからこれでいいやと思って買ったら
RealtekのRTL8111/8168B。。。

インストールしていざ動かそうとしたらネットワークに接続出来ない!
なんだかんだ検証した後フォーラムを見てたらこんなトピックが!!
http://forums.citrix.com/thread.jspa?messageID=1518200


まさにこれと同じでまったくネットワークに接続出来ない状態でした。
Realtekから最新のドライバをダウンロードして
自分でコンパイルしたりしても駄目。
CMOSクリアしても上手く行かなかった。。。
ということでXenServer 5.6に戻したら問題なく動きました。
しばらく様子を見て問題が解決したらXenServer 5.6 Feature Pack1にするつもり。


とりあえずXenServer DDKを使ってドライバをコンパイルする方法は理解できたので以下は作業メモ。
【手順】
# マウントポイントを作成
mkdir -p /mnt/tmp

# DDKのメディアをマウント
mount /ddk.iso /mnt/tmp -o loop

# DDKの仮想マシンをインポート
xe vm-import filename=/mnt/tmp/ddk/ova.xml

# ネットワークの一覧を表示
xe network-list

# xenbr0を使用してvifを割り当てる
xe vif-create network-uuid=[network_uuid] vm-uuid=[ddk_vm_uuid] device=0

# DDKの仮想マシンを起動する前に、仮想マシンレコードに次のパラメータを設定
xe vm-param-set uuid=[ddk_vm_uuid] other-config:disable_pv_vnc=1

# DDKの仮想マシンを起動する
xe vm-start uuid=[ddk_vm_uuid]

# DDKの仮想マシンのDom IDを確認する
xe vm-list params=dom-id uuid=[ddk_vm_uuid] --minimal

# DDKの仮想マシンに接続
/usr/lib/xen/bin/xenconsole [dom-id]

(例:DDKの仮想マシンを192.168.0.200にする場合、XenServerは192.168.0.100)
# 仮想マシンのネットワークインターフェイスの設定を変更
vi /etc/sysconfig/network-scripts/ifcfg-eth0
 DEVICE=eth0
 BOOTPROTO=static
 IPADDR=192.168.0.200
 NETMASK=255.255.255.0
 ONBOOT=yes
 TYPE=ethernet

# ルーティングの設定を変更
vi /etc/sysconfig/network-scripts/route-eth0
 192.168.0.200 dev eth0 scope link
 default via 192.168.0.200

## ここまでで仮想サーバのホストとクライアントがSSHで接続出来るようになる

## 今回はr8168のドライバをコンパイル
# r8168のドライバファイルをサーバからコピー
scp 192.168.0.100:/tmp/r8168-8.020.00.tar.bz2 /tmp

# ドライバをコンパイル(所定の場所に.koファイルが作成される)
cd /tmp
tar vjxf r8168-8.020.00.tar.bz2
cd r8168-8.018.00/
make all