Инструменты пользователя

Инструменты сайта


cluster:boinc:containers

Это старая версия документа!


Инфраструктура

На сервере 192.168.1.12 (82.196.66.12) установлена система виртуализации openvz. В качестве шаблона гостевой (виртальной) ОС используется centos-6 (официальный образ от openvz).

В настоящий момент на виртуальную ОС номер 2 (CTID=2, IP-адрес: 10.0.0.3) установлен BOINC-сервер, готовый для тестирования. Для доступа к данной ОС наружу были выведены tcp-порты с номерами 8001 и 8002.

Порт 8001 соединен с веб-сервером, посредством которого будут подключаться BOINC-клиенты. Для тестирования доступны следующие URL.
Страничка проекта:
http://192.168.1.12:8001/first/
Страничка администрирования:
http://192.168.1.12:8001/first_ops/
login: boincadm
password: cluster

Порт 8002 соединен с ssh-сервером виртуальной машины. Для доступа можно воспользоваться командой:

ssh 192.168.1.104 -p 8002 -l boincadm

Пароль: cluster

Получить права root'a:

sudo -i

Запуск контейнеров с боинк-сервером

Введение

На сервере 192.168.1.12 создана группа openvz_users, которая прописана в файле sudoers следующим образом:

%openvz_users   ALL=NOPASSWD: /root/container.sh

То есть, членам этой группы разрешается выполнять скрипт /root/container.sh от лица системного администратора.

Данный скрипт содержит в себе все команды необходимые для запуска контейнера с боинк-сервером.

Использование скрипта

1. вывод краткой справки.

sudo /root/container.sh

2. вывод списка виртуальных машин, которые были созданы пользователем.

$ sudo /root/container.sh list

3. создание нового контейнера.

container.sh new 

Примеры

1. Смотрим информацию о контейнерах.

$ sudo /root/container.sh list
containers created by ivashko:
        CTID     IP-ADDRESS      WEB-PORT        SSH-PORT
        50      10.0.1.50       12000           12001

Здесь мы видим, что в данный момент запущены контейнеры с идентификаторами CTID равными 1, 3, 4.

В качестве идентификатора нового контейнера мы будем использовать 5. Не занятый ip-адрес у нас будет 10.0.0.5.

Теперь смотрим нижнюю часть вывода. Это выписка из iptables о пробрасываемых портах.

Порт 8022 нашего сервера пробрасывается на виртуалку номер 4, в 22 порт (ssh)
Порт 8023 нашего сервера пробрасывается на виртуалку номер 4, в 80 порт (web)

В качестве порта нового контейнера мы будем использовать 8024.

2. Даем команду запуска нового контейнера.

/root/container.sh  new  5 10.0.0.5 8024

Эта команда займет определенное время.

3. Проверяем снова состояние

# /root/container.sh  list
      CTID      NPROC STATUS    IP_ADDR         HOSTNAME
         1         24 running   10.0.0.1        -
         3         46 running   10.0.0.3        -
         4         16 running   10.0.0.4        -
         5         17 running   10.0.0.5        -


Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 to:10.0.0.1:80 
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8001 to:10.0.0.3:8001 
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8002 to:10.0.0.3:8002 
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8022 to:10.0.0.4:22 
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8023 to:10.0.0.4:80 
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8024 to:10.0.0.5:22 
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8025 to:10.0.0.5:80 

Новый контейнер добавился, порты пробросились.

Чтобы теперь подключиться к нему нужно набрать команду:

ssh -l boincadm -p 8025 82.196.66.12

То есть подключиться к порту 8025 сервера 82.196.66.12 с именем boincadm
Пароль: cluster

Получить права root:

sudo -i
cluster/boinc/containers.1361448246.txt.gz · Последнее изменение: 2014/01/24 14:11 (внешнее изменение)