31 июл. 2011 г.

Глава 13. Руководство по безопасности

Опубликовал на сайте обновленный перевод Глава 13. Руководство по безопасности.
Глава очень маленькая и дает только вводные сведения о сетевой безопасности VirtualBox.

PS Я запустил на сайте новое голосование, с помощью которого вы можете повлиять на последовательность моей работы над переводом руководства VirtualBox.

30 июл. 2011 г.

Новый перевод VirtualBox Глава 1. Первые шаги

Выложил на сайте перевод первой главы "Руководства пользователя VirtualBox 4". Глава дает начальные свединия, описание возможностей и процесс создания виртуальной машины. Из нового: описание модулей расширений и клонирование.

Решил делать перевод в новом формате так, как опубликовано на сайте VirtualBox - глава на одной страничке. Если есть пожелания, какие главы переводить в первую очередь, то пишите.

26 июл. 2011 г.

Отправка e-mail из 1С с помощью IMessage

Программная среда 1С предоставляет богатый набор средств для быстрой разработки приложений. Однако, при решении нестандартных задач ее средств бывает недостаточно.

На работе была поставлена задача отправлять e-mail к которому прикреплялся файл. Стандартный компонент работал не так как надо: файл этот имел нестандартное расширение и при отправке его получателю, свойство Content-Type устанавливалось в application/octet-stream, а по требованию получателя нужно было text/plain. "Всемирный разум ответа" не дал. Отправка сообщений происходила с сервера Windows 2008, а установка почтовых клиентов не входило в планы администраторов. После не долгих поисков решение было найдено: CDO.Message это COM объект для работы с почтовыми сообщениями. Так как это COM, то его можно использовать в любой среде программирования, где есть средства работы с ним. В качестве примера приведу код для 1С:

objMessage = Новый COMОбъект("CDO.Message");
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing").Value = 2;
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value = АдресSMTPСервера; //IP или URL
objMessage.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport").Value = НомерПортаSMTP; //обычно 22
objMessage.Configuration.Fields.Item("urn:schemas:mailheader:Content-Type").Value = "text/plain; charset=windows-1251";
objMessage.Subject = "Subject test";
objMessage.From = ЕМейлОтправителя; //вида name@domain.ru
objMessage.To = ЕМайлПолучателей; //если несколько, то через символ точку с запятой ';'
iBp = objMessage.AddAttachment(ИмяФайла); //цепляем файл
iBp.Fields.Item("urn:schemas:mailheader:content-type").Value = "text/plain; name=" + iBp.FileName; // вот решение задачи
iBp.Fields.Item("urn:schemas:mailheader:content-transfer-encoding").Value = "7bit";

objMessage.Configuration.Fields.Update(); //обновление внутренних структур
objMessage.Fields.Update();
iBp.Fields.Update();
objMessage.Send(); //отправляем письмо

Конечно данную задачу можно было решить проще: Просто присвоить файлу расширение txt?, а при вложении дать ему какое надо. Однако IMessage дает нам много больше возможностей, чем стандартный механизм 1С. Подробности на сайте Microsoft.
http://msdn.microsoft.com/en-us/library/aa579703%28v=EXCHG.80%29.aspx

24 июл. 2011 г.

Multimonitor VirtualBox

Нашел для чего можно использовать несколько мониторов в гостевой системе:
Картинка в высоком разрешении.
Если на одном мониторе запущенно приложение работающее в полноэкранном режиме, то в другом можно наблюдать за его работой средствами гостевой системы. Бывает приложение сбоит и невозможно выполнить нормальный выход из него и корректно завершить работу гостевой системы. В данном случае можно использовать диспетчер задач на втором мониторе для завершения сбоящего процесса и продолжить работу.
Кстати в VirtualBox 4.1 появилась возможность подключаться удаленно к гостевой сисеме с нескольким мониторами, указав в клиенте RDP параметр "-d @N", где N номер монитора.
Заметил также, что в графические приложения гостя некоректно обрабатывают события мыши. Для решения этой проблемы рекомендую в разных режимах включать и выключать режим интеграции мыши (Ctrl-I) - иногда работает одно , иногда другое.

23 июл. 2011 г.

PCI passthrough

В версии VirualBox 4.1 реализована начальная поддержка проброса (passthrough) устройства на шине PCI. Данная технология позволяет гостевым системам напрямую работать с PCI оборудованием хоста, т.е. без эмуляции. Это позволяет гостю использовать все возможности физичиских устройств (например usb, сетевые и видео карты) и снять нагрузку с хоста. Для использования этой возможности в VirtualBox требуется ядро linux, процессор и материнская плата с поддержкой технологии IOMMU. В Intel данную технологию называют VT-d, а AMD AMD-Vi. Подробнее в http://www.virtualbox.org/manual/ch09.html#pcipassthrough.
Ссылки:
PS Если ваш CPU поддерживает IOMMU, то обязательно проверте включение поддержки этой технологии в BIOS. У меня как vt-d - иначе работать не будет.

UPDATE

Как я сделал PCI passthrough звука на Intel платформе

21 июл. 2011 г.

Тормоза при работе с общими папками(Shared folder) в VirtualBox

Все таки полезно периодически перечитывать документацию. В гостевой системе Windows XP, стал замечать, что при просмотре общей папки в проводнике, имеют место задержки(тормоза). По ссылке http://www.virtualbox.org/manual/ch12.html#idp12788816 пишут:
Производительность при доступе к общим папкам из гостевых Windows может падат по причине задержек разрешения имен службой общих папок VirtualBox. Для устранения этих задержек, добавте следующие строки в файл гостевой Windows \windows\system32\drivers\etc\lmhosts:

