Как изменить размер диска или его схему на вашем сервере Linux: Полное руководство

Изменение схемы разделов на сервере Linux – это задача, которая может потребоваться в различных ситуациях, таких как перераспределение места на диске, добавление новых разделов или настройка пространства для виртуальных серверов. Этот процесс особенно актуален для владельцев виртуальных частных серверов (VPS), где ресурсы ограничены, и их нужно эффективно использовать. В этом руководстве мы рассмотрим, как безопасно изменить схему разделов, используя командную строку, в том числе как уменьшить раздел на сервере Linux. Наши шаги применимы как для VPS, так и для других систем, таких как Найс ОС Linux.


Введение в разделы Linux

В Linux разделы представляют собой логические области диска, которые операционная система использует для хранения данных. Каждый раздел имеет свою файловую систему (например, ext4, XFS, Btrfs) и может быть смонтирован в определённую директорию файловой системы Linux. Понимание разделов и их структуры важно для эффективного управления дисковым пространством.

Разделы можно разбить на два типа:

  • Первичные разделы: это основные разделы, которых может быть не более четырёх на одном диске с традиционной схемой MBR. Один из них может быть расширенным, содержащим логические разделы.
  • Логические разделы: это разделы, создаваемые внутри расширенного раздела. Система видит их так же, как и первичные разделы, и для пользователя нет разницы в использовании.

При работе с VPS или физическим сервером может возникнуть необходимость изменить схему разделов. Например, если вам нужно уменьшить или увеличить размер раздела, добавить новый раздел или перераспределить место на существующих разделах. На практике это часто встречается, когда дисковое пространство ограничено, как в случае с виртуальными машинами. В этой статье мы рассмотрим все необходимые шаги для изменения разделов, их уменьшения или увеличения.

Предварительная подготовка

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

1. Выполнение резервного копирования

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

Для резервного копирования можно использовать инструменты, такие как rsync или tar, которые удобны для создания архива всех данных.


sudo rsync -a /important/data /backup/location

Или можно использовать tar для создания архива:


sudo tar -cvpzf backup.tar.gz /important/data

2. Проверка доступного места

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

3. Установка необходимых утилит

В большинстве современных дистрибутивов Linux предустановлены все необходимые утилиты для работы с разделами, такие как fdisk, parted и resize2fs. Однако, если каких-то инструментов нет, их можно установить с помощью пакетного менеджера. Например, если утилита parted отсутствует, установите её командой:


sudo tdnf install parted

Убедитесь, что у вас также установлены e2fsprogs, так как именно они включают resize2fs, необходимый для изменения размеров файловых систем ext3 и ext4.

4. Планирование времени для обслуживания

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

Шаг 1: Определение текущей схемы разделов

Прежде чем приступить к изменению разделов, важно получить полную информацию о текущей схеме разделов вашего диска. Для этого можно использовать команду lsblk, которая показывает иерархическую структуру всех дисков и разделов в системе:


lsblk

Пример вывода:


NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0    40G  0 disk 
├─sda1   8:1    0     1G  0 part /boot
└─sda2   8:2    0    39G  0 part /

Здесь видно, что на диске sda есть два раздела: sda1 (1 ГБ), который смонтирован как /boot, и sda2 (39 ГБ), который является корневым разделом системы.

Для получения более детальной информации можно использовать команду fdisk:


sudo fdisk -l

Эта команда покажет все разделы, включая файловые системы и смещения.

Шаг 2: Уменьшение файловой системы

Если вам нужно уменьшить размер раздела, прежде всего, необходимо уменьшить размер файловой системы, чтобы она соответствовала новому размеру раздела. В Linux это можно сделать с помощью утилиты resize2fs, которая работает с файловыми системами ext3 и ext4.

Прежде чем начать, убедитесь, что раздел, который вы собираетесь уменьшить, отмонтирован. Если это корневой раздел, вам придётся загрузиться с Live CD или использовать режим восстановления для выполнения изменений. Например, для отмонтирования раздела:


sudo umount /dev/sda2

После отмонтирования раздела можно использовать resize2fs для уменьшения размера файловой системы. Команда принимает новый желаемый размер в виде параметра. Например, чтобы уменьшить раздел до 20 ГБ:


sudo resize2fs /dev/sda2 20G

