МИВК Многофункциональный
информационно-вычислительный
комплекс ОИЯИ

EN

Краткое руководство администратора

Введение

После выполнения данного руководства, администраторы будут иметь рабочую OpenNebula с графическим интерфейсом (Sunstone), один гипервизор (хост) и работающую виртуальную машину. Это полезно при настройке облака, быстро протестировать новые функции и в качестве базы для построения крупной инфраструктуры.

При установке существуют две отдельные роли: Frontend и Nodes. Frontend сервер будет выполнять услуги OpenNebula, и Nodes будут использоваться для реализации виртуальных машин. Пожалуйста, не нужно следовать этому руководству для создания одного хоста, сочетающего Frontend и Nodes в одном сервере. Рекомендуется создание виртуальных машин на хостах с виртуализацией. Чтобы проверить, поддерживает ваш хост расширения виртуализации, пожалуйста, выполните команду:

# grep -E 'svm|vmx' /proc/cpuinfo

Если нет никаких выходных данных, вероятно, виртуализация на сервере не настроена/включена.

Пакеты:

  • opennebula-server: OpenNebula Daemons
  • opennebula: OpenNebula CLI commands
  • opennebula-sunstone: OpenNebula’s web GUI
  • opennebula-java: OpenNebula Java API
  • opennebula-node-kvm: Installs dependencies required by OpenNebula in the nodes
  • opennebula-gate: Send information from Virtual Machines to OpenNebula
  • opennebula-flow: Manage OpenNebula Services
  • opennebula-context: Package for OpenNebula Guests

Внимание!

Для того чтобы избежать проблем, рекомендуется отключить selinux во всех узлах, Nodes и Frontend.

 # vi /etc/sysconfig/selinux
...
SELINUX=disabled
...
# setenforce 0
# getenforce
Permissive

Внимание!

Некоторые команды могут завершиться неудачей в зависимости от iptables/firewalld конфигурации. Настройте брандмауэры для тестирования.

Установка Fronted

Примечание

Команды с префиксом # предназначены для запуска от root. Команды с префиксом $ должны выполняться от oneadmin.

Установка репозитория

# yum install epel-release

Добавить OpenNebula репозиторий

# cat << EOT > /etc/yum.repos.d/opennebula.repo

[opennebula]

SELINUX=disabled

name=opennebula

baseurl=http://downloads.opennebula.org/repo/4.12/CentOS/7/x86_64/

enabled=1

gpgcheck=0

EOT

Установка необходимых пакетов

Полная установка OpenNebula будет иметь как минимум opennebula- server и opennebula- sunstone пакеты

# yum install opennebula-server opennebula-sunstone

Необходимо выполнить install_gems, чтобы установить все зависимости. Выбрать CentOS/Redhat соответственно.

# /usr/share/one/install_gems

lsb_release command not found. If you are using a RedHat based distribution install redhat-lsb

Select your distribution or press enter to continue without

installing dependencies.

 1.Ubuntu/Debian

 2.CentOS/RedHat

Настройка и запуск служб

Существует два основных процесса, которые должны быть запущены, основная OpenNebula: oned, и графический пользовательский интерфейс: sunstone. Sunstone слушает только loopback-интерфейс по умолчанию по соображениям безопасности. Чтобы изменить его, нужно отредактировать файл /etc/one/sunstone-server.conf и изменить : host: 127.0.0.1 на : host: 0.0.0.0

Необходимо запустить службы:

# systemctl enable opennebula

# systemctl start opennebula

# systemctl enable opennebula-sunstone

# systemctl start opennebula-sunstone

Настройка NFS

Примечание

Пропустите этот раздел, если не будет использоваться один сервер для Fronted и рабочего узла.

Экспорт /var/lib/one/ из frontend на рабочий узел. Чтобы сделать это, добавьте следующее в файл /etc/exports в frontend

/var/lib/one/ *(rw,sync,no_subtree_check,root_squash)

Обновить экспорта NFS, выполнив

# systemctl restart nfs.service

Настройка публичного SSH ключа

OpenNebula нужно будет доступ по SSH от любого узла (включая frontend) к любому другому узлу

