Однонодовый файловый сервер с помощью консоли управления
Чтобы создать инфраструктуру для однонодового файлового сервера с помощью консоли управления Yandex Cloud:
- Подготовьте облако к работе.
- Создайте группу безопасности.
- Создайте виртуальную машину для файлового сервера.
- Настройте Samba и NFS.
- Протестируйте работу файлового сервера.
Если созданные ресурсы вам больше не нужны, удалите их.
Перед началом работы
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVEилиTRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
Необходимые платные ресурсы
В стоимость поддержки однонодового файлового сервера входит:
- плата за постоянно запущенную ВМ (см. тарифы Yandex Compute Cloud);
- плата за использование динамического или статического публичного IP-адреса (см. тарифы Yandex Virtual Private Cloud);
- плата за исходящий трафик (см. тарифы Yandex Virtual Private Cloud).
Подготовьте сетевую инфраструктуру
- Перейдите в консоль управления
Yandex Cloud и выберите каталог, в котором будете выполнять операции. - Убедитесь, что в выбранном каталоге есть сеть с подсетью, к которой можно подключить виртуальную машину. Для этого на странице каталога выберите сервис Virtual Private Cloud. Если в списке есть сеть — нажмите на нее, чтобы увидеть доступные подсети. Если ни одной подсети или сети нет, создайте их.
Создайте группу безопасности
Чтобы создать группу безопасности для файлового сервера:
-
В консоли управления
выберите сервис Virtual Private Cloud. -
Откройте вкладку Группы безопасности.
-
Создайте группу безопасности:
-
Нажмите кнопку Создать группу безопасности.
-
В поле Имя укажите имя группы:
fileserver-sg. -
В поле Сеть выберите сеть, в которой расположена ВМ
fileserver-tutorial. -
В блоке Правила создайте следующие правила по инструкции под таблицей:
Направление
трафикаОписание Диапазон портов Протокол Назначение /
ИсточникCIDR блоки Исходящий anyВесьЛюбойCIDR0.0.0.0/0Входящий ssh22TCPCIDR0.0.0.0/0Входящий ext-http80TCPCIDR0.0.0.0/0Входящий ext-https443TCPCIDR0.0.0.0/0Входящий nfs2049TCPCIDR0.0.0.0/0- Выберите вкладку Исходящий трафик или Входящий трафик.
- Нажмите кнопку Добавить правило.
- В открывшемся окне в поле Диапазон портов укажите один порт или диапазон портов, куда или откуда будет поступать трафик. Чтобы открыть все порты, нажмите Выбрать весь диапазон.
- В поле Протокол укажите нужный протокол или оставьте Любой, чтобы разрешить передачу трафика по всем протоколам.
- В поле Назначение или Источник выберите
CIDR— правило будет применено к диапазону IP-адресов. В поле CIDR блоки укажите0.0.0.0/0. - Нажмите кнопку Сохранить. Таким образом создайте все правила из таблицы.
-
Нажмите кнопку Сохранить.
-
Создайте виртуальную машину для файлового сервера
Чтобы создать виртуальную машину:
-
В консоли управления
выберите каталог, в котором будет создана ВМ. -
В списке сервисов выберите Compute Cloud.
-
На панели слева выберите
Виртуальные машины. -
Нажмите кнопку Создать виртуальную машину.
-
Выберите вариант Расширенная настройка.
-
В блоке Образ загрузочного диска выберите публичный образ Ubuntu.
-
В блоке Расположение выберите зону доступности, в которой будет находиться ВМ.
-
Добавьте дополнительный диск для хранения данных:
-
В блоке Диски и файловые хранилища нажмите кнопку Добавить.
-
В открывшемся окне выберите Диск.
-
Выберите
Создать новыйи укажите параметры:- Наполнение —
Пустой. - Имя —
fileserver-tutorial-disk. - Тип —
SSD. - Размер —
100 ГБ.
- Наполнение —
-
Нажмите кнопку Добавить диск.
-
-
В блоке Вычислительные ресурсы перейдите на вкладку Своя конфигурация, выберите платформу и укажите рекомендуемые параметры для файлового сервера:
- vCPU —
8или больше. - Гарантированная доля vCPU —
100%. - RAM —
56 ГБили больше.
- vCPU —
-
В блоке Сетевые настройки:
-
В поле Подсеть укажите идентификатор подсети в зоне доступности создаваемой ВМ или выберите облачную сеть из списка.
-
У каждой сети должна быть как минимум одна подсеть. Если подсети нет, создайте ее, выбрав Создать подсеть.
-
Если сети нет, нажмите Создать сеть и создайте ее:
- В открывшемся окне укажите имя сети и выберите каталог, в котором она будет создана.
- (Опционально) Выберите опцию Создать подсети, чтобы автоматически создать подсети во всех зонах доступности.
- Нажмите Создать сеть.
-
-
В поле Публичный IP-адрес выберите
Автоматически, чтобы назначить виртуальной машине случайный внешний IP-адрес из пула Yandex Cloud, или выберите статический адрес из списка, если вы зарезервировали его заранее. -
В поле Группы безопасности выберите созданную ранее группу безопасности
fileserver-sg.
-
-
В блоке Доступ выберите SSH-ключ и укажите данные для доступа к ВМ:
-
В поле Логин введите имя пользователя, который будет создан на виртуальной машине, например
ubuntu.Внимание
Не используйте логин
rootили другие имена, зарезервированные операционной системой. Для выполнения операций, требующих прав суперпользователя, используйте командуsudo. -
В поле SSH-ключ выберите SSH-ключ, сохраненный в вашем профиле пользователя организации.
Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:
-
Нажмите кнопку Добавить ключ.
-
Задайте имя SSH-ключа.
-
Выберите вариант:
-
Ввести вручную— вставьте содержимое открытого SSH-ключа. Пару SSH-ключей необходимо создать самостоятельно. -
Загрузить из файла— загрузите открытую часть SSH-ключа. Пару SSH-ключей необходимо создать самостоятельно. -
Сгенерировать ключ— автоматическое создание пары SSH-ключей.При добавлении сгенерированного SSH-ключа будет создан и загружен архив с парой ключей. В ОС на базе Linux или macOS распакуйте архив в папку
/home/<имя_пользователя>/.ssh. В ОС Windows распакуйте архив в папкуC:\Users\<имя_пользователя>/.ssh. Дополнительно вводить открытый ключ в консоли управления не требуется.
-
-
Нажмите кнопку Добавить.
SSH-ключ будет добавлен в ваш профиль пользователя организации. Если в организации отключена возможность добавления пользователями SSH-ключей в свои профили, добавленный открытый SSH-ключ будет сохранен только в профиле пользователя внутри создаваемого ресурса.
-
-
-
В блоке Общая информация задайте имя ВМ:
fileserver-tutorial. -
Нажмите Создать ВМ.
Создание ВМ может занять несколько минут. Когда ВМ перейдет в статус RUNNING, скопируйте публичный IP-адрес: он будет указан на странице ВМ в блоке Сеть. IP-адрес потребуются далее, чтобы настроить NFS и Samba.
Настройте Samba и NFS
После того как виртуальная машина fileserver-tutorial перейдет в статус RUNNING, выполните:
-
В блоке Сеть на странице виртуальной машины в консоли управления
найдите публичный IP-адрес виртуальной машины. -
Подключитесь к виртуальной машине по протоколу SSH.
Рекомендуемый способ аутентификации при подключении по SSH — с помощью пары ключей. Не забудьте настроить использование созданной пары ключей: закрытый ключ должен соответствовать открытому ключу, переданному на виртуальную машину.
-
Настройте Samba и NFS:
Ubuntu-
Скачайте и установите Samba:
sudo apt-get update sudo apt-get install nfs-kernel-server samba -
Подготовьте и смонтируйте файловую систему на диске:
sudo mkfs -t ext4 -L data /dev/vdb -
Подготовьте и смонтируйте папку
my_folderдля хранения данных на диске:sudo mkdir /my_folder echo "LABEL=data /my_folder ext4 defaults 0 0" | sudo tee -a /etc/fstab sudo mount /my_folder -
Задайте конфигурацию NFS в файле
/etc/exports. Вы можете отредактировать файл с помощью утилитыnano:sudo nano /etc/exportsДобавьте в файл следующие строки:
/my_folder <IP-адрес>(rw,no_subtree_check,fsid=100) /my_folder 127.0.0.1(rw,no_subtree_check,fsid=100)Где
<IP-адрес>– IP-адрес компьютера, к которому вы будете подключать по NFS сетевой диск с данными. -
Задайте конфигурацию Samba в файле
/etc/samba/smb.conf. Вы можете отредактировать файл с помощью утилитыnano:sudo nano /etc/samba/smb.confПриведите файл к виду:
[global] workgroup = WORKGROUP server string = %h server (Samba) dns proxy = no log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d server role = standalone server passdb backend = tdbsam obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . pam password change = yes map to guest = bad user usershare allow guests = yes [printers] comment = All Printers browseable = no path = /var/spool/samba printable = yes guest ok = no read only = yes create mask = 0700 [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no [data] comment = /my_folder path = /my_folder browseable = yes read only = no writable = yes guest ok = yes hosts allow = <IP-адрес> 127.0.0.1 hosts deny = 0.0.0.0/0Где
<IP-адрес>в блоке[data]– IP-адрес компьютера, к которому вы будете подключать по NFS сетевой диск с данными. -
Перезапустите NFS и Samba:
sudo service nfs-kernel-server restart sudo service smbd restart
-
Протестируйте работу файлового сервера
-
Установите ACL на виртуальной машине
fileserver-tutorial:Ubuntusudo apt install acl -
Создайте на ВМ
fileserver-tutorialдиректориюremoteи файлtest.txt:Ubuntusudo mkdir /my_folder/remote sudo setfacl -m u:<имя_вашего_пользователя>:rwx /my_folder/remote echo "Hello world!" > /my_folder/remote/test.txt -
Подключите по NFS сетевой диск к вашему компьютеру и проверьте доступность тестового файла:
Linux/macOSWindowsЕсли необходимо, установите утилиту для работы с сетевыми дисками:
sudo apt-get install nfs-commonСоздайте точку монтирования:
sudo mkdir /remote-test-dirПодключите сетевой диск:
sudo mount -t nfs <публичный_IP-адрес_ВМ>:/my_folder /remote-test-dirВ результате в указанной точке монтирования должны быть доступны тестовая директория и файл.
Примечание
Может потребоваться настройка политик безопасности Windows для доступа к файловому серверу.
-
Запустите утилиту cmd.exe. Для этого нажмите сочетание клавиш Windows + R и выполните команду
cmd. -
В командной строке выполните команду:
net use x: \\<публичный_IP-адрес_ВМ>\data
В результате появится диск X с тестовой директорией и файлом.
-
Как удалить созданные ресурсы
Чтобы перестать платить за созданные ресурсы:
- Удалите ВМ.
- Удалите статический публичный IP-адрес, если вы его зарезервировали.