!!! Attention: the script works stably only with Ubuntu 22.04 and 24.04 and Ubuntu inside VM/Container
Client version: 5.21.3 LTS
Server version: 5.21.3 LTS
Before using the script, you need to install LXD/LXC on your Ubuntu 22.04(24.04) system. Follow these steps:
-
Update your system:
sudo apt update && sudo apt upgrade -y
-
Install LXD:
sudo apt install lxd -y
-
Initialize LXD:
sudo lxd init
Follow the setup wizard instructions, choosing default options or customizing as needed.
-
Add your user to the lxd group:
sudo usermod -aG lxd $USER
-
Restart your session or system for the changes to take effect.
This script automates the process of creating LXC containers or virtual machines using LXD. Here's how it works:
-
Preparation and Checks:
- Sets up logging and error handling.
- Verifies if it's run as root.
- Installs necessary dependencies (dialog and jq).
-
Image Source Selection:
- Prompts the user to choose between official Ubuntu images and LinuxContainers.org images.
-
Instance Type Selection:
- User selects between creating a container or a virtual machine.
-
OS Image Selection:
- Fetches a list of available images and prompts the user to select a specific image.
-
Parameter Configuration:
- User inputs instance name, disk size, RAM amount, and CPU cores.
-
Disk Image Creation and Mounting:
- Creates a disk image of the specified size.
- Formats it as btrfs and mounts it.
- Adds an entry to /etc/fstab for automatic mounting.
-
Storage Pool Creation:
- Creates an LXD storage pool based on the created disk image.
-
Instance Launch:
- Initializes and starts the container or VM with the specified parameters.
-
Disk Expansion (VM only):
- For VMs, the script expands the disk to the specified size.
- Restarts the VM and expands the filesystem inside it.
-
Completion:
- Displays information about the created instance.
- Saves additional logs to a file.
- Save the script to a file, e.g.,
create_lxd_instance.sh
. - Make the script executable:
chmod +x create_lxd_instance.sh
. - Run the script as root:
sudo ./create_lxd_instance.sh
. - Follow the instructions in the interactive menu to create a container or VM.
This script provides a convenient way to create and configure LXC containers and virtual machines with flexible parameters, automating many manual steps of the process.
!!! Внимание стабильно скрипт работает только с Ubuntu 22.04 и 24.04 , а также внутри VM и контейнерами Ubuntu
Client version: 5.21.3 LTS
Server version: 5.21.3 LTS
Перед использованием скрипта необходимо установить LXD/LXC на вашу систему Ubuntu 22.04(24.04). Выполните следующие шаги:
-
Обновите систему:
sudo apt update && sudo apt upgrade -y
-
Установите LXD:
sudo apt install lxd -y
-
Инициализируйте LXD:
sudo lxd init
Следуйте инструкциям мастера настройки, выбирая параметры по умолчанию или настраивая под свои нужды.
-
Добавьте вашего пользователя в группу lxd:
sudo usermod -aG lxd $USER
-
Перезагрузите сессию или систему, чтобы изменения вступили в силу.
Этот скрипт автоматизирует процесс создания LXC контейнеров или виртуальных машин с использованием LXD. Вот как он работает:
-
Подготовка и проверки:
- Скрипт настраивает логирование и обработку ошибок.
- Проверяет, запущен ли он от имени root.
- Устанавливает необходимые зависимости (dialog и jq).
-
Выбор источника образа:
- Пользователю предлагается выбрать между официальными образами Ubuntu и образами от LinuxContainers.org.
-
Выбор типа экземпляра:
- Пользователь выбирает между созданием контейнера или виртуальной машины.
-
Выбор образа ОС:
- Скрипт получает список доступных образов и предлагает пользователю выбрать конкретный образ.
-
Настройка параметров:
- Пользователь вводит имя экземпляра, размер диска, объем RAM и количество ядер CPU.
-
Создание и монтирование образа диска:
- Создается образ диска указанного размера.
- Форматируется в btrfs и монтируется.
- Добавляется запись в /etc/fstab для автоматического монтирования.
-
Создание пула хранения:
- Создается пул хранения LXD на основе созданного образа диска.
-
Запуск экземпляра:
- Инициализируется и запускается контейнер или VM с указанными параметрами.
-
Расширение диска (только для VM):
- Если создается VM, скрипт расширяет диск до указанного размера.
- Перезагружает VM и расширяет файловую систему внутри нее.
-
Завершение:
- Выводится информация о созданном экземпляре.
- Дополнительные логи сохраняются в файл.
- Сохраните скрипт в файл, например
create_lxd_instance.sh
. - Сделайте скрипт исполняемым:
chmod +x create_lxd_instance.sh
. - Запустите скрипт от имени root:
sudo ./create_lxd_instance.sh
. - Следуйте инструкциям в интерактивном меню для создания контейнера или VM.
Этот скрипт предоставляет удобный способ создания и настройки LXC контейнеров и виртуальных машин с гибкими параметрами, автоматизируя многие ручные шаги процесса.