Как настроить диски в Linux?

Ответ

Настройка дисков — базовая операция при подготовке сервера. Я выполняю её с помощью стандартных утилит, всегда проверяя устройство командой lsblk, чтобы не ошибиться.

Типичный процесс для добавления нового диска /dev/sdb:

  1. Создание раздела: Использую fdisk или parted для более современных GPT-таблиц.
    sudo fdisk /dev/sdb
    # В интерактивном режиме: n (новый раздел), p (primary), далее соглашаюсь с дефолтами, w (записать).
  2. Форматирование: Чаще всего форматирую в ext4 или XFS для данных.
    sudo mkfs.ext4 /dev/sdb1
    # Или для XFS: sudo mkfs.xfs /dev/sdb1
  3. Монтирование: Создаю точку монтирования и подключаю диск.
    sudo mkdir -p /data
    sudo mount /dev/sdb1 /data
  4. Автомонтирование при загрузке: Добавляю запись в /etc/fstab. Использую UUID (полученный через blkid), а не имя устройства, так как оно стабильнее.
    # Получаю UUID
    sudo blkid /dev/sdb1
    # Редактирую fstab
    sudo vim /etc/fstab
    # Добавляю строку:
    UUID=ваш-uuid-диска /data ext4 defaults,nofail 0 2

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

Для работы с LVM или программными RAID-массивами (mdadm) последовательность будет сложнее, но принцип тот же: разметка, создание ФС, монтирование, пропись в fstab.

Ответ 18+ 🔞

А, ну это ж классика, ёпта! Настройка дисков — это как вбить гвоздь в стену, только если перепутаешь, то вместо картины повесишь сервер на брудершафт. Я эту операцию делаю так часто, что уже во сне вижу команды. Главное правило — сначала посмотреть, что у тебя там валяется, командой lsblk. А то бывает, думаешь, что новый диск, а это системный раздел, и сейчас ты его отформатируешь, а потом сам от себя охуеешь.

Вот как обычно добавляю новый диск, например, /dev/sdb:

  1. Делаю раздел. Беру старый добрый fdisk, а если хочется по-модному с GPT, то parted. В fdisk всё просто: тыкаешь n (новый), p (primary), дальше жмёшь Enter, пока не надоест, и в конце w, чтобы записать. Главное — не промахнуться по устройству, а то будет вам хиросима и нигерсраки.
    sudo fdisk /dev/sdb
    # В интерактивном режиме: n (новый раздел), p (primary), далее соглашаюсь с дефолтами, w (записать).
  2. Форматирование. Тут уже как душа пожелает: ext4 — надёжная классика, а XFS — шустрая бестия для больших данных. Делаю и забываю.
    sudo mkfs.ext4 /dev/sdb1
    # Или для XFS: sudo mkfs.xfs /dev/sdb1
  3. Вешаю диск куда надо. Создаю папку, типа /data, и монтирую туда свежеиспечённый раздел. Всё, теперь там можно хранить что угодно, от логов до коллекции котиков.
    sudo mkdir -p /data
    sudo mount /dev/sdb1 /data
  4. А вот тут самый важный шаг — чтобы диск сам цеплялся при перезагрузке. Лезу в /etc/fstab. И запомни, чувак: всегда используй UUID, а не имена вроде /dev/sdb1. Потому что эти имена — ненадёжные суки, могут перепутаться после ребута, и тогда твоя система встанет колом, ожидая диск, который теперь зовётся по-другому. А параметр nofail — это святое, особенно в облаках. Без него, если диск на момент загрузки отвалится, система будет тупить и ждать его, как дура.
    # Получаю UUID
    sudo blkid /dev/sdb1
    # Редактирую fstab
    sudo vim /etc/fstab
    # Добавляю строку:
    UUID=ваш-uuid-диска /data ext4 defaults,nofail 0 2

Если тебе надо что-то посерьёзнее, вроде LVM или RAID из нескольких дисков (mdadm), то там, конечно, танцев с бубном овердохуища. Но суть та же: нарезал, склеил, отформатировал, примонтировал и прописал в fstab. Главное — делать это с умом, а не с криками «э, сабака, сука!», когда что-то пошло не так.