четверг, 26 ноября 2009 г.

Виртуальная локальная сеть с использованием Sun VirtualBox


Некоторое время назад мне потребовалось разобраться с установкой и настройкой системы распределенных вычислений Sun Grid Engine. В моем распоряжении был один ноутбук, тогда как для выполнения поставленной задачи нужно минимум два компьютера, объединенных в сеть, а желательно - три или более. Решение проблемы - создание локальной сети между виртуальными машинами.

В качестве средства виртуализации я использовал Sun VirtualBox 3.0. Операционная система машины-хоста - Windows Vista. Были созданы 3 виртуальные машины, на каждую из которых была установлена ОС Ubuntu 9.10. После установки ОС на каждую виртуальную машину необходимо установить гостевые дополнения. 
Следует отметить, что для одновременного запуска и работы всех машин критическое значение имеет объем оперативной памяти. Первоначально на ноутбуке был установлен 1 Гб, и даже одна виртуальная машина работала с заметными тормозами. После того, как были добавлены еще 2 Гб, проблем с производительностью не возникало.
Для создания локальной сети на каждой виртуальной машине необходимо выполнить следующие шаги:
  1. В диалоговом окне Свойства... выберите пункт Сеть.
  2. Включите Адаптер 1. Тип адаптера оставьте без изменений, в поле Тип подключения выберите NAT. Через этот сетевой адаптер будет осуществляться доступ в Интернет.
  3. Включите Адаптер 2. Тип адаптера также можно не менять. Тип подключения - Внутренняя сеть. Значение поля Имя должно быть одинаково на всех виртуальных машинах. Именно этот сетевой интерфейс будет использоваться для подключения к виртуальной локальной сети.
  4. Запустите виртуальную машину.
  5. Добавьте в файл /etc/network/interfaces следующие записи (ip-адреса на каждой машине должны отличаться):

    auto eth0
    iface eth0 inet dhcp

    auto eth1
    iface eth1 inet static
        address 192.168.0.1
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255


    Первая секция говорит о том, что адрес интерфейса eth0 следует получать при помощи DHCP. Это необходимо для выхода в Интернет с данной виртуальной машины.
    Вторая секция указывает на то, что интерфейс eth1 будет использовать статический ip-адрес. У каждой машины он должен быть уникальный.
  6. Перезапустите демон работы с сетью с помощью команды

    sudo /etc/init.d/networking restart

После вышеперечисленных действий виртуальные машины должны успешно пинговать друг друга и иметь доступ в Интернет.

Комментариев нет:

Отправить комментарий