15. Управление хранилищем и дисками в Ubuntu Server: простое руководство

Введение

Управление хранилищем и дисками в Ubuntu Server — важнейший навык для администраторов, особенно в динамических средах, таких как облачные платформы (AWS, Azure, Google Cloud) или платформы виртуализации (VMware, Hyper-V, Proxmox). Такие задачи, как расширение системных дисков, инициализация дисков данных или оптимизация конфигураций хранилища, встречаются часто. Хотя средства автоматизации часто упрощают эти процессы, твёрдое понимание лежащих в их основе шагов необходимо для эффективного устранения неполадок и ручного вмешательства.

В этом руководстве мы рассмотрим управление хранилищем и дисками в Ubuntu Server, включая типы файловых систем, разбиение на разделы, форматирование и оптимизацию дисков. Благодаря практическим примерам, адаптированным как для физических, так и для виртуализованных сред, это руководство даст вам знания для эффективного решения задач управления хранилищем.


Предыдущие статьи:

01. Введение в Ubuntu Server – SysOSX: AI & Cloud

02. Как настроить первый сервер Ubuntu: руководство для начинающих – SysOSX: AI & Cloud

03. Освоение командной строки Linux для Ubuntu Server – SysOSX: AI & Cloud

04. Управление пользователями и разрешениями в Ubuntu Server: подробное руководство – SysOSX: AI & Cloud

05. Основы сетей для Ubuntu Server: подробное руководство – SysOSX: AI & Cloud

06. Установка программного обеспечения в Ubuntu Server и управление им: полное руководство – SysOSX: AI & Cloud

07. Установка исправлений и обновление Ubuntu Server: подробное руководство – SysOSX: AI & Cloud

08. Защита сервера Ubuntu: практические шаги по усилению защиты – SysOSX: AI & Cloud

09. Аудит и ведение журналов сервера Ubuntu

10. Инструменты мониторинга системы для Ubuntu Server: подробное руководство – SysOSX: AI & Cloud

11. Централизованное ведение журналов для сервера Ubuntu: обязательное руководство – SysOSX: AI & Cloud

12. Аудит и соответствие требованиям для Ubuntu Server: рекомендации – SysOSX: AI & Cloud

13. Настройка сервера Ubuntu для хостинга и веб-приложений: полное руководство – SysOSX: AI & Cloud

14. Размещение нескольких сайтов на одном сервере Ubuntu: полезные советы – SysOSX: AI & Cloud



Типы файловых систем

Файловая система определяет, как данные хранятся на диске и как к ним осуществляется доступ. Выбор правильной файловой системы важен для производительности, надёжности и совместимости. Ниже приведены наиболее распространённые файловые системы для серверов Ubuntu:

Распространённые файловые системы для Ubuntu

  1. Ext4 (четвёртая расширенная файловая система)
    • Файловая система по умолчанию для серверов Ubuntu.
    • Обеспечивает журналирование, поддержку больших файлов и отличную производительность.
    • Идеально подходит для рабочих нагрузок общего назначения.
    • Команда форматирования: sudo mkfs.ext4 /dev/sdX1
  2. XFS
    • Высокопроизводительная журналируемая файловая система, предназначенная для больших файлов и высоких нагрузок ввода-вывода.
    • Широко используется в корпоративных и облачных средах.
    • Команда форматирования: sudo mkfs.xfs /dev/sdX1
  3. Btrfs (файловая система B-Tree)
    • Продвинутая файловая система с поддержкой снимков, сжатия данных и возможностей RAID.
    • Подходит для сложных рабочих нагрузок и сред, требующих частого резервного копирования.
  4. NTFS
    • Используется в основном для совместимости со средами Windows.
    • Полезна для систем с двойной загрузкой или дисков, совместно используемых Linux и Windows.
  5. FAT32 и exFAT
    • Лёгкие файловые системы, используемые для съёмных накопителей и кроссплатформенной совместимости.

Выбор подходящей файловой системы

  • Ext4: Рабочие нагрузки общего назначения.
  • XFS: Высокопроизводительные рабочие нагрузки в корпоративных или облачных средах.
  • Btrfs: Расширенные функции, такие как снимки и сжатие.
  • NTFS/FAT32: Кроссплатформенная совместимость.

Разбиение дисков на разделы в Ubuntu Server

Разбиение на разделы делит физический диск на логические секции, обеспечивая лучшую организацию данных и управление ими. Это особенно полезно для разделения системных файлов, резервных копий и данных приложений.

Шаги по разбиению диска на разделы в Ubuntu Server

  • Определите диск:
    Используйте команду lsblk  чтобы вывести список всех доступных дисков и их разделов: lsblk
  • Создайте раздел:
    Используйте fdisk или parted чтобы создать новый раздел. Пример использования fdisk: sudo fdisk /dev/sdX
    • Нажмите n чтобы создать новый раздел.
    • Укажите размер и тип раздела.
    • Нажмите w чтобы записать изменения на диск.
  • Проверьте раздел:
    Запустите lsblk  ещё раз, чтобы убедиться, что новый раздел создан.

Форматирование дисков данных в Ubuntu Server

Форматирование подготавливает раздел к использованию путём создания файловой системы.

