Продолжаем рассматривать основные аспекты управления хранилищем в ОС Linux. Сегодня поговорим о SMB/CIFS, NFS, iSCSI, S3 и других технологиях. Первую часть можно прочитать здесь.
1. SMB/CIFS (Server Message Block / Common Internet File System)
SMB/CIFS — это сетевой протокол, используемый для общего доступа к файлам и принтерам в сетях Windows. В Linux он часто используется для интеграции с Windows-сетями или для создания файловых серверов.
Установка
Для работы с SMB/CIFS в Linux используется пакет samba. Установка: sudo apt install samba
Настройка
Редактируйте файл /etc/samba/smb.conf для создания общих ресурсов (шаров). Пример конфигурации:
[shared] path = /srv/samba/shared read only = no browsable = yes
Перезапустить службу: sudo systemctl restart smbd
Монтирование SMB/CIFS в Linux: используйте утилиту cifs-utils.
NFS — это протокол для общего доступа к файлам. Он позволяет монтировать удаленные файловые системы как локальные. Используется для совместного использования данных между серверами и клиентами в Linux-системах.
Установка и настройка
Установите NFS-сервер:
sudo apt install nfs-kernel-server
Настройте экспортируемые директории в /etc/exports:
/srv/nfs 192.168.1.0/24(rw,sync,no_subtree_check)
Перезапустите сервер:
sudo systemctl restart nfs-kernel-server
Монтирование NFS
Используйте команду mount:
sudo mount -t nfs server_ip:/srv/nfs /mnt
Логи сервера (если что-то пошло не так)
sudo journalctl -u nfs-server
3. iSCSI (Internet Small Computer Systems Interface)
iSCSI — это протокол для передачи команд SCSI через IP-сети. Он позволяет использовать удаленные диски как локальные. В Linux можно настраивать как таргет (сервер), так и инициатор (клиент).
Amazon S3 — это онлайн-сервис облачного хранилища от Amazon Web Services. Он позволяет хранить неограниченное количество данных, которые доступны из любой точки мира. Сервис поддерживает шифрование данных и гибкую политику доступа (через IAM). В Linux можно использовать S3-совместимые хранилища (например, MinIO) или работать с облачными провайдерами (AWS S3).
Использование S3 в Linux
Установите awscli для работы с AWS S3:
sudo apt install awscli
Настройте доступ:
aws configure
Примеры команд:
aws s3 ls s3://bucket-name aws s3 cp file.txt s3://bucket-name/
MinIO (S3-совместимое хранилище)
Установите MinIO:
wget https://dl.min.io/server/minio/release/linux-amd64/minio chmod +x minio ./minio server /data
Используйте mc (MinIO Client) для управления:
mc alias set myminio http://localhost:9000 access_key secret_key mc ls myminio/bucket
Другие технологии
LVM (Logical Volume Manager): управление логическими томами для гибкого распределения дискового пространства поверх физических устройств.
Btrfs и ZFS: современные файловые системы с поддержкой снапшотов, дедупликацией и встроенными функциями RAID.
Btrfs — подходит для локальных дисков с возможностью динамического расширения. ZFS — эффективен для серверных систем и больших хранилищ.
GlusterFS и Ceph: распределенные хранилища для больших объемов данных и высокодоступного хранения.
GlusterFS — прост в настройке, использует несколько серверов для репликации. Ceph — масштабируемая система с поддержкой объектов, блоков и файлов.
Rclone: универсальный клиент. Позволяет подключаться к множеству облачных сервисов (Google Drive, OneDrive и т.д.)
Управление хранилищем может показаться сложным для начинающего администратора — каждая технология имеет свои особенности, и разобраться во всем этом многообразии бывает непросто. На курсе «Администрирование Linux» мы выделили целую тему, посвященную эффективному управлению локальными и сетевыми хранилищами:
Основы управления дисками и файловыми системами
Использование LVM (Logical Volume Manager)
Настройка RAID массивов
Управление разделами дисков (fdisk, parted)
Практические задания
Старт нового потока курса — 24 марта. Ознакомиться с программой и присоединиться к изучению можно здесь.