Добавить следующий код в ~/.ssh/config как oneadmin, это не запрос на добавление ключей в файл known_hosts

# su - oneadmin

$ cat << EOT > ~/.ssh/config

Host *

    StrictHostKeyChecking no

    UserKnownHostsFile /dev/null

EOT

$ chmod 600 ~/.ssh/config

Установка Nodes

Установка repo

Добавить OpenNebula репозитории:

# cat << EOT > /etc/yum.repos.d/opennebula.repo

[opennebula]

name=opennebula

baseurl=http://downloads.opennebula.org/repo/4.12/CentOS/7/x86_64/

enabled=1

gpgcheck=0

EOT

Установка необходимых пакетов

# yum install opennebula-node-kvm

Запуск необходимых служб:

# systemctl enable messagebus.service

# systemctl start messagebus.service

# systemctl enable libvirtd.service

# systemctl start libvirtd.service

# systemctl enable nfs.service

# systemctl start nfs.service

Настройка сети

Внимание!

Резервное копирование всех файлов в этом разделе перед внесением изменений в них.

Должен быть основной интерфейс подключенный к мосту. Следующий пример будет с ens3, но имя интерфейса может различаться. В OpenNebula требования заключается в том, что название моста должно быть одинаковым во всех узлах.

Чтобы сделать это, замените /etc/sysconfig/network-scripts/ifcfg-ens3 :

DEVICE=ens3

BOOTPROTO=none

NM_CONTROLLED=no

ONBOOT=yes

TYPE=Ethernet

BRIDGE=br0

Далее нужно добавить новый /etc/sysconfig/network-scripts/ifcfg-br0 файл.

Если уже имеется DHCP на интерфейсе ens3, использовать необходимо шаблон:

DEVICE=br0

TYPE=Bridge

ONBOOT=yes

BOOTPROTO=dhcp

NM_CONTROLLED=no

Если используются статические IP:

DEVICE=br0

TYPE=Bridge

IPADDR=<YOUR_IPADDRESS>

NETMASK=<YOUR_NETMASK>

ONBOOT=yes

BOOTPROTO=static

NM_CONTROLLED=no

После внесенных изменений, необходимо перезагрузить сеть:

# systemctl restart network.service

Настройка NFS

Примечание

Пропустите этот раздел, если вы используете один сервер для Fronted и рабочего узла.

Организация экспорта хранилища данных. Добавить строки /etc/fstab в файл:

192.168.1.1:/var/lib/one/  /var/lib/one/  nfs   soft,intr,rsize=8192,wsize=8192,noauto

Примечание

Замените 192.168.1.1 на IP-адрес frontend.

Установить NFS:

# mount /var/lib/one/

Если приведенная выше команда не работает или зависает, это может быть проблема брандмауэра.

Основы использования

Примечание

Все операции в этом разделе может быть сделано, используя Sunstone вместо командной строки. Укажите адрес в браузере: http://frontend:9869

По умолчанию пароль для пользователя oneadmin можно найти в ~/.one/one_auth, который генерируется случайным образом на каждую установку.​

​​Взаимодействовать с OpenNebula нужно от учетной записи oneadmin в frontend. Будем считать все следующие команды выполняются от учетной записи. Войти как oneadmin выполнить:

su – oneadmin

Добавление хоста

Для запуска виртуальных машин, необходимо зарегистрировать рабочий узел для OpenNebula.

Выполните эту команду для каждого из узлов. Замените localhost на имя вашего узла.

$ onehost create localhost -i kvm -v kvm -n dummy

Выполните команду onehost list , если возникли проблемы с выполнением команды, то скорей всего неправильно настроен ssh. Посмотреть можно здесь /var/log/one/oned.log

Добавление виртуальных ресурсов

Когда все заработало нужно создать сеть, образы и шаблоны виртуальной машины.

Для создания сети, необходимо создать файл шаблона mynetwork.one, который содержит:

NAME = "private"

BRIDGE = br0

AR = [

    TYPE = IP4,

    IP = 192.168.0.100,

    SIZE = 3

    ]

Примечание

