Виктор Костромин - Linux для пользователя
Это не означает, что подключение к виртуальной машине реальных дисков в принципе невозможно. Просто надо делать такое подключение корректно, с соблюдением некоторых мер предосторожности.
Основная опасность, связанная с использованием реальных дисков, состоит в одновременном доступе к одному разделу жесткого диска из нескольких операционных систем. Все ОС создавались в расчете на полный контроль над компьютером. Поскольку каждая ОС представления не имеет о другой, то когда две ОС пытаются производить операции записи или чтения в одном и том же разделе реального диска, может произойти потеря или даже разрушение данных. Дело в том, что система VMware (пока еще) не регулирует дисковые операции базовой операционной системы. Поэтому раздел реального диска не должен одновременно использоваться (быть смонтирован) в ОС на базовом компьютере и в виртуальной машине.
Следовательно, вы должны удостовериться, что базовая ОС "не видит" раздел, с которым работает ОС виртуального компьютера. Безопасность работы с реальными дисками определяется выполнением этого требования. Поэтому, прежде чем подключить раздел реального диска к виртуальной машине, размонтируйте его в базовой ОС.
Если вам необходимо осуществить обмен данными между базовым и виртуальным компьютерами, можно подключать один и тот же диск к этим компьютерам поочередно. Для этого придется вначале смонтировать раздел в базовой ОС Linux, перенести на него необходимые данные, размонтировать диск, запустить VMware и виртуальный компьютер, скопировать данные на виртуальный диск, выключить VMware и снова отдать диск базовой ОС. Альтернативой такому очевидно неудобному способу переноса данных является использование сетевых возможностей ОС, таких как протоколы Samba или NFS, для переноса данных из одного компьютера в другой. Эти возможности будут рассмотрены в следующем разделе, а пока давайте научимся подключать физический диск (или раздел на таком диске) к уже созданному виртуальному компьютеру в качестве второго жесткого диска.
18.7.2 Подключение физического диска к виртуальному компьютеру
Итак, мы имеем виртуальный компьютер, на котором работает ОС Windows (в одном из ее вариантов), запускаемая с виртуального диска C:. И, предположим, у нас имеется раздел жесткого диска (пусть, для определенности, это будет раздел /dev/hda2), который был отформатирован в той же ОС от Microsoft (в FAT, FAT32 или NTFS, в зависимости от варианта ОС). Естественно, возникает желание получить доступ к этому разделу из виртуального компьютера. Попытаемся подключить этот раздел в качестве диска D: виртуального компьютера. Но прежде, чем описывать конкретные процедуры подключения, дадим некоторые предварительные сведения.
Права доступа к дискамЖесткие диски, к которым вы хотите получить доступ из виртуального компьютера (и, в частности, диски, с которых происходит запуск операционных систем, как это будет описано в разд. 18.7.3), должны быть доступны как по чтению, так и по записи для пользователей, запускающих систему VMware. В большинстве дистрибутивов Linux физические диски (такие как /dev/hda, /dev/hdb) принадлежат группе disk. Если это так, то можно просто добавить пользователей системы VMware в эту группу. Можно также просто поменять владельца устройства. Пожалуйста, тщательно продумайте вопросы безопасности при выборе способа предоставления доступа к дискам. Самый простой и вполне приемлемый на персональном компьютере способ заключается в том, чтобы дать пользователям системы VMware доступ ко всем физическим устройствам /dev/hd[abcd], к которым надо обращаться из виртуальных машин, а в вопросах разграничении доступа положиться на конфигурационные файлы VMware.
Файл описания физического дискаЧтобы система VMware могла получить доступ к физическим дискам, для каждого из таких дисков должен быть создан небольшой файл, содержащий некоторые данные, необходимые виртуальной машине для получения доступа к разделам данного диска. В документации на VMware такой файл называют "Safe Raw Disk", мы будем называть его файлом описания физического диска. Вот типичный пример такого файла для компьютера, на котором установлены ОС Windows NT и Linux:
DEVICE /dev/hda
# Partition type: MBR
RDONLY 0 62
# Partition type: HPFS/NTFS
ACCESS 63 8193149
# Partition type: Linux swap
NO_ACCESS 8193150 8466254
Как видите, этот файл содержит информацию о разделах диска, типе файловой системы в каждом разделе (правда, только в строке комментария) и правах доступа к разделу. Эту информацию можно представить в виде табл. 18.1.
Таблица 18.1. Информация из файла описания диска
Тип раздела Размещение (сектора) Access Rights Загрузочная запись С 0 по 62 включительно Read-Only NTFS или FAT С 63 по 8193149 включительно Read-Write Linux swap С 8193150 по 8466254 включительно Нет доступаЕсли операционная система, запущенная на виртуальном компьютере, попытается произвести операции чтения или записи в сектора, доступ к которым запрещен в таком файле описания физического диска, система VMware выдаст пользователю диалоговое окно, в котором потребует подтвердить правомочность данной операции или отказаться от ее выполнения.
Подключение физического диска к виртуальному компьютеру. Имея в виду только что сказанное, можно приступить к подключению физического диска к виртуальному компьютеру, для чего надо выполнить следующие действия.
1. Добавьте пользователя, от имени которого будете запускать систему VMware, в группу disk (это делается путем редактирования файла /etc/group суперпользователем).
2. Убедитесь в том, что подключаемый физический диск не смонтирован в файловой системе базового компьютера.
3. Чтобы создать файл описания физического диска, запустите систему VMware, выберите нужную конфигурацию (но не включайте питание виртуального компьютера) и откройте меню Settings| Configuration Editor, после чего щелкните по значку "+" слева от указания на IDE- или SCSI-диски.
4. Найдите строку, в которой указано, что соответствующий диск не установлен ("Not installed"), и установите на нее подсветку (курсор). Предположим, например, что вы выбрали строку "P-S Not Installed" среди IDE-дисков. Значит виртуальная машина будет считать, что данный физический диск подключен как второй диск (slave) к первому контроллеру (primary IDE controller). Соответственно, если в группе SCSI-дисков найдется строка "SCSI 0:1 Not Installed", то для виртуального компьютера такой диск будет иметь номер 1 на SCSI-контроллере. Если строки "Not Installed" не найдется, то к Вашему виртуальному компьютеру подключено уже 4 IDE-диска (или, соответственно, 7 SCSI-дисков), т. е. достигнут предел. В таком случае удаляйте какой-нибудь диск, пользуясь кнопкой Remove.
5. В поле Device Type установите (выберите) значение Raw Disk.
6. В поле Name введите имя для файла описания физического устройства (например, raw_hda.dsk).
7. Щелкните по кнопке Create Raw Disk.
8. В появившейся строке ввода укажите имя физического диска (не раздела, а именно диска, например, /dev/hda для IDE-диска или /dev/sda для SCSI).
9. Появится новое окно, в котором выведен список разделов, имеющихся на данном физическом диске. Для каждого раздела укажите права доступа, которые будет иметь в данном разделе виртуальная машина. Для каждого раздела нужно выбрать один из следующих вариантов задания прав:
• No Access - виртуальный компьютер не будет иметь возможности ни читать, ни писать в данный раздел. Этот вариант выбирают только в том случае, если необходимо проконтролировать попытки (несанкционированного) обращения к данному разделу.
• Read/Write - виртуальный компьютер будет иметь возможность и читать, и производить запись в данный раздел. Эту опцию выбирают только для тех разделов, которые содержат файловые системы, "родные" для операционной системы виртуального компьютера. Read-Only - виртуальный компьютер будет иметь возможность только читать из данного раздела. Выбирайте это вариант для всех остальных разделов на диске.
7. Щелкните по кнопке Save. В некоторых случаях после этого может появиться окно, сообщающее, что два раздела на диске пересекаются (имеют общие сектора) и, следовательно, для них должны быть заданы одинаковые права доступа. Такого вообще-то быть не должно (и эту ситуацию необходимо как-то исправлять), но если все же такое окно появится, вы можете задать одинаковые права для обоих разделов и снова щелкнуть по кнопке Save. Файл описания физического диска будет записан в каталог, где хранятся остальные файлы Вашей виртуальной машины (что-то вроде /home/user1/vmware/nt4/).