Подключить файловое хранилище к виртуальной машине
Важно
Файловое хранилище можно подключить только к ВМ под управлением операционной системы Linux с версией ядра 5.4 или выше.
Чтобы проверить версию ядра, выполните команду sudo uname -r
.
-
Если ВМ запущена и работает (статус
RUNNING
), остановите ее. -
Привяжите файловое хранилище к ВМ в Compute Cloud:
Консоль управленияTerraformAPI- В консоли управления
выберите каталог, в котором создано файловое хранилище. - Выберите сервис Compute Cloud.
- На панели слева выберите
- Выберите нужное хранилище.
- Перейдите на вкладку Виртуальные машины.
- Нажмите кнопку
- В открывшемся окне:
- Выберите ВМ.
- Укажите имя устройства, под которым файловое хранилище будет доступно в ВМ. Сохраните это значение: оно понадобится при монтировании хранилища.
- Нажмите Подключить к ВМ.
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Если вы не указали для ВМ параметр
allow_stopping_for_update
в значенииtrue
, сделайте это.Чтобы подключить файловое хранилище к ВМ, добавьте к ее описанию блок
filesystem
с параметромfilesystem_id
(см. пример).-
Откройте файл конфигурации Terraform и добавьте фрагмент с описанием хранилища к описанию ВМ:
Пример описания хранилища в конфигурации ВМ в Terraform... resource "yandex_compute_instance" "vm-1" { name = "test-vm" platform_id = "standard-v3" zone = "ru-central1-a" filesystem { filesystem_id = "fhmaikp755gr********" } } ...
-
Примените изменения:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминале слово
yes
и нажмите Enter.
-
Проверить присоединение хранилища к ВМ можно в консоли управления
или с помощью команды CLI:yc compute instance get <имя_ВМ>
Воспользуйтесь методом REST API attachFilesystem для ресурса Instance или вызовом gRPC API InstanceService/AttachFilesystem.
- В консоли управления
-
Смонтируйте файловое хранилище на ВМ.
-
Если вы не знаете имя устройства для монтирования, получите его:
yc compute instance get <имя_ВМ>
Результат:
... filesystems: - mode: READ_WRITE device_name: storagename filesystem_id: epdb1jata63j******** ...
Сохраните значение поля
device_name
в блокеfilesystems
. Это имя устройства для монтирования, которое понадобится далее. -
Подключитесь к ВМ по SSH.
-
Выполните команду:
sudo mount -t virtiofs <имя_устройства> <путь_монтирования>
Где:
<имя_устройства>
— значение поляdevice_name
, сохраненное ранее. В примере выше имя устройства —storagename
. У вас имя устройства может отличаться.<путь_монтирования>
— каталог или диск, в который будет смонтировано файловое хранилище. Например:/mnt/vfs0
.
-
Проверьте, что файловое хранилище смонтировано:
df -T
Результат:
Filesystem Type 1K-blocks Used Available Use% Mounted on udev devtmpfs 988600 0 988600 0% /dev tmpfs tmpfs 203524 780 202744 1% /run /dev/vda2 ext4 13354932 1909060 10861420 15% / tmpfs tmpfs 1017604 0 1017604 0% /dev/shm tmpfs tmpfs 5120 0 5120 0% /run/lock tmpfs tmpfs 1017604 0 1017604 0% /sys/fs/cgroup tmpfs tmpfs 203520 0 203520 0% /run/user/1000 storagename virtiofs 66774660 0 66774660 0% /mnt/vfs0
-
Чтобы файловое хранилище монтировалось при каждом запуске ВМ, добавьте в файл
/etc/fstab
строку вида:<имя_устройства> <путь_монтирования> virtiofs rw 0 0
-