Если вы восстанавливаете данные какого-то из ваших дисков целиком в виде дополнительного диска и подключаете его к этой же, либо другой виртуальной машине, чтобы увидеть его содержимое, диск необходимо смонтировать внутрь файловой системы вашей виртуальной машины. В этой статье мы рассмотрим основные варианты разметки дисков и как их можно смонтировать после подключения к вашей виртуалке.
Самым частым вариантом разметки дисков среди наших клиентов является создание файловой системы размером во весь диск, без таблицы разделов. Если ваша виртуальная машина была развернута из подготовленных нами образов, либо вы создавали дополнительный диск и не вносили изменений в его таблицу разделов, файловая система на вашем диске была создана именно так. Это самый простой вариант и смонтировать такой диск внутрь виртуальной машины очень просто.
Для начала нужно зайти в терминал вашей ВМ. Проще всего это сделать через приложение Терминал в панели управления хостингом, либо через ssh. Нам необходимо зайти в систему от имени пользователя root.
Посмотрим какие диски доступны внутри вашей ВМ:
# fdisk -l
Disk /dev/vda: 10 GiB, 10737418240 bytes, 20971520 sectors
...
Disk /dev/sda: 256 MiB, 268435456 bytes, 524288 sectors
...
Device Boot Start End Sectors Size Id Type
/dev/sda1 3072 524287 521216 254,5M 83 Linux
Disk /dev/vdb: 10 GiB, 10737418240 bytes, 20971520 sectors
...
Здесь мы видим все подключенные диски и разделы с созданной файловой системой. Выполнение команды mount
покажет какие из них смонтированы, а какие нет:
# mount | grep '/dev'
udev on /dev type devtmpfs (rw,nosuid,relatime,size=497656k,nr_inodes=124414,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
/dev/vda on / type ext4 (rw,noatime,errors=remount-ro,data=ordered)
/dev/sda1 on /boot type ext4 (rw,relatime,stripe=1536,data=ordered)
Мы видим, что устройство /dev/vdb
не смонтировано. Это и есть наш вновь подключенный диск с резервной копией. Если нам нужно просто однократно смонтировать этот диск и скопировать из него какие-то данные, достаточно выполнить команды:
# mkdir /tmp/backups
# mount /dev/vdb /tmp/backups
Теперь резервная копия доступна в папке /tmp/backups
. По окончании работы с диском, не забудьте отмонтировать его из системы перед его удалением в панели управления:
# umount /tmp/backups
Если же этот диск нужен на длительный период времени, чтобы он монтировался в систему каждый раз после перезагрузки, необходимо проделать следующие действия.
Найдем метку (LABEL) для диска /dev/vdb
:
# blkid /dev/vdb
/dev/vdb: LABEL="st_7bb9aa15" UUID="83fd0905-c036-4188-a133-284780ffe095" TYPE="ext4"
В данном случае метка имеет имя st_7bb9aa15
. Эту же метку можно узнать и в панели управления хостингом в разделе Диски вашей виртуальной машины.
Далее мы прописываем в файл /etc/fstab
строку, которая отвечает за автоматическое монтирование этого диска при старте системы:
echo "LABEL=st_7bb9aa15 /mnt ext4 defaults,noatime 0 2" | tee -a /etc/fstab && mount -a
Здесь /mnt
- это точка монтирования диска. Поменяйте ее на нужную вам.
Если по какой-то причине у диска нет метки, можно использовать его UUID:
echo "UUID=83fd0905-c036-4188-a133-284780ffe095 /mnt ext4 defaults,noatime 0 2" | tee -a /etc/fstab && mount -a
Также обратите внимание, что в /etc/fstab
пишется информация о файловой системе. Если у вас отличная от ext4 файловая система, отредактируйте также и эту часть строки.
Второй по популярности вариант разбиения дисков - создание таблицы разделов на диске. В этом случае мы монтируем уже не весь диск целиком, а каждый из его разделов, либо только нужные вам разделы.
Точно также, как и в предыдущем варианте, сначала посмотрим какие диски с какими разделами нам доступны:
# fdisk -l
Disk /dev/vda: 10 GiB, 10737418240 bytes, 20971520 sectors
...
Disk /dev/sda: 256 MiB, 268435456 bytes, 524288 sectors
...
Device Boot Start End Sectors Size Id Type
/dev/sda1 3072 524287 521216 254,5M 83 Linux
Disk /dev/vdb: 10 GiB, 10737418240 bytes, 20971520 sectors
...
Device Boot Start End Sectors Size Id Type
/dev/vdb1 2048 4196351 4194304 2G 83 Linux
/dev/vdb2 4196352 10487807 6291456 3G 83 Linux
/dev/vdb3 10487808 20971519 10483712 5G 83 Linux
Здесь мы видим, что у диска /dev/vdb
есть 3 раздела: /dev/vdb1
, /dev/vdb2
и /dev/vdb3
. С каждым из требуемых вам разделов необходимо проделать такие действия:
Если требуется временно смонтировать диск, например для копирования с него данных, а затем отключить его:
# mkdir /tmp/disk1
# mount /dev/vdb1 /tmp/disk1
По окончании работы с диском, не забудьте отмонтировать его из системы перед его удалением в панели управления:
# umount /tmp/disk1
Если диск нужен постоянно, пропишите для него автоматическое монтирование в /etc/fstab
по аналогии с предыдущим разделом:
# blkid /dev/vdb1
/dev/vdb1: LABEL="st_7bb9aa15" UUID="83fd0905-c036-4188-a133-284780ffe095" TYPE="ext4"
# echo "UUID=83fd0905-c036-4188-a133-284780ffe095 /mnt ext4 defaults,noatime 0 2" | tee -a /etc/fstab && mount -a
Если вы использовали LVM (Logical Volume Manager), ситуация еще чуть чуть усложняется, но не принципиально. Используя команду lvs
найдем доступные нам логические устройства:
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root vg1 -wi-ao---- 5.00g
home vg1 -wi-ao---- 30.00g
Том с именем home
в этом случае будет иметь полный путь /dev/mapper/vg1-home
. В этом также можно убедиться посредством команды fdisk -l
. Далее, по аналогии с предыдущими разделами, если требуется временно смонтировать диск, делаем:
# mkdir /tmp/home
# mount /dev/mapper/vg1-home /tmp/home
а для размонтирования
# umount /tmp/home
Либо монтируем диск на постоянной основе через запись в /etc/fstab
:
# blkid /dev/mapper/vg1-home
/dev/mapper/vg1-home: LABEL="st_7bb9aa15" UUID="83fd0905-c036-4188-a133-284780ffe095" TYPE="ext4"
# echo "UUID=83fd0905-c036-4188-a133-284780ffe095 /mnt ext4 defaults,noatime 0 2" | tee -a /etc/fstab && mount -a
В любом случае, если выполнение указанных в этой статье команд вызывает у вас затруднения, наша служба технической поддержки готова прийти к вам на помощь круглосуточно.