Все о Linux. LinuxRSP.Ru
Альт Линукс СПТ 6.0 Сертификат ФСТЭК

Cвежие новости Linux и BSD, анонсы статей и книг прямо в почтовый ящик!
Подписаться письмом


 Сегодняшние новости:

В GIMP наконец-то появилась обработка с точностью 16 и 32 разряда на канал

В одном окне: GIMP 2.8

Релиз OpenBSD 5.1

HTML-редактор: BlueGriffon 1.5

Релиз Xfce 4.10

Команда Chromium представила кластер для автоматизации выявления уязвимостей

В Microsoft Office 15 будет обеспечена поддержка формата ODF 1.2

Анонсирован новый свободный анимационный фильм Tube

Обновление ядра: Linux 3.0.29, 3.2.16, 3.3.3

Представлен OpenSSH 6.0

Релиз графического редактора Pinta 1.2, претендующего на роль аналога Paint.NET

Вышел Firefox 12

Google прекращает поддержку Linux-версии приложения Picasa

Эмулятор приставок: Mednafen 0.9.21-wip

Линус Торвальдс получил премию Millennium Technology Prize 2012

Canonical не заинтересована в участии в разработке ядра Linux

Распределенные вычисления: BOINC 7.0

Google

 Новые статьи :

Передача снапшота ZFS по сети

Правила хорошего тона: SSH

Некоторые рассуждения о защите от ddos на примере защиты от SSL denial of service attack

Быстрый проброс портов на шлюзе во внутреннюю сеть или на другой хост. Быстро NAT'им порты. rinetd.

NAT'им отдельные порты или "а что делать, если мой веб-сервер внезапно переехал на другую машину". Проброс портов в локалке на шлюзе наружу.

Как справляться с запланированной недоступностью веб-сайта

Архитектура Google 2011

Мониторинг Nginx с помощью MRTG

Решение проблем при использовании "1c предприятие" 8.2 в Linux

25 правил .htaccess, которые должен знать каждый web-разработчик

Централизованное резервное копирование данных Windows и *nix серверов средствами Bacula

Краткое руководство по GNOME Shell в Ubuntu 11.10

Advanced Bash-Scripting Guide Искусство программирования на языке сценариев командной оболочки

   Дистрибутивы и атрибутика



DeveloperWorks Россия





Rambler's Top100


 
 

Доступ к виртуальным дискам из-вне виртуальной машины.

Иногда возникает потребность списать что-нибудь с виртуального диска, созданного под VMWare, на диск реального компьютера. Это можно сделать, запустив VMWare, загрузить установленную под ней ОС и переписать это "что-нибудь" на реальный диск, подключенный в VMWare как Raw Disk или через Samba и т.д.. А если твоя виртуальная машина создана без поддержки сети? Или у тебя нет времени или желания запускать Windows под VMWare и ждать его загрузки только для того, чтоб переписать пару килобайт?

Именно для таких целей служит программа, входящая в поставку VMWare - vmware-loop. Эта программа предназначена для связывания какого-нибудь NBD (Network Block Device)-устройства с файлом виртуального диска. После этого NBD-устройство можно монтировать как обычный диск или loopback-устройство.

Для того, чтобы все это работало, твое ядро должно поддерживать NBD/usr/src/linux/.config должны быть строчка CONFIG_BLK_DEV_NBD=m или CONFIG_BLK_DEV_NBD=y). По-умолчанию она есть. Если нет - придется пересобрать ядро, добавив поддержку NBD.:)

NBD-устройства имеют имена /dev/nbX или /dev/ndX, где X - номер устройства. Для связывания NBD и виртуального диска надо выполнить следующую команду:


vmware-loop имя_файла_виртуального_диска номер_партиции_виртуального_диска /dev/nbX

Т.е. если файл виртуального диска - /home/vmware/win98/win98.dsk, ты хочешь подключить первую партицию на этом диске к устройству /dev/nb0, тогда надо выполнить команду:


vmware-loop /home/vmware/win98/win98.dsk 1 /dev/nb0

Для того, чтоб открыть файл виртуального диска только для чтения, надо запускать vmware-loop с ключом -r.


vmware-loop -r имя_файла_виртуального_диска номер_партиции_виртуального_диска /dev/nbX

После запуска vmware-loop останется активной в текущем окне терминале, ожидая нажатия Ctrl+C. Теперь в другом окне можно запустить mount:


mount -t файловая_система /dev/nbX точка_монтирования

В моем примере, можно использовать такую команду:


mount -t vfat /dev/nb0 /mnt/vmware

Обрати внимание: каталог, к которому ты монтируешь устройство, должен существовать. Остальные опции команды mount ты можешь посмотреть, набрав man mount.

Теперь перейди в каталог, являющийся точкой мотирования, и можешь копировать с диска и на диск что хочешь и чем хочешь...:)

После этого нужно отмонтировать виртуальный диск командой:


umount точка_монтирования

В моем примере:


umount /mnt/vmware

Теперь надо перейти в то окно терминала, в котором запущен vmware-loop и нажать Ctrl+C.

Программа vmware-loop позволяет также просмотреть информацию о партициях виртуального диска.


vmware-loop -p имя_файла_виртуального_диска

В моем примере:


vmware-loop -p /home/vmware/win98/win98.dsk

Для автоматизации всего этого процесса (связывания с NBD и монтирования) служит скрипт vmware-mount.pl, также входящий в поставку VMWare. Вызывается он следующим образом:


vmware-mount.pl имя_файла_виртуального_диска номер_партиции точка_монтирования

Применительно к моему примеру:


vmware-mount.pl /home/vmware/win98/win98.dsk 1 /mnt/vmware

Скрипт пытается автоматически определить файловую систему монтируемой партиции. Если это не удается, можно воспользоваться ключом -t:


vmware-mount.pl имя_файла_виртуального_диска номер_партиции -t тип_файловой_системы точка_монтирования

После выполнения всех необходимых операций скрипт остается активным в своем окне терминала и сообщает о том, что для выхода из него нужно нажать Ctrl+C. При нажатии Ctrl+C происходит отмонтирование виртуального диска и разрыв связи с NDB-устройством.

При запуске vmware-loop (соответственно и vmware-mount.pl) блокирует файл виртуального диска, запрещая запись и чтение. Из-за этого запуск виртуальной машины, использующей этот диск невозможен. Также нельзя связать с NBD-устройством файл виртуального диска, который занят запущенной виртуальной машиной.

Подробнее о VMWare


(c)Ерижоков А.А., 2000.
Использование данного документа разрешено только с согласия автора и с указанием первоисточника: DH's Linux Site




      

Связь | О проекте LinuxRSP | Реклама | О Linux
© 1999-2012 LinuxRSP


Реклама: