Как примонтировать диск в Linux
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Монтирование дисков в Linux: полное руководство
Монтирование дисков в Linux — фундаментальная операция, которую я выполнял тысячи раз за свою карьеру DevOps. В отличие от Windows, где диски автоматически получают буквы, в Linux требуется явное монтирование — процесс связывания файловой системы устройства с определенной точкой в дереве каталогов.
Основные этапы монтирования
1. Идентификация диска
Сначала нужно определить, какие диски доступны в системе:
# Просмотр всех блочных устройств
lsblk
# Более детальная информация
sudo fdisk -l
# Информация о UUID (универсальный уникальный идентификатор)
sudo blkid
lsblk — мой основной инструмент, так как он показывает древовидную структуру дисков, разделов и их точек монтирования.
2. Создание точки монтирования
Точка монтирования — это обычный каталог, куда будет "привязана" файловая система:
# Создание каталога для монтирования
sudo mkdir /mnt/mydisk
# Или в домашнем каталоге (для съемных носителей)
mkdir ~/external_drive
3. Монтирование диска
Основная команда для монтирования:
# Базовое монтирование
sudo mount /dev/sdb1 /mnt/mydisk
# Монтирование с указанием типа файловой системы
sudo mount -t ext4 /dev/sdb1 /mnt/mydisk
# Монтирование с опциями (read-only в данном случае)
sudo mount -o ro /dev/sdb1 /mnt/mydisk
Автоматическое монтирование через /etc/fstab
Для автоматического монтирования при загрузке системы используется файл /etc/fstab:
# Пример записи в /etc/fstab
UUID=123e4567-e89b-12d3-a456-426614174000 /mnt/data ext4 defaults 0 2
Формат записи:
- UUID устройства или путь (/dev/sdb1)
- Точка монтирования
- Тип файловой системы (ext4, xfs, ntfs, vfat)
- Опции монтирования (defaults, nofail, noexec)
- Поле dump (обычно 0)
- Порядок проверки fsck (0 - не проверять, 1 для root, 2 для остальных)
Критические опции монтирования
В DevOps-среде особенно важны:
- nofail — система загрузится даже если диск недоступен
- noexec — запрет выполнения бинарных файлов с диска (безопасность)
- nosuid — игнорирование битов SUID/SGID
- defaults — стандартные опции: rw, suid, dev, exec, auto, nouser, async
Работа со съемными носителями
Современные дистрибутивы часто автоматически монтируют USB-диски в /media/ или /run/media/, но для тонкого контроля:
# Монтирование FAT32/NTFS (Windows диски)
sudo mount -t vfat /dev/sdc1 /mnt/usb -o uid=1000,gid=1000,umask=022
Управление LVM-дисками
В enterprise-среде часто используется LVM (Logical Volume Manager):
# Активация группы томов
sudo vgchange -ay vg_name
# Монтирование логического тома
sudo mount /dev/vg_name/lv_name /mnt/data
Размонтирование и устранение проблем
Важно: Перед физическим отключением всегда размонтируйте диск:
# Базовое размонтирование
sudo umount /mnt/mydisk
# Если устройство занято (lsof поможет найти процесс)
sudo lsof +f -- /mnt/mydisk
sudo umount -l /mnt/mydisk # ленивое размонтирование
Советы из практики DevOps
- Всегда используйте UUID в /etc/fstab, так как имена вроде /dev/sdb1 могут меняться при перезагрузке
- Для NFS/CIFS сетевых дисков добавляйте опцию
_netdevв fstab - Мониторинг свободного места — настройте алерты при заполнении дисков более чем на 80-90%
- Используйте /etc/mtab или
mountбез параметров для просмотра текущих точек монтирования - Для docker-контейнеров используйте volumes или bind-mounts вместо прямого монтирования в host-систему
Пример скрипта для автоматизации
#!/bin/bash
# Скрипт безопасного монтирования бэкап-диска
DISK_UUID="123e4567-e89b-12d3-a456-426614174000"
MOUNT_POINT="/backup"
# Проверка существования точки монтирования
if [ ! -d "$MOUNT_POINT" ]; then
mkdir -p "$MOUNT_POINT"
chmod 750 "$MOUNT_POINT"
fi
# Проверка, не смонтирован ли уже диск
if mountpoint -q "$MOUNT_POINT"; then
echo "Диск уже смонтирован в $MOUNT_POINT"
exit 0
fi
# Монтирование с обработкой ошибок
if mount UUID="$DISK_UUID" "$MOUNT_POINT"; then
echo "Диск успешно смонтирован"
# Проверка свободного места
df -h "$MOUNT_POINT"
else
echo "Ошибка монтирования!" >&2
exit 1
fi
Правильное монтирование дисков — критически важный навык для DevOps, особенно при работе с облачными инстансами, где добавление дисков происходит регулярно. Всегда тестируйте записи в fstab с опцией nofail сначала, и помните, что mount -a применяет все изменения из fstab без перезагрузки.