255.255.255.255 VBOXSVR #PRE
255.255.255.255 VBOXSRV #PRE

После внесения изменений требуется перегрузить гостя .

18 июл. 2011 г.

Abiquo

Abiquo это open source приложение позволяющее создавать и управлять облачной инфраструктурой.
Особенности:
  • Manage multiple-virtualization technologies
    • VMware
    • Hyper-V
    • KVM
    • Xen Server
    • Xen Community
    • Virtual Box
  • OVF support
  • Multi-tenant management
  • Easy physical infrastructure management
    • Multi Data Center environment.
    • Easy inclusion of physical Machines
    • Manage storage systems
    • Manage Private networks.
  • Manage hard and soft limits for resources
  • Creation of Appliance libraries or connect to remote repositories.
  • Create your complex virtual Appliances
  • Bundle virtual Machines
  • Graphical User Interface
Подробнее http://community.abiquo.com/display/ABI17/Abiquo+Documentation+Home

17 июл. 2011 г.

vboxmon v0.3

Выложил версию 0.3:
- добавлены параметры командной строки
- устранена ошибка virtualbox с подсчетом трафика на virtio
- устранено появление "всплесков" на графиках

Описание http://mirspo.narod.ru/labs/vbmon.html
Страница загрузки http://code.google.com/p/vboxmon/downloads/list

В настоящее время функционал скрипта полностью удовлетворяет мои нужды, поэтому я больше не планирую ее развитие. В случае если у вас есть какие то пожелания и замечания, пишите.

16 июл. 2011 г.

Корректирующий релиз VirtualBox 4.0.12

Компания Oracle выпустила корректирующий релиз системы виртуализации VirtualBox 4.0.12, в котором отмечено Подробнее http://www.opennet.ru/opennews/art.shtml?num=31203

Жду с нетерпением релиза 4.1, который включает:
  • PCI passthrough для linux хостов, что позволит использовать в гостевых системах pci устройства хоста, без эмуляции. Производительность может возрасти в разы.
  • экспериментальный драйвер WDDM - полноценная работа в гостевых Windows auero.
  • и прочее, подробнее http://forums.virtualbox.org/viewtopic.php?f=15&t=42688

9 июл. 2011 г.

Имеет ли смысл дефрагментация диска в гостевой ОС?

Итого: если ВМ расположены на малоинтеллектуальном массиве начального уровня (или просто на внутреннем RAID сервера) на малом количестве физ. дисков (шпинделей), и их мало, то дефрагментация может иметь смысл и снизить нагрузку на дисковую систему / повысить общую производительность.
Однако с ростом размеров инфраструктуры и повышении класса дисковой системы фрагментация перестает играть сколько нибудь значимую роль. Зато дефрагментация становится не спасением, а самым настоящим злом. Вспомним, что собой представяет процесс дефрагментации - множество операций чтения / записи (1 к 1) в объеме, доходящим до 100% данных на диске.
Читать

3 июл. 2011 г.

Паравиртуальная сеть (virtio-net)

В VirtualBox версии 3.1 появился новый тип сетевого адаптера virtio-net. В отличии от других устройств, VirtualBox не виртуализирует это сетевое оборудование. Вместо этого, эмуляция сетевого устройства будет обеспечиваться специальным драйвером "virtio" в гостевой системе. Это позволяет уменьшить накладные расходы на виртуализацию и увеличить производительность сетевого ввода/вывода. Этот драйвер является частью проекта с открытым исходным кодом KVM.

Драйвер "virtio" доступен для гостевых систем:
  • Linux с ядром 2.6.25 и выше. Также многие дистрибутивы бэкпортировали(back-ported) этот драйвер для более старых ядер.
  • Для Windows 2000, XP and Vista, virtio драйвер может быть скачен с сайта проекта KVM.

Установка virtio драйвера в windows госте:
Скачайте ISO образ с паравиртуальными драйверами, подключите его к вашей виртуальной машине и установите соответствующий тип сетевого устройства

Запустите ВМ и установите драйвера с диска для этого устройства. Для увеличения производительности устройства рекомендуется внести следующие изменения в реестр windows гостя :
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters]

"DefaultSendWindow"=dword:00100000

"DefaultReceiveWindow"=dword:00100000

"FastSendDatagramThreshold"=dword:00004000


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]

"Tcp1323Opts"=dword:00000001

"TcpWindowSize"=dword:00100000

После внесения изменений перегрузите ВМ.
Для тестирования производительности сетевых устройств можно использовать утилиту командной строки iperf. Версию для windows можно скачать здесь. Пользоваться утилитой просто: на госте(это сервер) набираете в командной строке:
iperf -s

а на хосте, или в другом госте:
iperf -c < IP адрес >

У меня на домашнем ПК до тюнинга было от 700 Мбит/с до 1,2Гбит/с, а после стало от 1 до 1,47 Гбит/с. Прочие же виртуальные сетевые устройства выдавали не более 800 Мбит/с.
Замечание
Если ваш хост подключен к сети на скорости 100Мбит/с такие скорости вы вряд ли получите. На работе мне на windows хосте этого сделать пока не удалось. Может кто знает как это сделать?

UPDATE
Описание настроек TCP/IP для Windows начиная с Windows
http://www.linux-kvm.org/page/WindowsGuestDrivers/kvmnet/registry#Starting_from_Vista

PS Написал пост уже давно, но забыл опубликовать :)

Архив блога