[Comm] OpenVZ @ server-4.0.1 - большие проблемы

=?iso-8859-1?q?seriv_=CE=C1_parkheights=2Edyndns=2Eorg?= =?iso-8859-1?q?seriv_=CE=C1_parkheights=2Edyndns=2Eorg?=
Пн Фев 11 18:25:50 MSK 2008


(posted to community@ and sysadmins@)

Прошу помощи.

Раньше ни разу не требовалось организолыввать VEs соединённые с двумя разными сетями. В моём случае - это локальная сеть с 10.*.*.* адресами и WAN, честные статические ipv4 адреса. Установлен Server-4.0.1 + updates.

Я попробовал делать всё согласно описанному в http://www.freesource.info/wiki/SergeyLebedev/EisSystem/RootSystemEIS& - то есть с помощью bridges. Устроил vzbr0, отнял у eth0 его ipv3address заменив на 0.0.0.0 и передал этот адрес интерфейсу vzbr0. 

Потом устроил default route для vzbr0.

Всё пробовал и /sbin/service/network restart отрабатывало замечаательно, вплоть до того что при помощи скриптов из 
http://wiki.openvz.org/Using_private_IPs_for_Hardware_Nodes (конкретнее - скрипта /usr/sbin/vznetcfg.custom) e моём VE создавался интерфейс eth0, добавлялся к bridge vzbr0, устраивались routes.

Затем, перед тем как доделать то же самое для другой сети, решил дпя проверки перезагрузить сервер. И он не появился в сети! 

Спустя несколько дней к нему поехали на colocation, попытались перезагрузиться и вручную запустить сеть и sshd чтобы я мог увидеть что случилось и поправить. Увы, сервер расположен не в моей часовой зоне, и видимо ночью я соображаю плохо.

Первое что я осознал - это что мои bridge devices vzbr0 и vzbr1 дописаны в /etc/iftable и забирают у eth0/eth1 карточки по макадресам, так что eth0/eth1 подняться не удеётся вовсе. Так что /sbin/ifconfig eth0 10.16.0.12 говорит 'fetching interface information - device not found'

Попросил перезагрузиться в runlevel 1. Потом ifconfig, service sshd start. После этого смог соединиться удалённо. Обнаружил vzbr{0,1} в /etc/iftable Решив вначале создать для сбе "гарантии" против повторных таких проблем. Написал сходу что-то типа (сейчас по памяти воспроизвожу):
---
#!/bin/bash
## /root/bin/10.sh - script to bring up interface up if it ifrenamed to anything but vzbr*

NAME=`ifconfig -a | grep '00:04:05:06:07:08' |grep -v '^vzbr' | awk '{print $1}'` 

if ! ping -c 1 -I $NAME >/dev/null 2>&1 
then
   ifconfig $NAME 10.16.0.12/24
fi
---
(вместо реального макадреса написал произвольную последовательность цифр).

Имея два поднятых интерфейса мог себе позволить проверить этот скрипт, поместил его в crontab на каждые 5 минут.  Искуственно опустил интерфейс, и увидел что он поднялся из этого скрипта.

Сделал такой же скрипт для WAN.

И перезагрузил опять мошину. Это было вчера. Теперь вот надо будет опять организовывать чтобы к ней поехали и восстанавливали вручную.


   Прошу подсказать, как надо настраивать OpenVZ, etcnet и bridges в такой ситуации. Прошу покритиковать то что я делал

-- 

   Сергей Иванов.



Подробная информация о списке рассылки community