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

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


cluster:boinc:containers

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


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

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

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

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

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

Параметры командной строки, принимаемые скриптом

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

container.sh

2. вывод состояния виртуальных машин.

container.sh list 

3. создание нового контейнера с идентификатором равным <ctid>, внутренним адресом равным <ip-adress>, портом подключаемым к web-серверу равным <port>, портом подключаемым к ssh, равным <port> +1.

container.sh new <ctid> <ip-adress> <port>  

Пример запуска

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

# ./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        -


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 

Здесь мы видим, что в данный момент запущены контейнеры с идентификаторами 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.1359098520.txt.gz · Последнее изменение: 2014/01/24 14:11 (внешнее изменение)