Перейти к содержанию

VK Cloud

Загрузка образа виртуальной машины Октопус с использованием веб-интерфейса

Для загрузки образа виртуальной машины (далее - ВМ) Октопус с использованием веб-интерфейса пользователя необходимо выполнить следующую последовательность действий:

1. Скачать архив с образом ВМ Октопус octopus.raw.gz с SharePoint и сохранить его на локальный компьютер.

2. Распаковать архив octopus.raw.gz, получив образ ВМ Октопус: octopus.raw.

3. Авторизоваться в личном кабинете VK Cloud.

4. Перейти к созданию образа: Облачные вычисления -> Образы -> Создать образ.

5. В качестве источника образа выбрать Файл.

6. Выбрать скачанный образ ВМ Октопус.

7. Задать название образа и нажать кнопку Создать образ.

8. После изменения статуса образа на active, создать ВМ Октопус: Облачные вычисления -> Виртуальные машины -> Создать ВМ.

В качестве источника указать загруженный образ.

После создания ВМ Октопус, для обеспечения дальнейшей корректной работы Октопус, необходимо увеличить размер диска на созданной ВМ Октопус. Описание алгоритма увеличесния размера диска приведено ниже.

Загрузка образа виртуальной машины Октопус с использованием клиента OpenStack

Загрузка образа виртуальной машины Октопус с использованием клиента OpenStack рекомендована для файлов образов больших размеров.

Для загрузки образа ВМ Октопус необходимо выполнить следующую последовательность действий:

1. Авторизоваться в личном кабинете VK Cloud.

2. Перейти в раздел Настройки проекта -> Доступ по API.

3. Скачать OpenStack RC file v3.

VK Cloud использует стандартный OpenStack CLI (python-openstackclient). Актуальная инструкция по установке, получению доступа по API и настройке переменных окружения (включая работу с OpenStack RC file v3) представлена в официальной документации VK Cloud.

4. Установить python-openstackclient.

5. Загрузить переменные окружения из RC-файла:

  • для Linux/macOS — source openrc.sh;
  • для Windows — см. документацию VK Cloud или выполнить перенос переменных export X=Y в $env:X="Y" вручную.

6. Проверить подключение командой

openstack image list

В случае верной настройки подключения, в результате работы команды, возвращается таблица с образами.

7. Загрузить образ командой (флаг --progress показывает процент выполнения загрузки в реальном времени):

cd /путь/до/директории/с/файлом
openstack image create --disk-format raw --file "образ.raw" --progress "имя-образа"

8. Проверить статус загрузки и обработки образа командой:

openstack image show <имя-или-id-образа>

Последовательность изменения статуса: queued -> saving -> active. Статус active обозначает, что образ полностью загружен и обработан платформой.

9. Создать ВМ Октопус из загруженного образа командами:

openstack server create \
  --image "имя-образа" \
  --flavor "<flavor-id-или-имя>" \
  --network "<id-или-имя-сети>" \
  --key-name "<имя-ssh-ключа>" \
  "имя-новой-вм"

Команда для вывода конфигурации виртуального сервера:

openstack flavor list

Команда для вывода конфигурации сети:

openstack network list

После создания ВМ Октопус, для обеспечения дальнейшей корректной работы Октопус, необходимо увеличить размер диска на созданной ВМ Октопус. Описание алгоритма увеличесния размера диска приведено ниже.

Увеличение размера диска на ВМ Октопус

После создания ВМ Октопус, для обеспечения дальнейшей корректной работы Октопус, необходимо увеличить размер диска на созданной ВМ Октопус, выполнив слудующую последовательность действий:

1. Подключиться к созданной ВМ Октопус по ssh.

2. Выполнить диагностику свободного места на диске (сумма объёмов последнего раздела диска и его общего размера должны быть меньше общего числа секторов на диске):

df -h                      # где какие точки монтирования, сколько занято
lsblk                      # структура дисков и разделов
df -T /                    # тип файловой системы корня
sudo sfdisk -d /dev/vda    # точная таблица разделов: start/size каждого раздела
sudo blockdev --getsz /dev/vda   # общее число секторов на диске

3. Выполнить проверку состава утилит Alpine:

for cmd in fdisk sfdisk resize2fs xfs_growfs parted; do
  command -v $cmd >/dev/null && echo "$cmd: есть" || echo "$cmd: нет"
done

Комментарий к составу утилит:

  • утилиты fdisk/sfdisk входят в базовую поставку util-linux;
  • утилита resize2fs, из пакета e2fsprogs-extra, в базовую поставку не включается, необходима её установка;
  • утилита parted к установке не обязательна — допускается использование утилиты sfdisk.

4. Расширить раздел без удаления данных (выполняется через sfdisk):

echo "<START>,+" | sudo sfdisk --force -N <PART_NUM> /dev/vda

Где:

  • — start сектор раздела (см. шаг 2);
  • — номер раздела (например, 3 для vda3);
  • "+" — означает "занять всё оставшееся свободное место до конца диска".
Supportet_env_01.png Во избежание зависаний интерактивного диалога необходимо использование неинтерактивного режима команды echo "... " | sfdisk ...

Получение следующего результата работы команды нормально (ядро не может перечитать таблицу для занятого диска "на лету") и не является блокировкой к выполнению дальнейших шагов:

The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Resource busy

5. Обновить таблицу разделов в ядре:

lsblk

Если, в результате работы команды, выводится размер раздела, переходить к шагу 6. Если, в результате работы команды, размер раздела не выводится, то выполнить перезагрузку sudo reboot и повторить шаг 5.

6. Выполнить расширение файловой системы:

sudo apk add e2fsprogs-extra   # устанавливает resize2fs, если его ещё нет
sudo resize2fs /dev/vda<PART_NUM>

7. Проверить резульат:

df -h /
sudo docker ps   # убедиться, что контейнеры живы после операции/ребута