Основные моменты при развертывании сервера с использованием LVM (logical volume manager) менеджера логических томов.

Установка Debian 12 и разбивка на разделы для работы сервера.
1. Запускаем установщик в VMware готового дистрибутива Debian 12;
2. Доходим до раздела разметка дисков
И выбираем Вручную

3. Выбираем диск VMware для последующий разметки

4. Создать новую пустую таблицу разделов на этом устройстве

5. Выбираем снова наш диск

6. Создаем новый раздел

7. Выбираем максимальное место нового раздела

Дальше идет разметка дисков: Первичный и Логический
Первичный раздел (Primary Partition)
Первичный раздел — это основной тип раздела на жестком диске. В контексте MBR можно создать до четырёх первичных разделов на одном физическом диске.
1) Основные характеристики первичных разделов:
2) Количество: На диске может быть максимум четыре первичных раздела.
3) Использование: Один из первичных разделов может быть помечен как активный, с которого загружается операционная система.
4) Прямая загрузка: Операционная система может загружаться непосредственно из первичного раздела.
5) Типы данных: Первичные разделы могут использоваться для хранения операционных систем, данных или других целей.
Логический раздел (Logical Partition)
Логический раздел — это подтип разделов, который существует внутри расширенного раздела (Extended Partition). Логические разделы используются для преодоления ограничения на количество первичных разделов.
Основные характеристики логических разделов:
Создание внутри расширенного раздела: Логические разделы создаются внутри единственного расширенного раздела, который сам является одним из первичных разделов.
Количество: Количество логических разделов практически не ограничено, что позволяет создавать гораздо больше разделов на одном физическом диске.
Использование: Логические разделы могут использоваться для хранения данных и установки программ, но не могут быть активными для загрузки операционной системы напрямую (это обычно делается через загрузчик, установленный на первичном разделе).
Гибкость: Логические разделы позволяют более гибко управлять дисковым пространством, особенно когда требуется более четырёх разделов на одном диске.
Различия между первичными и логическими разделами:
Число: Первичных разделов может быть до четырёх, логических — гораздо больше (внутри одного расширенного раздела).
Структура: Первичные разделы создаются непосредственно на диске, а логические находятся внутри расширенного раздела.
Загрузка ОС: Операционная система может загружаться непосредственно из первичного раздела, тогда как логический раздел для этого использоваться не может без посредничества загрузчика.
Гибкость: Логические разделы обеспечивают большую гибкость в управлении дисковым пространством, особенно при необходимости создания большого количества разделов.
8. Выбираем первичный раздел для создания раздела на нашем диске

9. Попадаем в разделы:
· Использовать как;
· Точка монтирования;
· Параметры монтирования;
· Метка;
· Зарезервированные блоки;
· Обычное использование;
· Метка ‘загрузочный’;
· Удалить раздел;
· Настройка раздела закончена;
10. Настройка диска

Пройдемся по настройкам.
1. Использовать как (Use as)
Этот параметр определяет файловую систему или тип раздела, который будет использоваться для данного раздела.
Примеры использования:
- ext4: Одна из самых популярных файловых систем для Linux.
- swap: используется как область подкачки для расширения оперативной памяти.
- NTFS, FAT32: для разделов, совместимых с Windows.
- EFI System Partition (ESP): Необходим для систем с UEFI.
Точка монтирования (Mount point)
Точка монтирования указывает, в какую часть файловой системы будет интегрирован данный раздел.
Примеры использования:
- / (корень): Основная точка монтирования для операционной системы.
- /home: Отдельный раздел для домашних директорий пользователей.
- /boot: Раздел, содержащий загрузочные файлы.
- /var, /opt, /mnt: Для других специфических целей или приложений.
Параметры монтирования (Mount options)
Эти параметры определяют различные опции монтирования раздела, такие как поведение при ошибках или использование кэширования.
Примеры использования:
- defaults: Стандартный набор опций монтирования.
- ro: Монтирование в режиме только для чтения.
- noatime: Отключение обновления времени доступа для повышения производительности.
- nodiratime: Отключение обновления времени доступа для директорий.
Метка (Label)
Метка раздела — это название, которое можно присвоить разделу для облегчения его идентификации.
Примеры использования:
- ROOT: Для корневого раздела.
- HOME: Для домашнего раздела.
- DATA: Для раздела с данными.
Зарезервированные блоки (Reserved blocks)
Этот параметр определяет количество блоков, зарезервированных для системного использования, таких как для суперпользователя или системы логирования.
Примеры использования:
- Зарезервированные блоки: Обычно составляет около 5% от общего пространства раздела.
Обычное использование (Typical usage)
Это поле описывает предполагаемое использование раздела, что может помочь системе оптимизировать его для конкретных задач.
Примеры использования:
- Стандартное использование (Standard): Обычные файлы и директории.
- Логирование (Logging): Разделы, используемые для хранения логов.
- Хранилище больших файлов (Large file storage): Для больших файлов, таких как видеозаписи.
Метка ‘загрузочный’ (Bootable flag)
Этот параметр устанавливает, является ли раздел загрузочным.
Примеры использования:
- Включить: Для разделов, с которых будет загружаться операционная система.
- Отключить: Для всех остальных разделов.
Удалить раздел (Delete partition)
Этот параметр позволяет удалить существующий раздел на диске.
Использование:
- Удаление: Выберите этот параметр, чтобы удалить выбранный раздел, освободив место для создания новых разделов или расширения существующих.
Настройка раздела закончена (Partition setup finished)
Этот параметр завершает настройку текущего раздела и возвращает вас к главному меню разметки диска.
Использование:
- Завершить: Когда вы закончили настройку параметров для текущего раздела, выберите этот параметр, чтобы подтвердить и сохранить изменения.
Переходим в раздел разметка и запись информации о разделах на диск.
Записать изменения на диск и настроить LVM нажимаем Продолжить.