Шаги по форматированию диска данных в Ubuntu Server

  • Установите необходимые инструменты:
    Убедитесь, что утилита mkfs  установлена (входит по умолчанию в большинство дистрибутивов).
  • Отформатируйте раздел:
    Используйте команду mkfs чтобы отформатировать раздел. Пример: sudo mkfs.ext4 /dev/sdX1
  • Создайте точку монтирования:
    Важное примечание: В облачных средах избегайте использования /mnt в качестве точки монтирования. Каталог /mnt часто зарезервирован для временных дисков на облачных платформах (таких как Azure или AWS), которые могут быть очищены при перезагрузке или обновлении системы. Вместо этого используйте собственный каталог, например /data или /storage. Пример:
sudo mkdir /data
  • Смонтируйте раздел:
    Смонтируйте отформатированный раздел в только что созданный каталог:
sudo mount /dev/sdX1 /data
  • Сохраните монтирование:
    Чтобы раздел монтировался автоматически при загрузке, добавьте его в файл /etc/fstab:
echo '/dev/sdX1 /data ext4 defaults 0 2' | sudo tee -a /etc/fstab  

Сохранение монтирования: использование UUID в облачных средах

Чтобы раздел монтировался автоматически при загрузке, необходимо добавить его в файл /etc/fstab. Однако в облачных средах рекомендуется использовать UUID (универсальный уникальный идентификатор) для монтирования дисков вместо прямой ссылки на имя устройства (например, /dev/sdX1). Имена устройств могут измениться после перезагрузки системы, особенно в виртуализованных или облачных средах, что может привести к сбоям монтирования. Использование UUID обеспечивает последовательное и надёжное монтирование.

Шаги по сохранению монтирования с помощью UUID

  • Найдите UUID раздела:
    Используйте команду blkid чтобы получить UUID раздела:
sudo blkid
  • Пример вывода:
/dev/sdX1: UUID="123e4567-e89b-12d3-a456-426614174000" TYPE="ext4"
  • Отредактируйте файл /etc/fstab:
    Добавьте в файл /etc/fstab запись с использованием UUID вместо имени устройства.
    Пример: echo 'UUID=123e4567-e89b-12d3-a456-426614174000 /data ext4 defaults 0 2' | sudo tee -a /etc/fstab
  • Проверьте конфигурацию:
    Проверьте конфигурацию, размонтировав раздел и смонтировав его снова с помощью команды mount -a:
sudo umount /data  
sudo mount -a  

  • Перезагрузите и подтвердите:
    Перезагрузите систему, чтобы убедиться, что диск правильно монтируется при запуске: sudo reboot

Зачем использовать UUID в облачных средах?

  • Последовательность: Имена устройств, такие как /dev/sdX, могут измениться после перезагрузки из-за динамического перечисления устройств на облачных платформах.
  • Надёжность: UUID уникальны для каждого раздела и остаются постоянными, что обеспечивает надёжное монтирование.
  • Рекомендация: Облачные провайдеры, такие как AWS, Azure и Google Cloud, рекомендуют использовать UUID или метки для монтирования дисков в производственных средах.

Облачные сценарии и сценарии виртуализации: расширение и инициализация дисков

Сценарий 1: расширение системного диска

На облачных платформах, таких как AWS, Azure или Google Cloud, системные диски можно расширять с физического уровня. Многие платформы автоматически обнаруживают системный диск и расширяют его. Однако для изменения размера файловой системы, чтобы использовать новое пространство, может потребоваться ручное вмешательство.

Шаги по расширению системного диска в Ubuntu Server:

  1. Проверьте дисковое пространство:
    Проверьте расширенное дисковое пространство с помощью lsblk: lsblk
  2. Измените размер файловой системы:
    Используйте resize2fs  для файловых систем Ext4: sudo resize2fs /dev/sdX1

Сценарий 2: инициализация диска данных, см. предыдущий раздел


Мониторинг и оптимизация использования диска

Мониторинг использования диска

  1. Проверьте использование дискового пространства:
    Используйте команду df, чтобы отобразить использование дискового пространства: df -h
  2. Проанализируйте использование каталогов:
    Используйте команду du, чтобы проверить размер определённых каталогов: du -sh /var/log
  3. Расширенный мониторинг:
    Установите ncdu для интерактивного анализа использования диска:
sudo apt install ncdu 
ncdu /

Оптимизация использования диска

  • Удалите временные файлы:
sudo apt-get autoclean  
sudo apt-get clean  
sudo apt-get autoremove  

  • Поиск больших файлов, занимающих дисковое пространство
    Находите большие файлы с помощью find команды:
sudo find / -type f -size +100M

Источники

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

  • Установите и настройте MySQL или MariaDB для своих приложений.
  • Защитите сервер баз данных, чтобы обезопасить конфиденциальные данные.
  • Оптимизируйте производительность базы данных для производственных сред.

Развёртываете ли вы базы данных в облаке или локально, это руководство предоставит практические рекомендации, которые помогут вам эффективно управлять инфраструктурой баз данных.

Не пропустите — следите за новостями!

5 thoughts on “15. Managing Storage and Disks on Ubuntu Server: Simple Guide”

Оставить комментарий