VMWare + physical drive vs Android

Некоторое время назад я описывал способ лечения VMWare, которая отказывалась открывать физический диск. С того времени еще не раз сталкивался с прекрасным.

Bug #2

Второй баг обнаружился вот просто только что. Перезагрузил Виндовс после установки обновлений и VMWare выдала свое феерическое:

The physical disk is already in use (73).

Проклиная VMWare Не понимая, что происходит, стал пытаться смотреть какая скотина кто использует без спроса жесткий диск, но потом пошел другим путем, как оказалось – более правильным. Стал искать что же изменилось в физическом окружении между запусками VMWare.

Перед ребутом я подключил телефон HTC Wildfire S, чтобы немного подзарядить. Выключил, запустил VMWare – и, о чудо, она прекрасно завелась. Каким образом съемный диск (карточка телефона) повлиял на VMWare – не ясно. =/

Bug #1

Первый баг обнаружился раньше, VMWare наотрез отказывается работать с физическим диском, если в системе есть software raid из динамических дисков (dymanic disks). Баг вроде даже как известный, но ВМВаревцы не чешут яйца, чтобы исправить, видимо мало кто жалуется и она забили болт.


Теги: , , , , ,

Отключение beeper в VMWare

Отключить системный динамик в VMWare можно строкой:

mks.noBeep = "TRUE"

Ее нужно добавить в файл конфигурации виртуальной машины – *.vmx, его можно редактировать в любом текстовом редакторе.


Теги: , , , ,

VMWare 8 + real HDD disk

При попытке подключить физический диск к виртуалке VMWare 8 (VMWare 8.0.0 build-471780), выдавались ошибки вида:

 

vmx| W110: DISKLIB-FLAT : Open: Failed to dismount physical drive 2. Perhaps its volumes have open files on them?
vmx| I120: DISKLIB-FLAT : "\\.\PhysicalDrive2" : failed to open (73): .
vmx| I120: DISKLIB-LINK : "D:\VM\backup-FreeBSD72\FreeBSD72.vmdk" : failed to open (The physical disk is already in use).

Лечится довольно просто: на файл *.vmdk (в моем случае – FreeBSD72.vmdk) добавил пользователя __vmware__ с полным доступом (Full Control, Modify, Read & Execute, Read, Write). По умолчанию там были только Users, SYSTEM и Administrators.


Теги: , , , , , , , ,

FreeBSD под VMWare: Теперь часы работают как часы

Снова добрался до виртуальной FreeBSD, а там.. ужос! Часы отстали на 4 часа.. В предыдущем посте о часах я выбирал разные таймеры. Ни один не работает как нужно. Что делать?

TSC

Я остановился на таймере TSC. Он должен работать на частоте процессора. dmesg рапортует о частоте:

Timecounter "TSC" frequency 3302974606 Hz quality 800


Этот параметр можно посмотреть через sysctl

~> sysctl -a | grep tsc_<br />
machdep.tsc_freq:  3302974606


При таком значении часы отстают, значит оно должно быть меньше.

Fix

Открываем файл vmware.log и ищем строку, содержащую TimeTracker

Sep 14 11:11:05: vmx| TimeTracker host to guest rate conversion  46219175637833 @ 2999990000Hz -> 46219175637833 @ 2999990000Hz<br />
Sep 14  11:11:05: vmx| TimeTracker host to guest rate conversion ((x * 2147483648)  >> 31) + 0


Копируем магическое 🙂 2999990000 и записываем его в sysctl:

~> sysctl machdep.tsc_freq=2999940000<br />
machdep.tsc_freq:  3302974606 -> 2999940000<br />
~> echo “sysctl machdep.tsc_freq=2999940000”  >> /etc/sysctl.conf<br />
# one more trick:<br />
~> echo "kern.hz=100" >> /boot/loader.conf


И синхронизируем часы с сервером времени, например:

ntpdate -bs 132.236.56.250


Все, теперь часы работают как часы 🙂

За тестовый час они не отстали и не обогнали контрольный сервер ни на секунду.


Теги: , , , , , , , , , , , , ,

time is ticking out

Возвращаясь к вопросу отставания часов в FreeBSD (в частности под VMWare). Хэндбук дает подсказку по поводу почему часы могут показывать неправильное время. Дело в том, что в системе несколько таймеров, а выбранный таймер ведет себя на вашей системе не так, как вы ожидаете. Выход – попробовать другой таймер и проследить за результатом.

Посмотрите какие таймеры присутствуют на вашей системе:

<br />
~> dmesg | grep Timecounter<br />
Timecounter "i8254" frequency  1193182 Hz quality 0<br />
Timecounter "ACPI-fast" frequency 3579545 Hz quality  1000<br />
Timecounter "TSC" frequency 3035844535 Hz quality 800<br />
Timecounters  tick every 1.000 msec<br />


Проверьте, какой таймер используется:

<br />
~> sysctl kern.timecounter.hardware<br />
kern.timecounter.hardware: ACPI-fast<br />


Установите другой таймер:

<br />
~> sysctl -w kern.timecounter.hardware=i8254<br />
kern.timecounter.hardware: ACPI-fast –> i8254<br />


Добавьте настройки в файл /etc/sysctl.conf, чтобы таймер использовался при загрузке системы:

<br />
kern.timecounter.hardware=i8254<br />


Синхронизируйте время на машине:

<br />
ntpdate -bs 132.236.56.250<br />


Тепеть подождите несколько дней и проверьте, будут ли отставать ваши часы.


Теги: , , , , , , , , , , , , ,

Виртуальный чертик ака FreeBSD — на vmware

bsdblueball.png

Поставил FreeBSD на vmware под Windows 2003. Дал ей на растерзание целый винт (прямой доступ), с него даже загружаться можно (проверил).

Пару советов:
Читать остальную часть заметки »


Теги: , , , ,