Этот процесс может занять некоторое время, в зависимости от размера файловой системы и количества данных на ней. По завершении команда вернёт сообщение об успехе или ошибке, если что-то пошло не так.

Совет:

Прежде чем уменьшать файловую систему, вы можете использовать команду df -h, чтобы проверить, сколько места занимает файловая система на данный момент:


df -h /dev/sda2

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

Шаг 3: Изменение размера раздела

Теперь, когда файловая система уменьшена, можно изменить размер самого раздела. Для этого воспользуемся утилитой fdisk. Мы будем удалять и пересоздавать раздел, но с новым размером. Не волнуйтесь, данные на разделах не будут потеряны, если вы правильно выполните все шаги.

Шаги для изменения размера раздела с помощью fdisk:

  1. Запустите fdisk для редактирования таблицы разделов диска:
  2. 
    sudo fdisk /dev/sda
    
  3. Проверьте текущие разделы с помощью команды p (print).
  4. Удалите раздел, который вы хотите изменить, используя команду d. Например, если это второй раздел, просто введите d и укажите номер раздела (в данном случае 2).
  5. Создайте новый раздел с помощью команды n. Следуйте инструкциям по созданию нового раздела. Укажите тот же номер раздела (например, 2 ), но задайте новый меньший размер, соответствующий уменьшенной файловой системе. Вы можете указать размер в гигабайтах (например, +20G).
  6. После создания раздела сохраните изменения, используя команду w.

После выполнения этих действий раздел будет пересоздан с новым размером. Теперь нужно выполнить проверку и коррекцию файловой системы.

Шаг 4: Проверка целостности файловой системы

После изменения раздела следует проверить целостность файловой системы, чтобы убедиться, что она корректно расположена на новом разделе. Для этого используйте команду e2fsck:


sudo e2fsck -f /dev/sda2

Эта команда выполнит полную проверку файловой системы и исправит любые ошибки, если они будут обнаружены.

Шаг 5: Увеличение файловой системы

Если размер раздела был увеличен или вы хотите, чтобы файловая система занимала всё пространство раздела, используйте команду resize2fs без указания размера. Эта команда автоматически расширит файловую систему до максимального доступного размера:


sudo resize2fs /dev/sda2

После выполнения команды resize2fs файловая система будет расширена, чтобы занять всё пространство раздела.

Шаг 6: Перезагрузка системы и проверка

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


sudo reboot

После перезагрузки проверьте новую схему разделов с помощью команды lsblk или df -h:


df -h

Команда df покажет обновлённую информацию о файловой системе, и вы увидите, что размер изменённого раздела теперь соответствует новому значению.

Увеличение разделов на LVM (Logical Volume Manager)

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

Сначала проверьте, какие логические тома и физические разделы присутствуют на вашем сервере, используя команду lvdisplay:


sudo lvdisplay

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

1. Уменьшение логического тома:

Если вам нужно уменьшить логический том, сначала уменьшите файловую систему с помощью resize2fs:


sudo resize2fs /dev/mapper/volume-group-name/logical-volume-name 20G

После этого уменьшите логический том с помощью команды lvreduce:


sudo lvreduce -L 20G /dev/mapper/volume-group-name/logical-volume-name

2. Увеличение логического тома:

Если вам нужно увеличить логический том, сначала увеличьте размер логического тома с помощью команды lvextend:


sudo lvextend -L +10G /dev/mapper/volume-group-name/logical-volume-name

Затем расширьте файловую систему, чтобы она заняла всё доступное пространство:


sudo resize2fs /dev/mapper/volume-group-name/logical-volume-name

Заключение

Изменение схемы разделов на сервере Linux – это важный и ответственный процесс, который требует аккуратного подхода. В данной статье мы рассмотрели пошаговое руководство по уменьшению раздела и перераспределению места на диске, используя такие инструменты, как fdisk, resize2fs и LVM. Эти шаги подходят как для VPS, так и для физических серверов, и могут быть использованы в различных дистрибутивах Linux, включая Найс ОС Linux.

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

Блог НАЙС ОС

Блог НАЙС ОС — это платформа для пользователей и разработчиков, где публикуются статьи, руководства и новости о мире Linux. Основное внимание уделено использованию, настройке и оптимизации ОС, а также обзору новых функций и технологий, доступных в дистрибутиве НАЙС ОС.