Storage-сервер¶
Использование storage-сервера в качестве сетевого диска/папки по протоколу NFS на ОС Linux¶
Информация
Протокол NFS (Network File System) - это протокол уровня приложений, позволяющий клиентам получать доступ к файлам на удаленном сервере по сети так, как если бы они были локальными. NFS использует модель "клиент-сервер", где сервер экспортирует одну или несколько директорий, а клиенты монтируют их в свою файловую систему. Протокол NFS обладает такими особенностями, как простота настройки, кроссплатформенность, транспарентный доступ к файлам, кэширование данных, масштабируемость, отказоустойчивость и безопасность, что в совокупности делает его очень удобным для использования в качестве протокола подключения к storage-серверам, позволяя легко и эффективно работать с данными на сетевом хранилище для пользователей из разных операционных систем.
Для использования storage-сервера в качестве сетевого диска/папки по протоколу NFS на ОС Linux необходимо:
-
Установить NFS сервер. Устанавливаем пакеты
nfs-kernel-server
иrpcbind
: -
Настроить экспорт каталогов. В конфигурационном файле
/etc/exports
прописываем разделяемые каталоги:Это действие разрешит доступ к чтению и записи к каталогу
/data
с указанной подсети. -
Перезапустить NFS-сервер командой:
-
Выполнить монтирование на локальном устройстве:
-
Настроить автоматическое монтирование при загрузке. Добавляем строку в
/etc/fstab
:Для проверки использования места можно использовать команду:
-
Для настройки автоматического резервного копирования помощью утилиты
rsync
, нужно добавить соответствующую команду вcrontab
(файл настроекcron
): -
Для создания резервной копии (дампа) базы данных MySQL можно использовать утилиту mysqldump:
Эта команда сохранит полную резервную копию базы данных mydb в файл
dump.sql
, расположенный по пути/mnt/nfs/dump.sql
. Параметр-u
указывает имя пользователя для подключения к MySQL,-p
запрашивает пароль. Для создания резервных копий в автоматическом режиме, можно настроить выполнение данной команды по расписанию с помощью утилиты cron.
Использование storage-сервера в качестве сетевого диска/папки по протоколу Samba на ОС Windows¶
Информация
Samba - это свободно распространяемое программное обеспечение, которое позволяет осуществлять взаимодействие между системами Linux/Unix и Windows в сети на уровне файлов и принтеров. Samba реализует протоколы SMB/CIFS, по которым работает совместный доступ к файлам в Windows. Это позволяет легко организовывать общий доступ к файлам и принтерам между компьютерами под управлением Linux и Windows.
Для использования storage-сервера в качестве сетевого диска/папки по протоколу Samba на Windows необходимо:
-
Установить на storage-сервер пакеты
samba
иsmbclient
: -
Создать папку, которая будет открыта для сетевого доступа, например
/mnt/share
: -
Добавить эту папку в конфигурационный файл samba:
Добавить в конце конфигурационного файла:
-
Перезапустить сервис Samba:
-
На локальном устройстве с ОС Windows открыть Проводник и выбрать вкладку Подключить сетевой диск:
-
Ввести путь до storage-сервера и сетевой папки Share:
После чего будет предложено ввести учетные данные для подключения к серверу и завершить создание подключения:
После успешного создания подключения сетевая папка будет видна в проводнике в разделе Сетевые расположения:
Если при работе с сетевой папкой возникают проблемы связанные с отсутствием прав на запись, следует проверить права для работы с папкой. Для этого можно использовать любой графический клиент протоколов SFTP и SCP, например, WinSCP:
После предоставления необходимых прав пользователю, сетевая папка будет доступна для записи:
-
Чтобы примонтировать диск, использовать команду:
-
Для отмонтирования:
-
Для мониторинга занятого места использовать команду
df
:
-
Для автоматического копирования данных настроить задание в
crontab
: -
Для бэкапа БД MSSQL использовать команду:
Использование storage-сервера из терминала при помощи утилит Rsync и SCP¶
Информация
Rsync и SCP - это утилиты командной строки в Linux и других Unix-подобных системах, предназначенные для передачи файлов по сети. Использование утилит Rsync и SCP и других для работы с файлами на удаленном storage-сервере из терминала позволяет решать множество задач:
- Автоматизация переноса и синхронизации файлов между серверами
- Резервное копирование данных на storage;
- Централизованное хранение и управление файлами;
- Быстрая и гибкая манипуляция файлами без графического интерфейса;
- Скриптование и пакетирование различных задач по работе с данными.
Преимущества использования Rsync перед SCP и FTP:
- Rsync работает быстрее за счет инкрементальной передачи файлов, передаются только изменения;
- Поддержка сжатия и экономия трафика;
- Возможность гибкой настройки параметров синхронизации;
- Поддержка продолжения прерванной передачи файлов;
- Удаленное зеркалирование каталогов.
Поэтому для решения задач резервного копирования, синхронизации и автоматизации Rsync чаще всего является оптимальным решением и предпочитается системными администраторами. Это мощный и гибкий инструмент управления файлами на удаленном хранилище.
Rsync¶
Rsync - утилита для синхронизации файлов и каталогов между узлами сети. Особенности Rsync:
- Синхронизирует как всю структуру каталогов, так и отдельные файлы.
- При повторной синхронизации передает только измененные части файлов.
- Использует алгоритм сжатия данных Deflate и библиотеку zlib.
- Экономно расходует пропускную способность канала.
- Реплицирует права доступа к файлам.
- Не требует прав root для работы.
- Подходит для резервного копирования и восстановления данных.
Примечание
В инструкции использовано условное обозначение - user@storage-server. При работе с удаленным сервером для подключения по SSH требуются имя пользователя, например root
, и IP-адрес сервера. Следовательно, при вводе команд из приведенных ниже примеров необходимо указывать свои учетные данные в формате user@IP-адрес
, например [email protected]
. IP-адрес сервера можно найти во вкладке Сеть в Invapi:
Для использования Rsync для работы с файлами на storage-сервере из терминала необходимо:
Примечание
В нашем примере используется пакетный менеджер apt
, предназначенный для использования в дистрибутивах Debian/Ubuntu. Для работы в дистрибутивах, основанных на Red Hat, используется пакетный менеджер yum
.
-
Установить Rsync на локальном устройстве:
-
Подключиться к storage-серверу. Для подключения по SSH лучше настроить авторизацию по ключам. Для генерации SSH-ключа можно использовать команду:
Затем скопировать ключ на storage-сервер:
-
Синхронизировать каталоги. Например, для синхронизации каталога
/data
со storage-сервером:Расшифровка ключей:
avz
:a
- архивный режим. Сохраняет символические ссылки, владельцев, группы, права доступа и временные метки;v
- вывод подробной информации. Выводит сообщения о процессе копирования файлов;z
- файлы копируются в сжатом виде для экономии трафика;
/data
- исходная локальная директория;user@storage-server:/backup/data
- целевая директория на удаленном сервере.
Таким образом, эта команда рекурсивно копирует каталог
/data
с локального компьютера в архивном режиме, с подробным выводом процесса и сжимая данные на удаленный сервер storage-server в каталог/backup/data
для пользователя user.Копирование выполняется по сети с сохранением всех атрибутов файлов.
-
Для полного зеркалирования каталога можно использовать дополнительный ключ
--delete
, необходимый для удаления лишних файлов:Расшифровка ключей:
avz
:a
- архивный режим. Сохраняет символические ссылки, владельцев, группы, права доступа и временные метки;v
- вывод подробной информации. Выводит сообщения о процессе копирования файлов;z
- файлы копируются в сжатом виде для экономии трафика;
-delete
- удаляет файлы в целевой директории/backup/data
, которых нет в исходной каталоге/data
;/data
- исходная локальная директория;user@storage-server:/backup/data
- целевая директория на удаленном сервере.
-
Выполнить резервное копирование с помощью опции
--backup
:Выполнение этой команды позволит сохранить старые версии измененных файлов. Например:
Эта команда создаст архивную копию каталога
/home/user/documents
на storage-сервер в/backup/documents
. Файлы будут скопированы в сжатом виде. При копировании будут созданы резервные копии уже существующих файлов с расширением .1.
SCP и FTP: протоколы передачи файлов¶
Для работы с файлами на удаленном storage-сервере из терминала можно использовать несколько протоколов передачи данных.
SCP (Secure Copy)¶
SCP позволяет зашифровано копировать файлы между хостами. Чтобы скопировать файл на storage-сервер, используется команда:
Для загрузки файла с сервера:
FTP (File Transfer Protocol)¶
Для подключения по FTP используется команда ftp
:
Загрузка файла на сервер:
Скачивание файла:
Использование storage-сервера с помощью SFTP- и FTP-клиентов¶
Storage-серверы используются для хранения и обмена данными. Однако, чтобы воспользоваться их преимуществами, необходим удобный и безопасный доступ к хранящимся на них файлам.
- SFTP (Secure File Transfer Protocol) и FTP (File Transfer Protocol) - это протоколы, используемые для передачи файлов между компьютерами по сети.
- SFTP является расширением протокола SSH и обеспечивает зашифрованную и безопасную передачу файлов. FTP использует простой текст без шифрования. SFTP более предпочтителен, когда требуется обеспечить конфиденциальность и целостность данных.
- SFTP- и FTP-клиенты - это программы, которые позволяют пользователю подключаться к SFTP- или FTP-серверам и управлять файлами на этих серверах. Популярные SFTP-клиенты: FileZilla, WinSCP, CyberDuck. Популярные FTP-клиенты: FileZilla, SmartFTP, WinSCP.
Примечание
Основное отличие между SFTP и FTP - использование шифрования. SFTP шифрует все соединения, обеспечивая безопасность данных. FTP передает данные как обычный текст, что создает риски перехвата и модификации. Кроме этого, SFTP использует SSH для аутентификации, а FTP - отдельные пароли.
WinSCP¶
Для использования WinSCP в ОС Windows необходимо:
-
Скачать и установить клиент WinSCP на локальное устройство с ОС Windows.
-
Запустить WinSCP. В окне Логин необходимо ввести следующие данные:
- Имя хоста: IP-адрес или доменное имя удаленного сервера;
- Номер порта: 22;
- Имя пользователя: логин на сервере;
- Пароль: пароль на сервере.
-
Нажать
Войтидля подключения к серверу. -
В левой панели будут файлы локального устройства, в правой - файлы на удаленном сервере:
-
Чтобы скопировать файл с компьютера на сервер - перетащите его мышью из левой панели в правую.
-
Для переноса файлов между сервером и локальным устройством достаточно перетащить их из одной панели в другую.
-
Для завершения работы необходимо нажать кнопку
Отключитьсяили закрыть программу. -
Все копирование файлов происходит зашифрованно через протокол SFTP. При желании возможно выбрать другой протокол для подключения:
FileZilla в ОС Linux¶
Для использования FileZilla в ОС Linux необходимо:
-
Установить FileZilla из репозиториев используемого дистрибутива Linux. Например, в Ubuntu:
-
Запустить FileZilla. В панели Быстрое подключение ввести данные:
- Хост: протокол (SFTP) и IP-адрес или домен storage-сервера (например
sftp://31.45.10.34
) - Порт: 22
- Имя пользователя: логин на сервере
- Пароль: пароль на сервере
- Хост: протокол (SFTP) и IP-адрес или домен storage-сервера (например
-
Нажать
Быстрое подключение. После успешного соединения слева отобразятся директории домашнего каталога локального устройства. -
Для переноса файлов между сервером и локальным устройством достаточно перетащить их из одной панели в другую.
-
Для завершения работы необходимо нажать кнопку
Отключиться.