🔹 Теоретическая часть: Основы работы с накопителями
1.1. Что такое система хранения в Linux?
Система хранения в Linux — это комплекс компонентов для управления физическими и логическими накопителями, включая диски, разделы, файловые системы и точки монтирования.
Архитектура системы хранения:
- Блочные устройства — физические диски (/dev/sda, /dev/sdb)
- Разделы — логические части дисков (/dev/sda1, /dev/sda2)
- Файловые системы — структуры для организации данных (ext4, XFS, Btrfs)
- Точки монтирования — каталоги для доступа к файловым системам
1.2. Типы накопителей и их особенности
Жесткие диски (HDD):
- ✅ Большой объем (до 20 ТБ+)
- ✅ Низкая стоимость за гигабайт
- ⚠ Медленная скорость (100-200 МБ/с)
- ⚠ Механические части
Твердотельные накопители (SSD):
- ✅ Высокая скорость (500 МБ/с - 7 ГБ/с)
- ✅ Отсутствие механических частей
- ⚠ Высокая стоимость за гигабайт
- ⚠ Ограниченный ресурс записи
NVMe накопители:
- ✅ Очень высокая скорость (3-7 ГБ/с)
- ✅ Низкая задержка
- ⚠ Требуют специальный разъем M.2
- ⚠ Высокая стоимость
1.3. Области применения различных конфигураций
Домашнее использование:
- Один SSD для системы + HDD для данных
- Быстрая загрузка и работа системы
- Экономичное хранение больших объемов
Серверные решения:
- RAID-массивы для отказоустойчивости
- SSD для баз данных и кэша
- HDD для архивного хранения
Рабочие станции:
- Быстрые NVMe для активной работы
- Внешние накопители для бэкапов
- Сетевые хранилища (NAS)
🔹 Практическая часть: Управление накопителями в Debian
🔹 2. Определение и идентификация накопителей
2.1. Просмотр информации о дисках
# Просмотр всех блочных устройств
lsblk
# Детальная информация о дисках
sudo fdisk -l
# Информация о размерах и использовании
df -h
# Информация о UUID файловых систем
sudo blkid
2.2. Пример вывода lsblk:
2.3. Понимание имен устройств
Схема именования:
- /dev/sdX — SATA/SAS/USB диски (sda, sdb, sdc...)
- /dev/nvmeXnY — NVMe диски (nvme0n1, nvme0n1p1...)
- /dev/hdX — Устаревшие IDE диски
Обозначения разделов:
- /dev/sda1 — первый раздел на первом диске
- /dev/sdb2 — второй раздел на втором диске
🔹 3. Файловые системы Linux
3.1. Сравнение файловых систем
3.2. Характеристики файловых систем
ext4 (Fourth Extended Filesystem):
- ✅ Максимальный размер файла: 16 ТБ
- ✅ Максимальный размер ФС: 1 ЭБ (эксабайт)
- ✅ Журналируемая
- ✅ Стабильная и проверенная
XFS:
- ✅ Максимальный размер файла: 8 ЭБ
- ✅ Максимальный размер ФС: 8 ЭБ
- ✅ Высокая производительность с большими файлами
- ✅ Онлайн-дефрагментация
Btrfs (B-Tree Filesystem):
- ✅ Snapshots и клонирование
- ✅ Встроенное сжатие
- ✅ RAID поддержка
- ✅ Проверка целостности данных
🔹 4. Подключение второго жесткого диска
4.1. Определение нового диска
В Linux совсем непохожая на Windows система обозначения дисков. Вместо привычных дисков C, D, E и так далее, в Linux диски это устройства в папке /dev/. В dev вообще все возможные устройства, даже весьма экзотические, не существующие в Windows.
Чтобы посмотреть доступные диски, можно при помощи следующих команд:
# После подключения диска проверяем
sudo dmesg | grep -i sd
# Или используем lsblk для просмотра всех дисков
lsblk
Как видно из скриншота, имеется диск /dev/sda. Затем перечислены два устройства /dev/sda1 и /dev/sda2, а так же /dev/sda5 . По совпадающему части названия sda можно понять, что это разделы, на которые разделён диск /dev/sda.
Также имеется диск /dev/sdb, который не разделён ни на какие разделы — именно его и нужно подключать.
# Проверяем, видит ли система новый диск
sudo fdisk -l | grep -i disk
4.2. Создание разделов на новом диске
Разметка дисков (разделение на разделы) в Linux
В консоли диск можно разбить на разделы командой cfdisk. После неё укажите имя диска, с которым вы хотите выполнить действия:
sudo cfdisk /dev/sdb
Диск может быть GPT или MBR (показывается как dos). Вы без труда найдёте множество информации об этих таблицах разделов в Интернете. Только отмечу, что GPT является более современной и имеет больше возможностей. Поэтому если не нужно работать со старым железом, которое понимает только MBR, то выбираем GPT.
Для создания диска выберите Новый
Введите его размер, если нужен только 1 раздел, то просто нажмите ВВОД, если нужно несколько то укажите размер 1 раздела, после завершения переместитесь вниз на свободное место и повторяйте эти действия по созданию разделов. Когда закончите, выберите Запись. .
Если нужно, поменяйте тип раздела:
4.3. Создание файловой системы
Для ext4:
# Создание файловой системы ext4
sudo mkfs.ext4 /dev/sdb1
# С меткой (label) для удобства
sudo mkfs.ext4 -L "data_disk" /dev/sdb1
Для XFS:
# Создание файловой системы XFS
sudo mkfs.xfs /dev/sdb1
# С меткой
sudo mkfs.xfs -L "fast_storage" /dev/sdb1
Для Btrfs:
# Создание файловой системы Btrfs
sudo mkfs.btrfs /dev/sdb1
# С меткой
sudo mkfs.btrfs -L "backup_disk" /dev/sdb1
4.4. Создание точки монтирования
# Создание директории для монтирования
sudo mkdir /mnt/data
# Назначение правильных прав
sudo chmod 755 /mnt/data
4.5. Монтирование диска
Временное монтирование:
Монтирование и размонтирование дисков
С дисками в /dev/ нельзя работать напрямую, то есть нельзя на них записывать файлы или копировать с них файлы. Для работы с ними их нужно смонтировать. Это делается командой mount.
Диск подключается к точке монтирования и уже в этой папке можно работать с содержимом диска.
Эта концепция может показаться непривычной пользователям Windows, но это очень удобно! Диск можно смонтировать в любую папку. Например, домашняя папка может быть на другом диске — удобно при переустановке системы — данные не нужно копировать в безопасное место, поскольку они уже на другом диске.
Для монтирования используется команда вида:
sudo mount /dev/имя_раздела /точка/монтирования/
# Монтирование вручную
sudo mount /dev/sdb1 /mnt/data
# Проверка монтирования
df -h /mnt/data
Постоянное монтирование через /etc/fstab:
# Редактируем fstab
sudo nano /etc/fstab
# Добавляем строку (выберите подходящий вариант):
Вариант 1: По UUID (рекомендуется)
# Получаем UUID диска
sudo blkid /dev/sdb1
# Добавляем в fstab
UUID=844b39af-f4c0-48a9-bc72-2e9121c1f811 /mnt/data ext4 defaults 0 2
Вариант 2: по имени устройства (не рекомендуется, так как имя может поменяться).
/dev/sdb1 /mnt/data ext4 defaults 0 2
Вариант 3: С дополнительными опциями
UUID=844b39af-f4c0-48a9-bc72-2e9121c1f811 /mnt/data ext4 defaults,noatime,nodiratime 0 2
4.6. Проверка и применение настроек
# Проверка синтаксиса fstab
sudo mount -a
# Если ошибок нет - перезагружаем или проверяем
df -h
# Проверка прав доступа
ls -la /mnt/data/
🔹 5. Параметры монтирования в /etc/fstab
5.1. Структура записи в fstab
Поле 1: Устройство - UUID=xxxx-xxxx
Поле 2: Точка монтирования - /mnt/data
Поле 3: ФС - ext4
Поле 4: Опции - defaults
Поле 5: Дамп - 0
Поле 6: Проверка - 2
5.2. Основные параметры монтирования
5.3. Специфичные параметры для разных ФС
Для ext4:
defaults,noatime,nodiratime,errors=remount-ro
Для SSD:
defaults,noatime,nodiratime,discard
Для сетевых ФС:
defaults,_netdev,auto
🔹 6. Управление разделами и LVM
6.1. Использование LVM (Logical Volume Manager)
Преимущества LVM:
- Гибкое управление размерами разделов
- Возможность создания снапшотов
- Объединение нескольких дисков
- Легкое изменение размеров
Установка LVM:
sudo apt update
sudo apt install -y lvm2
6.2. Создание LVM на новом диске
# Создание физического тома
sudo pvcreate /dev/sdb1
# Создание группы томов
sudo vgcreate vg_data /dev/sdb1
# Создание логического тома
sudo lvcreate -n lv_storage -l 100%FREE vg_data
# Создание файловой системы
sudo mkfs.ext4 /dev/vg_data/lv_storage
6.3. Монтирование LVM тома
# Создание точки монтирования
sudo mkdir /mnt/lvm_data
# Добавление в fstab
/dev/vg_data/lv_storage /mnt/lvm_data ext4 defaults 0 2
# Монтирование
sudo mount -a
🔹 7. Мониторинг и обслуживание
7.1. Проверка целостности файловых систем
# Проверка ext4
sudo fsck.ext4 -f /dev/sdb1
# Проверка XFS (только для чтения)
sudo xfs_repair -n /dev/sdb1
# Проверка Btrfs
sudo btrfs check /dev/sdb1
7.2. Мониторинг использования диска
# Общее использование
df -h
# Детальная информация по директориям
du -sh /mnt/data/*
# Поиск больших файлов
find /mnt/data -type f -size +100M -exec ls -lh {} \;
7.3. Оптимизация производительности
Для SSD дисков:
# Включение TRIM в fstab
defaults,discard
# Ручной TRIM
sudo fstrim /mnt/data
Настройка noatime:
# В fstab для увеличения производительности
defaults,noatime,nodiratime
🔹 8. Резервное копирование конфигурации
8.1. Резервное копирование fstab
# Создание резервной копии fstab
sudo cp /etc/fstab /etc/fstab.backup.$(date +%Y%m%d)
# Восстановление из резервной копии
sudo cp /etc/fstab.backup.20231215 /etc/fstab
8.2. Скрипт для автоматизации добавления дисков
#!/bin/bash
# add-disk.sh
DISK=$1
MOUNT_POINT=$2
FS_TYPE=${3:-ext4}
LABEL=$4
echo "Добавление диска $DISK в систему..."
# Создание раздела
echo -e "n\np\n1\n\n\nw" | sudo fdisk $DISK
# Создание файловой системы
if [ -n "$LABEL" ]; then
sudo mkfs.$FS_TYPE -L $LABEL ${DISK}1
else
sudo mkfs.$FS_TYPE ${DISK}1
fi
# Создание точки монтирования
sudo mkdir -p $MOUNT_POINT
# Получение UUID
UUID=$(sudo blkid -s UUID -o value ${DISK}1)
# Добавление в fstab
echo "UUID=$UUID $MOUNT_POINT $FS_TYPE defaults 0 2" | sudo tee -a /etc/fstab
# Монтирование
sudo mount -a
echo "Диск $DISK успешно добавлен и смонтирован в $MOUNT_POINT"
Использование скрипта:
sudo bash add-disk.sh /dev/sdb /mnt/data ext4 data_disk
🔹 9. Устранение неисправностей
9.1. Типичные проблемы и решения
9.2. Команды диагностики
# Просмотр логов ядра
sudo dmesg | grep -i sd
# Проверка SMART статуса
sudo apt install -y smartmontools
sudo smartctl -a /dev/sdb
# Проверка производительности
sudo hdparm -Tt /dev/sdb
🔹 Заключение
Итоги настройки:
✅ Определен и идентифицирован новый жесткий диск
✅ Создан раздел и файловая система
✅ Настроено автоматическое монтирование через /etc/fstab
✅ Проверена работоспособность и производительность
✅ Настроено резервное копирование конфигурации
Ключевые принципы работы с накопителями:
- Всегда используйте UUID в fstab вместо имен устройств
- Регулярно проверяйте целостность файловых систем
- Настраивайте мониторинг использования дискового пространства
- Используйте LVM для гибкого управления дисковым пространством
- Создавайте резервные копии важных данных и конфигураций
Рекомендации по выбору файловых систем:
- Для системных разделов — ext4 (стабильность)
- Для файловых серверов — XFS (производительность)
- Для резервных копий — Btrfs (snapshots)
- Для SSD дисков — ext4 с опцией discard
Пример команды для ежедневной проверки:
#!/bin/bash
# disk-health-check.sh
echo "=== Disk Usage ==="
df -h
echo -e "\n=== Disk Health ==="
for disk in /dev/sd?; do
echo "Checking $disk:"
sudo smartctl -H $disk | grep "SMART overall-health"
done
Теперь ваш второй жесткий диск правильно подключен, отформатирован и готов к использованию в системе Debian.