Detaching a file storage from a VM
-
Unmount the file storage from the VM:
-
Connect to the VM via SSH.
-
If you previously added a line to the
/etc/fstabfile to automatically mount the file storage to the VM at startup (e.g., when attaching the storage to the VM), delete that line. -
Run this command:
sudo umount <mount_path> -
To check that your file storage is unmounted, run this command:
df -TThe result must show no
virtiofstype file system mapped to the file storage: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
-
-
Detach the file storage from the VM in Compute Cloud:
Management consoleCLITerraformAPI- In the management console
, select the folder where your file storage resides. - Go to Compute Cloud.
- In the left-hand panel, select
File storages. - Select the storage.
- Go to the Virtual machines tab.
- In the line with the VM in question, click
and select Detach file storage. - In the window that opens, confirm the detachment.
If you do not have the Yandex Cloud CLI yet, install and initialize it.
The folder used by default is the one specified when creating the CLI profile. To change the default folder, use the
yc config set folder-id <folder_ID>command. You can also specify a different folder for any command using--folder-nameor--folder-id. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.-
See the description of the CLI command for attaching a file storage to a VM:
yc compute instance detach-filesystem --help -
Get a list of file storages in the default folder:
yc compute filesystem listResult:
+----------------------+-------------------+------------+---------------+--------+-------------+ | ID | NAME | SIZE | ZONE | STATUS | DESCRIPTION | +----------------------+-------------------+------------+---------------+--------+-------------+ | epdtcr9blled******** | first-filesystem | 1073741824 | ru-central1-a | READY | | | epd3f4gv8bs4******** | second-filesystem | 1073741824 | ru-central1-a | READY | | +----------------------+-------------------+------------+---------------+--------+-------------+ -
Get a list of VMs in the default folder:
yc compute instance listResult:
+----------------------+-------+---------------+---------+--------------+-------------+ | ID | NAME | ZONE ID | STATUS | EXTERNAL IP | INTERNAL IP | +----------------------+-------+---------------+---------+--------------+-------------+ | epdj4upltbiv******** | vm-01 | ru-central1-a | RUNNING | 51.250.**.** | 192.168.*.* | | 1pc3088tkv4m******** | vm-02 | ru-central1-a | RUNNING | 84.201.**.** | 192.168.*.* | +----------------------+-------+---------------+---------+--------------+-------------+ -
Detach the file storage from a VM:
yc compute instance detach-filesystem \ --id <VM_ID> \ --filesystem-id <file_storage_ID>Where:
-
--id: VM ID.Instead of the ID, you can specify the VM name in the
--nameparameter. -
--filesystem-id: File storage ID.Instead of the ID, you can specify the file storage name in the
--filesystem-nameparameter.
As a result, the command will output the updated VM configuration. The detached file storage must not be featured in the
filesystemssection of the configuration you get. -
If you do not have Terraform yet, install it and configure the Yandex Cloud provider.
Set the
allow_stopping_for_updateparameter totrueon your VM, if you have not done it yet.-
Open the Terraform configuration file and delete the section specifying the storage:
Example of specifying a storage in the VM configuration using Terraform
... resource "yandex_compute_instance" "vm-1" { name = "test-vm" platform_id = "standard-v3" zone = "ru-central1-a" filesystem { filesystem_id = "fhmaikp755gr********" } ... -
Apply the changes:
-
In the terminal, navigate to the configuration file directory.
-
Make sure the configuration is correct using this command:
terraform validateIf the configuration is valid, you will get this message:
Success! The configuration is valid. -
Run this command:
terraform planYou will see a list of resources and their properties. No changes will be made at this step. Terraform will show any errors in the configuration.
-
Apply the configuration changes:
terraform apply -
Type
yesand press Enter to confirm the changes.
-
You can check that the storage has been detached from the VM using the management console
or this CLI command:yc compute instance get <VM_name>Use the detachFilesystem REST API method for the Instance resource or the InstanceService/DetachFilesystem gRPC API call.
- In the management console