特定のホスト間でpingが通らない
Date 2014-11-12 17:54:03 | Topic: Linux (CentOS)運用時のメモ
| 現行のサーバーのバックアップを作っている時の事、特定のホスト間でpingが出来ない。 それぞれのホストではルーターへのpingも通るし、だからインターネットも出来ている。 結論はMACアドレスの重複。 何でこうなったか。KVMのサブホストを作るのに一からやるのはしんどいので、現行のホストの設定ファイルをコピーしてきた。 (/etc/libvirt/qemuにあるサブホスト名.xml) ホスト名とIPアドレスがかぶるのは分かって居たので変更をしたが、これ以外にも サブホストのUUIDと仮想ネットワークカードのMACアドレスもかぶっている。 これらを適当に変更したらOKになった。でも数時間無駄にした。 教訓:KVMのサブホストをコピーしたら、 サブホストのUUID、ホスト名、NICのMACアドレス、IPアドレス を変更する事 もう少し詳しく書くことにする(2016-5-29追記) まずはサブホストのUUIDとMACアドレスの重複から、 仮想化で無ければMACアドレスがかぶることは無いが(ネットワークICのベンダーとシリアルでかぶることは無い) サブホストの設定ファイルを /etc/libvirt/qemu/XXXXX.xml 等からコピーをしたら、この中にMACアドレスが書いてあるので、必ず重複する。 まずはその解決方法。コピーした時に定義が反映していないときがあるので(必ずサブホストは止めておく) # virsh define /etc/libvirt/qemu/xxxx.xml で定義をしておく。次に定義ファイルの編集 # virsh edit 定義ファイル名(xxxx.xmlの .xml を取ったもの) これで vi と同じ方法で編集できますので、 a でインサートモードにし、カーソルで該当個所に行き、不要な部分を削除し、そこに新しい分を追記し、escキー, w, q と連続して入力すると編集後の分が定義され保存されます。 念のため、再度 # virsh define /etc/libvirt/qemu/xxxx.xml で定義し直し(多分やらなくてもいいかも)サブホストを 仮想マシンマネージャーから起動すると新しいUUIDとMACアドレスになっています。 ここでMACアドレスは XX:XX:XX:ZZ:ZZ:ZZ になっていますが、最初の XX:XX:XX はベンダーID(KVMの仮想化の場合 52:54:00 です、次の ZZ:ZZ:ZZ がシリアルですので、他のホストとかぶらないように適当に決めます) 次にホスト名(仮想マシンマネージャー上の名前ではなく、サブホスト自身の名前)と IPアドレスを変更しますが、これはサブホストのファイルを変更する必要がありますが、KVMは領域の中にさらに領域を作っていますので、メインのホストにマウントするには(編集の為に)コツがいります(もちろんサブホストは止めておく) これには losetup と kpartx を使っていきます。私はLVMを使っていますので
# losetup -f で使えるloop番号を調べ # losetup /dev/loop番号 /dev/ボリューム名/サブホストに割り当てたLV名 # kpartx -a /dev/loop番号 さらに # ls /dev/mapper でmapperにあるファイルが表示されますので、その中に loop番号p1 などがあります。 これをマウントしますが、私はtestようのマウント場所を作っています(/test1,/test2) # mount /dev/mapper/loop番号p1 /test1 サブホストの名前は # gedit /test1/etc/sysconfig/network抜粋
HOSTNAME=設定したいサブホストの名前
で保存後、IPアドレスは(私は固定IPで、NetworkManager は使っていません) # gedit /test1/etc/sysconfig/network-scripts/ifcfg-eth0で設定したいIPアドレスにし、保存します。 で後始末 # umount /test1 # kpartx -d /dev/loop番号 # losetup -d /dev/loop番号 それから再起動すればいい筈だったが、ブートでエラー(画像3) これは前にも経験がある、多分MACアドレスをいじったために出たと思うが、/etc/udev/rules.dにある 70-persistent-net.rulesを削除し、 再起動すれば、自動でこのファイルを作ってくれるので正常に起動する
|
|