Заменить диапазон адресов бесплатными IP в вашей сети. Можно добавить больше одного диапазона адресов.

Можно двигаться вперед и создавать ресурсы в OpenNebula:

$ onevnet create mynetwork.one

$ oneimage create --name "CentOS-7-one-4.8" \

    --path http://marketplace.c12g.com/appliance/53e7bf928fb81d6a69000002/download \

    --driver qcow2 \

    -d default

$ onetemplate create --name "CentOS-7" \

    --cpu 1 --vcpu 1 --memory 512 --arch x86_64 \

    --disk "CentOS-7-one-4.8" \

    --nic "private" \

    --vnc --ssh --net_context

Примечание

Если при выполнении команды ‘oneimage create’ появляется сообщение о дефиците места в хранилище данных, необходимо отключить проверку хранилища данных в OpenNebula: т.е. в файле /etc/one/oned.conf параметру DATASTORE_CAPACITY_CHECK присвоить значение «no». Необходимо перезапустить oned сервис после изменения этого параметра.

Нужно будет подождать, пока образ не будет готов к использованию. Проверять состояние образа с помощью команды oneimage list .

Для того, чтобы динамически добавить SSH-ключи на виртуальные машины мы должны добавить наш ключ SSH для пользовательского шаблона, путем редактирования данного шаблона:

$ EDITOR=vi oneuser update oneadmin

Добавьте новую строку, как в следующем шаблоне:

SSH_PUBLIC_KEY="ssh-dss AAAAB3NzaC1kc3MAAACBANBWTQmm4Gt..."

Заменить значение выше:

cat ~/.ssh/id_dsa.pub

Запуск виртуальной машины

Для запуска виртуальной машины вам нужно будет инстанцировать шаблон

$ onetemplate instantiate "CentOS-7"

Выполнив onevm list , можно посмотреть в каком состоянии находится виртуальная машина: PENDING, PROLOG, RUNNING. Ошибки можно посмотреть в файле /var/log/one/<VM_ID>/vm.log

Примечание

Если достаточно долго показан статус pend, можно посмотреть почему: onevm show <vmid>|grep ^SCHED_MESSAGE. Если он сообщает, что хранилище данных не обладает достаточным потенциалом для виртуальной машины, вы можете запустить ручное развертывания, выполнив: onevm deploy <vmid> <hostid>.

OpenVZ

В этом разделе описывается процедура установки и использования на openvz с Opennebula.

Поддерживаемые функции в текущем драйвере

  • ploop: deploy, suspend, poweroff, stop*, shutdown, undeploy, migrate*, migrate live, VM snapshots
  • simfs не провено, но может сработать — использовать на свой страх и риск

Особенностям, отмеченным с * нужно местоположение хранилищ данных (datastore) на хостах такое же, как на frontend. Если они отличаются, то на frontend можно создать simlink соответствия хоста хранилища данных местоположения, указывающему на datastore фактического frontend.

Openvz для конкретных параметров шаблона

OSTEMPLATE – соответствует параметру OpenVZ «ostemplate». Убедитесь, что параметр OSTEMPLATE записан в формате <OS name>-<version>-<architecture>, пример: OSTEMPLATE=»sl-6-x86_64″
VE_LAYOUT
 параметр используется для задания типа файловой системы виртуальной машины. Это может быть ploop или simfs. Если не указан, используется по умолчанию ploop.

OVZ_SIZE устанавливает требуемый Размер диска для виртуальной машины. Если он не указан, используется значение из DEFAULT_CT_CONF. Пример:

DISK=[

  IMAGE_ID="1",

  OVZ_SIZE="20480" ]

Установка текущего драйвера

Контекстуализация

В текущей версии драйвера контекстуализация осуществляется путем копирования содержимого ISO-файла в указанное место в КТ; расположение по умолчанию для копирования файлов настраивается в файле remotes/vmm/ovz/ovzrc путем изменения значения переменной CT_CONTEXT_DIR.

Установка и настройка Frontend узла

[root@FN]$ yum install git patch genisoimage epel-release

