Подготовка образов для KVM/LibVirt

В качестве примера будет использован образ Ubuntu 16.04: подготовка рабочего окружения, настройка необходимых параметров, сборка и загрузка образа в облачный сервис. Также будут рассмотрены необходимые шаги для подготовки образа с полной совместимостью со всеми дополнительными возможностями сервиса «Виртуальное приватное облако». В качестве инструмента для сборки образа мы будем использовать diskimage-builder. Это набор компонентов для подготовки образов операционных систем, файловых систем, RAM-дисков с открытым исходным кодом, поддерживаемый сообществом OpenStack. Инструмент поддерживает создание образов большинства распространенных дистрибутивов GNU/Linux: Centos Debian Fedora RHEL Ubuntu Gentoo OpenSUSE По умолчанию diskimage-builder подготавливает образ cloud-версии операционной системы, поэтому в образе будут присутствовать пакеты cloud-init и cloud-utils, необходимые для автоматической настройки системы в облаке. Создание образа Ubuntu 16.04 Мы будем готовить образ на машине с ОС Ubuntu 14.04. Для начала установим необходимые зависимости: 1 2 sudo apt update sudo apt -y install python-pip curl Затем установим diskimage-builder: 1 sudo pip install diskimage-builder Создадим базовые директории для работы: 1 mkdir -p ~/diskimage-builder/{images,elements} Для настройки diskimage-builder нам необходимо указать несколько дополнительных параметров, значение которых хранится непосредственно в переменных окружения командной оболочки (таким образом, вы можете указывать их в командной строке): ARCH=“amd64” — архитектура образа. BASE_ELEMENTS=“ubuntu bootloader cloud-init-datasources” — здесь мы укажем используемые элементы diskimage-builder. Элементы представляют собой набор bash-скриптов, которые выполняют все рутинные действия по подготовке и изменению образа. Наиболее важным для нас является элемент ubuntu, который скачает и распакует стандартный официальный образ дистрибутива, проведет установку требуемых пакетов и обновления системы до актуального состояния внутри образа при помощи утилиты chroot, и соберет все обратно в образ, готовый к использованию. Элемент bootloader устанавливает загрузчик (в нашем случае GRUB2) в подготавливаемый образ системы, а cloud-init-datasources передаёт список источников данных для утилиты cloud-init, которая необходима для первоначальной настройки операционной системы при запуске. DIB_CLOUD_INIT_DATASOURCES=“ConfigDrive, Ec2” — источники данных для элемента cloud-init-datasources. DIB_RELEASE=“xenial” — версия операционной системы, на базе которой мы будем создавать образ. IMAGE_PATH="~/diskimage-builder/images/ubuntu-16.04" — имя и путь для образа. Сборка образа осуществляется с помощью команды: ...

5 листопада 2021 · 10 хвилин · 2092 слів · dimetrius

Шпаргалка по Proxmox

В этой статье хочу описать те моменты, с которыми приходится сталкиваться самому. Решение приходится искать по разным уголкам интернетов. TASK ERROR: CT is locked (disk) Произошло это после попытки сделать бэкап на NFS диск, который отвалился. В качестве решения можно выполнить в консоли: 1 2 pct unlock <vm id> - для KVM виртуалки qm unlock <vm id> - для LXC контейнера и попробовать заново выполнить действие.

16 травня 2019 · 1 хвилина · 66 слів · dimetrius

Как можно снизить потребление оперативной памяти на VPS в 2 раза, ничего не меняя в настройках программ

Оригинал статьи опубликован на habrahabr.ru Взял VPS, построенный на OpenVZ. Поставил туда Debian Lenny и всякие программы (обычный LAMP, по сути). С точки зрения потребления ресурсов ничего почти не настраивал, вышло где-то 200М занятой оперативной памяти (сразу после старта). Написал 1 ulimit -s 1024 в /etc/init.d/rc ближе к верху. Перезагрузился. Потребление памяти на VPS упало более чем вдвое, стало около 100М. Если у Вас VPS на Xen или аналогичных, то у Вас нет граблей, с которыми я тут боролся. Если на OpenVZ (Virtuozzo) со товарищи — у Вас, скорее всего, на VPS эти же грабли. В статье — почему и как это работает. OpenVZ vs Xen Отличие OpenVZ от Xen, которое нас тут интересует: в OpenVZ ограничивается виртуальная память. Т.е., например, тарифы вида «256М + 256М burstable» означают, что нам доступно макс. 256М именно виртуальной памяти (и 512М виртуальной по праздникам). Многие программы выделяют себе виртуальной памяти «про запас», т.к. при обычной работе (или виртуализации через Xen со товарищи) ее можно выделить сколько угодно (втч > доступной физически) безо всяких последствий. Это одна из причин, по котрой VPS на Xen стоят дороже аналогичных по характеристикам VPS на OpenVZ — они реально предоставляют больше ресурсов. Но это еще не все На каждый запущенный тред в виртуальной памяти выделяется место под стек. Так вот, в debian lenny, например, по умолчанию это место = 10М. Берем какой-нибудь apache с mpm_worker (который создает кучу тредов), запускаем под OpenVZ — тратятся сотни мегабайт памяти. ...

18 травня 2014 · 4 хвилин · 785 слів · dimetrius