Меню: кратко о имеющейся конфигурации LVM
В данном разделе мы и будем создавать тома.
Нажимаем создать группу томов

Введите название, которое вы хотите дать новой группе томов
Здесь мы задаем правильное название для группы томов, ориентируемся по задачам, которые будет выполнять сервер, в нашем же случае можно назвать vg_docker.
Снизу описаны более подробные описания правильных названий групп томов.
При создании группы томов (volume group, VG) в LVM важно выбрать имя, которое будет легко идентифицируемо и понятно в контексте вашей системы. Вот несколько рекомендаций для выбора правильного имени группы томов:
1. Описание назначения
Имя должно отражать назначение или содержимое группы томов.
- vg_data — для хранения данных.
- vg_os — для операционной системы.
- vg_backup — для резервных копий.
2. Использование стандартных префиксов
Стандартные префиксы помогают легко идентифицировать группы томов как таковые.
- vg_ — стандартный префикс для volume group.
- lvm_ — иногда также используется как префикс.
3. Указание имени сервера или хоста
Если у вас несколько серверов или хостов, указание их имени в группе томов может помочь в идентификации.
- vg_server1_data
- vg_webserver_os
4. Учитывание окружения
Для больших инфраструктур может быть полезно указывать окружение.
- vg_prod_db — для базы данных в производственной среде.
- vg_dev_web — для веб-приложений в среде разработки.
5. Использование сокращений
Сокращения помогают сократить длину имени, сохраняя при этом его смысл.
- vg_srv1_os вместо vg_server1_operating_system
- vg_bkp вместо vg_backup
Примеры хороших имен для групп томов:
vg_data — группа томов для данных.
vg_os — группа томов для операционной системы.
vg_home — группа томов для домашних директорий.
vg_backup — группа томов для резервных копий.
vg_websrv1 — группа томов для первого веб-сервера.
vg_prod_db — группа томов для базы данных в производственной среде.
vg_dev_app — группа томов для приложений в среде разработки
Выбираем устройство или несколько из списка, в данном случае это наш будущий диск.

Записываем изменения и нажимаем продолжить

Переходим к созданию логического тома:
Выбираем – создать логический том и нажимаем продолжить

Выбираем, и пишем раздел boot (необходим для загрузчика):

Как правило для загрузчика выделяют 512Мб

Раздел swap (файл подкачки) смотрим, сколько у нас есть оперативной памяти и отходим от нее.
Рекомендации:
· 2 ГБ оперативной памяти и минимальная нагрузка: 2 ГБ swap.
· 2 ГБ оперативной памяти и средняя/высокая нагрузка: 3-4 ГБ swap.
· Использование гибернации: 2 ГБ или чуть больше swap.

Ставим 2000МБ для swap

Раздел home.
Создание отдельного раздела /home на сервере может иметь как свои преимущества, так и недостатки, в зависимости от конкретных задач и требований к серверу. Рассмотрим основные моменты, которые помогут решить, нужно ли создавать отдельный раздел /home на сервере.
Преимущества отдельного раздела /home
1. Безопасность данных пользователей:
- Отдельный раздел /home позволяет защитить данные пользователей в случае сбоя системы. Если корневой раздел (/) переполнится или возникнут проблемы с файловой системой, данные пользователей останутся нетронутыми.
2. Упрощение резервного копирования:
- Отдельный раздел /home упрощает процесс резервного копирования данных пользователей. Можно настроить регулярное резервное копирование только этого раздела, что сэкономит время и ресурсы.
3. Гибкость управления пространством:
- Отдельный раздел /home позволяет более гибко управлять дисковым пространством, выделяя определённый объём для данных пользователей и предотвращая переполнение корневого раздела.
4. Легкость обновлений и миграций:
- При обновлении операционной системы или миграции на новый сервер, наличие отдельного раздела /home упрощает процесс, так как можно переустановить систему без затрагивания данных пользователей.
Недостатки отдельного раздела /home
1. Сложность настройки:
- Создание и управление несколькими разделами требует дополнительного времени и знаний. Неопытные администраторы могут столкнуться с трудностями при первоначальной настройке.
2. Нерациональное использование дискового пространства:
- Если неудачно выбрать размеры разделов, можно столкнуться с ситуацией, когда один раздел будет переполнен, а другой останется незаполненным. Это может привести к нерациональному использованию доступного дискового пространства.
В нашем случае мы используем на сервере только Docker и создаем dockerfile для удобного запуска, так что можно выделить некоторый объем под /home – 1GB