Скачать и установить OpenNebula по ссылке http://opennebula.org/documentation:rel4.2:ignc, т.е. скачать архив opennebula для CentOS-6.х, ссылка http://downloads.opennebula.org («OpenNebula 4.2 в CentOS 6.4 архив»), распаковать его и установить нужные rpm на FN (Frontend). В качестве альтернативы он может быть установлен из одного репозитория:

[root@FN]$ cat << EOT > /etc/yum.repos.d/opennebula.repo

[opennebula]

name=opennebula

baseurl=http://opennebula.org/repo/CentOS/6/stable/\$basearch

enabled=1

gpgcheck=0

EOT

[root@FN]$ # yum install <packages>

При установке пакетов opennebula-* создаётся пользователь oneadmin с uid 498 и с gid 499, которые зарезервированы в системе для других целей. В таком случае проще поменять oneadmin uid и gid на FN вместо изменения GID на всех CNs (в любом случае, убедитесь, что uid и gid пользователя oneadmin на FN и CNs одинаковы).

[root@FN]$ groupmod -g 1000 oneadmin

[root@FN]$ usermod -u 1000 -g 1000 oneadmin

[root@FN]$ chown oneadmin:oneadmin /var/run/one /var/lock/one /var/log/one

[root@FN]$ chgrp oneadmin -R /etc/one/

[root@FN]$ yum install ruby-devel

[root@FN]$ /usr/share/one/install_gems

[root@FN]$ git clone git@git.jinr.ru:cloud-team/one-ovz-driver.git

[root@FN]$ cd opennebula-openvz

 

Переключить в текущей ветке и установка драйвера:

[root@FN]$ hg update current

[root@FN]$ cd src/

[root@FN]$ bash install.sh

Проверка, что все разрешения заданы правильно и генерация SSH-ключей:

[root@FN]$ chown oneadmin:oneadmin -R /var/lib/one/

[root@FN]$ cd ~

[root@FN]$ ssh-keygen -t rsa

 

Поставить id_rsa.pub в  root@CN:/.ssh/authorized_keys как id_rsa* в root@CN:/.ssh/:

[root@FN]$ cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

[root@FN]$ scp -r ~/.ssh/ <CN>:~/

 

StrictHostKeyChecking должен быть отключен в /etc/ssh/ssh_config файл на FN и CNs:

Host *

            StrictHostKeyChecking no

Перезапуск sshd на хосте, где /etc/ssh/ssh_config файл был изменен:

[root@FN]$ service sshd restart

 

Убедитесь, что root может войти на CNs без запроса пароля.

Sunstone GUI

[root@FN]$ yum install opennebula-sunstone-4.2.x86_64.rpm

[root@FN]$ bash /usr/share/one/install_novnc.sh

 

MySQL

Если MySQL будет использоваться в OpenNebula как DB внутренняя, тогда следующие шаги должны быть выполнены:

[root@FN]$  yum install mysql-server

[root@FN]$ /etc/init.d/mysqld start

[root@FN]$ chkconfig mysqld on

[root@FN]$ mysql

mysql> USE mysql;

mysql> UPDATE user SET Password=PASSWORD('<password>') WHERE user='root';

mysql> FLUSH PRIVILEGES;

mysql> create database opennebula;

mysql> GRANT ALL PRIVILEGES ON opennebula.* TO 'one_db_user'@'localhost' IDENTIFIED BY 'one_db_user' WITH GRANT OPTION;

mysql> UPDATE user SET Password=PASSWORD('<password>') WHERE user='one_db_user';

mysql> FLUSH PRIVILEGES;

 

где <password> либо могут быть взяты из ~oneadmin/.one_auth файла или можно установить любой другой.

Беспарольный доступ по узлам для пользователя oneadmin

Opennebula генерирует ключи DSA в ~oneadmin/.ssh/ при необходимости, можно генерировать свои собственные ключи

[root@FN]$ su - oneadmin

[oneadmin@FN]$ ssh-keygen -t rsa

[oneadmin@FN]$ cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

 

Поставить id_rsa.pub в oneadmin@CN:~/.ssh/authorized_keys имеет файл, а также id_rsa* в oneadmin@CN:~/.ssh/ папке.

StrictHostKeyChecking должен быть отключен в /etc/ssh/ssh_config файл на FN и CNs:

Host *

            StrictHostKeyChecking no

 

Перезапустите sshd на хосте, где /etc/ssh/ssh_config файл был изменен.

[root]$ service sshd restart

oned.conf

Отредактируйте оригинальный файл конфигурации /etc/one/oned.conf, как приведено ниже:

HOST_MONITORING_INTERVAL              = 60

VM_POLLING_INTERVAL                   = 60

SCRIPTS_REMOTE_DIR=/vz/one/scripts

PORT = 2633

DB = [ backend = "mysql",

            server  = "localhost",

            port     = 0,

            user     = "one_db_user",

            passwd  = "<password>",

            db_name = "opennebula" ]

VNC_BASE_PORT = 5900

DEBUG_LEVEL = 3

NETWORK_SIZE = 254

MAC_PREFIX   = "02:00"

DATASTORE_LOCATION = /vz/one/datastores

DEFAULT_IMAGE_TYPE   = "OS"

DEFAULT_DEVICE_PREFIX = "sd"

IM_MAD = [

            name   = "im_ovz",

            executable= "one_im_ssh",

            arguments  = "-r 0 -t 15 ovz" ]

VM_MAD = [

            name   = "vmm_ovz",

            executable = "one_vmm_exec",

            arguments  = "-t 15 -r 0 ovz",

            default = "vmm_exec/vmm_exec_ovz.conf",

            type     = "xml" ]

TM_MAD = [

            executable = "one_tm",

            arguments  = "-t 15 -d dummy,shared,ssh" ]

DATASTORE_MAD = [

            executable = "one_datastore",

            arguments  = "-t 15 -d fs"

]

HM_MAD = [

            executable = "one_hm" ]

AUTH_MAD = [

            executable = "one_auth_mad",

            authn = "ssh,x509,ldap,server_cipher,server_x509"

]

SESSION_EXPIRATION_TIME = 900

VM_RESTRICTED_ATTR = "CONTEXT/FILES"

VM_RESTRICTED_ATTR = "NIC/MAC"

VM_RESTRICTED_ATTR = "NIC/VLAN_ID"

VM_RESTRICTED_ATTR = "RANK"

IMAGE_RESTRICTED_ATTR = "SOURCE"

 

Остальные параметры в файле /etc/one/oned.conf оставьте в их оригинальном виде.

Установить DEFAULT_CT_CONF в /var/lib/one/remotes/vmm/ovz/ovzrc файле необходимое значение (например, /etc/vz/conf/ve-vswap-1g.conf-sample).

Установка oneadmin пароля

Если установка была из пакетов, файл’/.one/one_auth’ создан со случайно сгенерированным паролем. В противном случае, установить oneadmin в OpenNebula (логин и пароль) добавив следующие строки /.one/one_auth (изменить пароль на желаемый):

[oneadmin@FN]$ mkdir ~/.one

[oneadmin@FN]$ echo "oneadmin:<password>" > ~/.one/one_auth

[oneadmin@FN]$ chmod 600 ~/.one/one_auth

 

Это позволит установить oneadmin пароль при первой загрузке. С этого момента, вы должны использовать “oneuser passwd” команду, чтобы изменить oneadmin пароль.

Запуск OpenNebula

 

[oneadmin@FN]$ one start

 

Проверка журналов (/var/log/one/oned.log) на наличие ошибок.

Хранилище данных (на OpenNebula)

В настоящее время только sshd передает менеджеру драйверов поддержку OVZ драйвера, поэтому нужно менять все хранилища данных, использовать SSH драйвер. Для изменения datastores передачи драйвера (например, от общего к SSH) можно выполнить следующую команду:

[oneadmin@FN]$ env EDITOR=vim onedatastore update 1

 

и установить значение параметра TM_MAD соответственно (например TM_MAD=”ssh”)

Кроме того, возникает необходимость установить NO_DECOMPRESS=»yes» в конфигурации службы каталогов, иначе OpenNebula будет пытаться распаковать шаблон для openvz архива и потерпит неудачу.

