Блог Слёрм

Управление хранилищем в Linux. Часть 2

Продолжаем рассматривать основные аспекты управления хранилищем в ОС 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.

sudo apt install cifs-utils
sudo mount -t cifs //server_ip/shared /mnt -o username=user,password=pass

2. NFS (Network File System)

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 можно настраивать как таргет (сервер), так и инициатор (клиент).

  • Настройка iSCSI-сервера (target)

Установите targetcli:

sudo apt install targetcli

Настройте target и LUN (Logical Unit Number):

sudo targetcli
/> backstores/block create disk1 /dev/sdb
/> iscsi/ create iqn.2023-10.example:storage
/> iscsi/iqn.2023-10.example:storage/tpg1/luns/ create /backstores/block/disk1
/> iscsi/iqn.2023-10.example:storage/tpg1/acls/ create iqn.2023-10.client:initiator
/> exit

  • Настройка iSCSI-сервера (initiator)

Установите open-iscsi:

sudo apt install open-iscsi

Обнаружьте target:

sudo iscsiadm -m discovery -t sendtargets -p server_ip

Подключитесь к target:

sudo iscsiadm -m node -T iqn.2023-10.example:storage -p server_ip -l

  • Безопасность и оптимизация

Настройте CHAP-аутентификацию для защиты соединений

Используйте multipath для повышения отказоустойчивости

Мониторьте соединения с помощью:

journalctl -u iscsid (клиент)
journalctl -u tgt (сервер)

4. S3 (Simple Storage Service)

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 марта. Ознакомиться с программой и присоединиться к изучению можно здесь.

















Linux