Добавить в корзинуПозвонить
Найти в Дзене
Слёрм

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

Продолжаем рассматривать основные аспекты управления хранилищем в ОС Linux. Сегодня поговорим о SMB/CIFS, NFS, iSCSI, S3 и других технологиях. Первую часть можно прочитать здесь.
1. Блок сообщений сервера/Server Message Block (SMB) и Общая файловая система Интернета/Common Internet File System (CIFS)
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 sudo apt install cifs-utils
sudo mount -t cifs //server_ip/shared /mnt -o username=user,password=pass
2. Сетевая файловая система/Network File System (NFS)
NFS — это протокол для общего дос

Продолжаем рассматривать основные аспекты управления хранилищем в ОС Linux. Сегодня поговорим о SMB/CIFS, NFS, iSCSI, S3 и других технологиях. Первую часть можно прочитать здесь.

1. Блок сообщений сервера/Server Message Block (SMB) и Общая файловая система Интернета/Common Internet File System (CIFS)

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. Сетевая файловая система/Network File System (NFS)

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. Интерфейс малых компьютерных систем интернета/Internet Small Computer Systems Interface (iSCSI)

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. Простой сервис хранения данных/Simple Storage Service (S3)

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/

  • Минималистичное объектное хранилище данных с открытым исходным кодом, совместимое с API Amazon S3 (MinIO)

Установите 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

  • Другие технологии

Менеджер логических томов/Logical Volume Manager (LVM): управление логическими томами для гибкого распределения дискового пространства поверх физических устройств.

Улучшенная файловая система (Btrfs) и Файловая система для больших объёмов данных (ZFS): современные файловые системы с поддержкой снапшотов, дедупликацией и встроенными функциями RAID.

Btrfs — подходит для локальных дисков с возможностью динамического расширения.
ZFS — эффективен для серверных систем и больших хранилищ.

Сетевая система хранения файлов (GlusterFS) и распределённая система хранения данных с открытым исходным кодом Цеф/Ceph: распределенные хранилища для больших объемов данных и высокодоступного хранения.

GlusterFS — прост в настройке, использует несколько серверов для репликации.
Ceph — масштабируемая система с поддержкой объектов, блоков и файлов.

Инструмент командной строки с открытым исходным кодом для управления файлами и синхронизации данных между локальной файловой системой и облачными хранилищами Рклон/Rclone: универсальный клиент. Позволяет подключаться к множеству облачных сервисов (Google Drive, OneDrive и т.д.)

Управление хранилищем может показаться сложным для начинающего администратора — каждая технология имеет свои особенности. Разобраться во всем этом многообразии вы сможете на курсе
«Администрирование ОС Linux». Мы выделили целую тему, посвященную эффективному управлению локальными и сетевыми хранилищами:

  • Основы управления дисками и файловыми системами
  • Использование LVM (Logical Volume Manager)
  • Настройка RAID массивов
  • Управление разделами дисков (fdisk, parted)
  • Практические задания