Узлы кластера конфигурации (для OpenVZ).

Установить ОС на CN в минимальной конфигурации и удалить ненужные пакеты. Например, на SL 6.x ОС следующие rpm-пакеты могут быть удалены:

[root@CN]$ yum remove qpid* matahari*

[root@CN]$ userdel -rf qpidd

[root@CN]$ groupdel qpidd

 

Или одно командой

[root@CN]$ yum remove qpid* matahari* && userdel -rf qpidd && groupdel qpidd

 

Отключение selinux в /etc/selinux/config

[root@CN]$ setenforce 0

[root@CN]$ sestatus

[root@CN]$ wget -P /etc/yum.repos.d/ http://download.openvz.org/openvz.repo

[root@CN]$ rpm --import  http://download.openvz.org/RPM-GPG-Key-OpenVZ

[root@CN]$ yum install vzkernel vzkernel-firmware

[root@CN]$ mv /etc/sysctl.conf{,.orig}

[root@CN]$ scp <configured CN>:/etc/sysctl.conf /etc/

[root@CN]$ chkconfig ntpd on

[root@CN]$ chkconfig apcupsd on

[root@CN]$ yum install vzctl vzquota ploop

 

Отредактируйте /etc/vz/vz.conf согласно желательной конфигурации. Редактировать vz.conf на CNs, как показано ниже:

$ diff /etc/vz/vz.conf.orig /lesf

45c45

< IPTABLES="ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length"

---

> IPTABLES="ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length ipt_state"

50c50

< IPV6="yes"

< IP6TABLES="ip6_tables ip6table_filter ip6table_mangle ip6t_REJECT"

---

> IPV6="no"

> #IP6TABLES="ip6_tables ip6table_filter ip6table_mangle ip6t_REJECT"

 

Убедитесь, что модули xt_state и nf_conntrack загружаются.

Перезагрузка. Убедитесь, что vz и vzeventdз запущены. Если они не проверяются, если они запускаются при загрузке. Они могут быть выполнены путем выполнения команды, как показано ниже:

[root@CN]$ /etc/init.d/vz start

[root@CN]$ /etc/init.d/vzeventd start

 

Настройки КТ по умолчанию

Убедитесь в том, что установлены правильные значения в файле $DEFAULT_CT_CONF (например, /etc/vz/conf/ve-vswap-1g.conf-sample), проверка соответствующих ресурсов (например, дисковое пространство) в противном случае развертывания ВМ может завершиться с ошибками как “дисковая квота превышена”.

Iptables

Копировать правила iptables настроенного CN и перезапустить iptables в службах: [root@CN]$ /etc/init.d/iptables restart

На CNs выполнить следующие команды:

[root@CN]$ iptables -P FORWARD ACCEPT && iptables -F FORWARD

 

Конфигурация iptables на примере ВМ:

# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp -s <IP/mask trusted_network> --dport 22 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

 

Установить необходимые пакеты на CN

[root@CN]$ yum install ruby rubygems file bind-utils

 

oneadmin user

Создать группу и пользователя oneadmin на CNs с теми же uid и gid как на FN:

[root@CN]$ groupadd --gid 1000 oneadmin

[root@CN]$ useradd --uid 1000 -g oneadmin -d /vz/one oneadmin

 

Редактирование /etc/sudoers файла:

# Defaults       requiretty

%oneadmin  ALL=(ALL)                   NOPASSWD: ALL

Defaults:%oneadmin secure_path="/bin:/sbin:/usr/bin:/usr/sbin"

[root@CN]$ su - oneadmin

[oneadmin@CN]$ mkdir /vz/one/datastores

 

Убедитесь, что /vz/one/datastores перезаписываемый для группы, в противном случае сделайте это:

[oneadmin@CN]$ chmod g+w /vz/one/datastores

[oneadmin@FN]$ scp -r .ssh/ root@CN:~oneadmin/

[root@CN]$ chown oneadmin:oneadmin -R ~oneadmin/.ssh/

 

И снова StrictHostKeyChecking должен быть отключен в /etc/ssh/ssh_config файл на FN и CNs:

Host *~

            StrictHostKeyChecking no

 