Создание корневого раздела /


Оставшиеся место выделяем под /var так как там хранятся временные файлы для нашего сервера.

По итогу должно выйти таким образом:
Нажимаем продолжить и создаем логический том

Нажимаем закончить

Итог разметки для томов выглядит таким образом:

Итоговое действие, выбираем для всех наших томов нужные разделы, для этого выбираем первый том на 511МБ нажимаем на него и выбираем:

Раздел – не использовать – нажимаем

Выбираем файловую систему EXT4 и нажимаем продолжить

Заходим в точку монтирования после данного действия и выбираем boot и продолжить


Настройка раздела закончена пункт выбираем и нажимаем – Продолжить

Повторяем такое же действие с другими томами.
Однако!!!
Для раздела swap выбираем РАЗДЕЛ ПОДКАЧКИ

По итогу наш диск должен быть таким:

Выбираем закончить разметку и записать изменения на диск и нажимаем Продолжить.

Соглашаемся с изменениями на таблице разделов:

Идет установка базовой системы

Настройка менеджера – нажимаем нет

Зеркало оставляем deb.debian.org

Пропускаем Прокси (если он есть, пишем необходимые данные)
Выбор программного обеспечения:
Выключаем все ненужное и оставляем SSH и стандартные системные утилиты:

Нажимаем продолжить.
Установка системного загрузчика GRUB. Устанавливаем на первичный диск.

Наш диск sda. Выбираем его и нажимаем продолжить.

После установки перезапускаем VMware. Входим под пользователя на сервере и пишем команду lsblk.
Если вы все сделали правильно вы увидите такую ветку:

Базовая установка и настройка Debian + Docker
1. Заходим по ssh на сервер, где у нас ssh username@ip
Ip адрес можно узнать командной ip a

Смотрим на сетевой интерфейс ens33 (у вас он может по другому называться), lo не используем, он нам для этого не нужен.
1. Зашли на сервер и переходим в режим root
su –
Обновляем пакеты:
apt update -y apt upgrade -y
Устанавливаем базовые программы
apt install htop mc vim sudo
Устанавливаем репозиторий Docker:
# Add Docker’s official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources: echo \ “deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ $(. /etc/os-release && echo “$VERSION_CODENAME”) stable” | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update
Устанавливаем сам Docker:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Проверяем работает ли Docker:
sudo docker run hello-world
Добавляем пользователя в группу докер, без необходимости использовать root каждый раз:
Создаем группу докер:
sudo groupadd docker
Добавляем пользователя
sudo usermod -aG docker $USER
Активируем изменения в группе
newgrp docker
Переключаемся в обычного пользователя
su username
Запускаем докер от обычного пользователя
docker run hello-world
Основные цели создания LVM:
Гибкое управление дисковым пространством:
Динамическое выделение пространства: LVM позволяет создавать логические тома, размер которых можно изменять “на лету” (без необходимости отключения томов или перезагрузки системы).
Легкость расширения: Диски в группе томов можно легко добавлять или удалять, что позволяет расширять или сокращать дисковое пространство без значительных простоев.
Для примера возьмём сервер с Debian 12 + Docker:
У нас есть виртуальная машина в VMware Vshere, Debian 12 на ней установлен Docker, заканчивается место в директории /var, нужно что-то делать, иначе перестанет функционировать сервер, для решения данной проблемы используется LVM, важный момент, при изначальном развертывании сервера LVM не используется, его нужно выбрать, так как в будущем не будет возможности его применить.
1. Добавляем в нашу Vshere новый диск, лучше всего выбирать по минимальному необходимому и добавлять по мере необходимости, так как если мы добавим изначально 1 ТБ к живой системе, нам нужно было отмонтировать раздел и остановить систему, что нам нельзя делать, в случае же если мы добавили мало, мы просто в следующий раз добавим изначальные 100 гб + 50 гб (пример) и по мере необходимости добавляем новые диски.
2. Заходим на сервер и через утилиту fdisk мы добавляем наш новый диск, создаем для него раздел и монтируем к необходимому каталогу.

Свежие комментарии