Перезапуск sshd на хосте, где /etc/ssh/ssh_config файл был изменен:

[root]$ service sshd restart

 

Убедитесь, что oneadmin пользователь может войти на CN от FN без запроса пароля:

[oneadmin@FN]$ ssh <CN hostname>

[root@FN]$ ssh-copy-id <CN hostname>

[root@FN]$ scp -r .ssh/id_rsa* root@CN:~/.ssh/

 

Убедитесь, что root может войти на CN от FN без запроса пароля:

[root@FN]$ ssh <CN hostname>

 

Примеры ВМ команд

Сеть

[oneadmin@FN]$ cat public.net

NAME = "Public"

TYPE = FIXED

BRIDGE = venet0

LEASES = [IP=<IP1>]

LEASES = [IP=<IP2>]

GATEWAY = <gateway_IP>

DNS = <DNS_IP>

[oneadmin@FN]$ onevnet list

[oneadmin@FN]$ onevnet create public.net

 

Можно добавить/удалить/удержать/освободить аренду для/из фиксированной сети:

[oneadmin@FN]$ onevnet addleases <network_id> <new_IP_address>

[oneadmin@FN]$ onevnet rmleases <network_id> <IP_address>

[oneadmin@FN]$ onevnet hold <network_id> <IP_address>

Группа

[oneadmin@FN]$ onecluster create ovz_x64

[oneadmin@FN]$ onecluster addvnet 100 0

[oneadmin@FN]$ onecluster adddatastore 100 1

[oneadmin@FN]$ onehost create <CN hostname> --im im_ovz --vm vmm_ovz --cluster ovz_x64 --net dummy

[oneadmin@FN]$ oneimage create -d default --name "SL 6.3 x86_64 persistent" --path /tmp/sl-6-x86_64.tar.gz --prefix sd --type OS --description "Scientific linux 6.3 custom"

[oneadmin@FN]$ oneimage list

Чтобы сделать образ постоянным, необходимо выполнить следующую команду:

[oneadmin@FN]$ oneimage persistent <IMAGE_ID>

Создать шаблон для ВМ:

$ cat sl-6.3-x86_64.one.vm.tmpl

CONTEXT=[

  FILES="/var/lib/one/vm_files/rc.local /var/lib/one/vm_files/id_rsa.pub",

  NAMESERVER="$NETWORK[DNS, NETWORK_ID=0 ]" ]

CPU="0.01"

DISK=[

  IMAGE_ID="1",

  SIZE="20480" ]

DISK=[

  SIZE="2048",

  TYPE="swap" ]

LOOKUP_HOSTNAME="true"

MEMORY="4096"

NAME="SL6 x86_64"

NIC=[

  NETWORK_ID="0" ]

OS=[

  ARCH="x86_64",

  BOOT="sd" ]

OSTEMPLATE="sl-6-x86_64"

VE_LAYOUT=”ploop”

RCLOCAL="rc.local"

Убедитесь, что значение параметра OSTEMPLATE записывается в формате <название ОС>-<версия>-<архитектура>, например OSTEMPLATE=»sl-6-x86_64″.

VE_LAYOUT параметр используется для задания типа файловой системы виртуальной машины. Это может быть ploop или simfs. Если не указан, используется по умолчанию ploop.

OVZ_SIZE устанавливает требуемый Размер диска для виртуальной машины. Если он не указан, используется значение из DEFAULT_CT_CONF. Пример:

DISK=[

  IMAGE_ID="1",

  OVZ_SIZE="20480" ]

 

Можно перейти на openvz родные параметры гипервизора, используя RAW атрибут. Например:

RAW = [

            FEATURES = "nfs:on"

            QUOTATIME = "0"

            ....

Можно обновить созданный шаблон с помощью команды:

env EDITOR=vim onetemplate update <TEMPLATE ID>

 

Создание шаблона виртуальной машины в ONE:

[oneadmin@FN]$ onetemplate create sl-6.3-x86_64.one.vm.tmpl

 

Создать экземпляр виртуальной машины из существующего шаблона:

[oneadmin@FN]$ onetemplate instantiate 0 -n vps103