Как установить VMware Tools для Ubuntu 11.04, размещённой на VMware ESXi?

Вопрос или проблема

Я использую VMware ESX 4.1, и у меня есть виртуальная машина для разработки, которую я недавно обновил с Ubuntu 10.04 до 11.04. Затем я попытался переустановить VMware Tools, и некоторые модули дали мне ошибку и не компилировались. В результате у меня теперь проблемы с резервным копированием этой виртуальной машины, и я подозреваю, что причина в VMware Tools. Я установил последние патчи для VMware host, которые включали обновление VMware Tools (v8.3.7 build-381511), но я все еще получаю ту же ошибку.

Ошибка, которую я получаю, выглядит так:

...
/tmp/vmware-root/modules/vmhgfs-only/super.c:73:4: error: unknown field ‘clear_inode’ specified in initializer
make[2]: *** [/tmp/vmware-root/modules/vmhgfs-only/super.o] Error 1
make[1]: *** [_module_/tmp/vmware-root/modules/vmhgfs-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.38-8-generic'
make: *** [vmhgfs.ko] Error 2
make: Leaving directory `/tmp/vmware-root/modules/vmhgfs-only'

и также это:

/tmp/vmware-root/modules/vmci-only/vmci_drv.c:91:4: error: unknown field ‘ioctl’ specified in initializer
/tmp/vmware-root/modules/vmci-only/vmci_drv.c:91:4: warning: initialization from incompatible pointer type
/tmp/vmware-root/modules/vmci-only/vmci_drv.c: In function ‘vmci_init’:
/tmp/vmware-root/modules/vmci-only/vmci_drv.c:151:4: error: implicit declaration of function ‘init_MUTEX’
make[2]: *** [/tmp/vmware-root/modules/vmci-only/vmci_drv.o] Error 1
make[1]: *** [_module_/tmp/vmware-root/modules/vmci-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.38-8-generic'
make: *** [vmci.ko] Error 2
make: Leaving directory `/tmp/vmware-root/modules/vmci-only'

Есть идеи?

Я бы предположил, что у вас неверная версия заголовков ядра. Если вам не нужна какая-то конкретная функция, доступная только в версии VMware Tools, которую вы пытаетесь собрать (подсказка: скорее всего, нет), вы можете избавить себя от многих проблем, удалив вручную установленную версию и используя пакет open-vm-tools в Ubuntu:

sudo aptitude install linux-headers-virtual open-vm-dkms open-vm-tools

Также можно получить последнюю версию инструментов напрямую от VMware, но тогда вам нужно немного поработать с apt:

apt-add-repository 'deb http://packages.vmware.com/tools/esx/4.1latest/ubuntu natty main restricted'
wget http://packages.vmware.com/tools/VMWARE-PACKAGING-GPG-KEY.pub -q -O- | apt-key add -
apt-get update
apt-get install vmware-open-vm-tools-kmod-source
module-assistant prepare
module-assistant build vmware-open-vm-tools-kmod-source
apt-get install vmware-open-vm-tools

Похоже, что после миграции наших серверов VMware ESXi на версию 5.0 эта проблема исчезает. Видимо, это была проблема с VMware Tools, которую в итоге исправили в VMware.

До этого мы использовали VMware Tools из репозитория Ubuntu по предложению @pehrs, и они работали нормально, за исключением того, что показывались как “Unmanaged” в VMware vCenter, и их нельзя было обновить из консоли VMware vCenter, если доступна новая версия. Вместо этого кому-то нужно было войти в машину с Ubuntu под root и проверить наличие обновлений. Это было рабочее краткосрочное решение.

Ответ или решение

Установка VMware Tools на виртуальную машину с Ubuntu 11.04, работающую на VMware ESXi, требует тщательного подхода, особенно если возникают ошибки компиляции модулей, как в вашем случае. Вы упоминаете, что обновили VM с Ubuntu 10.04 до 11.04, а также обновили ESX до версии 4.1, однако вы всё ещё сталкиваетесь с проблемами при переустановке VMware Tools — модули не компилируются корректно.

Теория

VMware Tools — это набор утилит, который улучшает производительность виртуальной машины и её взаимодействие с гипервизором VMware. Он предоставляет такие функции, как корректное отображение разрешения экрана, возможность плавного перемещения курсора мыши между VM и хостом, поддержка виртуальных дисков и сетевых драйверов, а также функциональность синхронизации времени.

Эти инструменты регулярно обновляются VMware для совместимости с новыми версиями ядра Linux и самой VM-ware. Поэтому при обновлении дистрибутива Ubuntu или самой версии гипервизора может возникнуть несовместимость, как это наблюдается в вашем случае.

Пример

Ошибка, которую вы получаете, unknown field 'clear_inode' specified in initializer, указывает на несовместимость структур данных, используемых в последних версиях ядра Linux по сравнению с более старыми версиями. Аналогично, ошибка implicit declaration of function 'init_MUTEX' также является результатом изменений в ядре Linux, где старые функции более не поддерживаются или заменены новыми аналогами.

Наиболее очевидным решением этих проблем является использование open-vm-tools — альтернативной, поддерживаемой сообществом версии VMware Tools, которая зачастую имеет лучшее соответствие для более свежих версий ядра Linux и дистрибутивов Ubuntu. Этот пакет официально поддерживается в репозитории Ubuntu и активно обновляется для совместимости с последними версиями Ubuntu и Linux ядра.

Применение

Для устранения ваших проблем с компиляцией модулей VMware Tools рекомендуется выполнить следующие шаги:

  1. Удалите текущие установки VMware Tools, чтобы избежать конфликтов:

    sudo vmware-uninstall-tools.pl
  2. Установите заголовки ядра и open-vm-tools. Это специализированное программное обеспечение поможет обеспечить совместимость с текущей версией ядра вашей системы:

    sudo apt-get update
    sudo apt-get install linux-headers-virtual open-vm-dkms open-vm-tools
  3. Если требуется, добавьте репозиторий VMware для получения последней версии open-vm-tools, специально оптимизированной для использования с VMware ESXi:

    sudo add-apt-repository 'deb http://packages.vmware.com/tools/esx/4.1latest/ubuntu natty main restricted'
    wget http://packages.vmware.com/tools/VMWARE-PACKAGING-GPG-KEY.pub -q -O- | sudo apt-key add -
    sudo apt-get update
  4. Установите vmware-open-vm-tools:

    sudo apt-get install vmware-open-vm-tools
  5. Компиляция модулей через module-assistant:

    sudo apt-get install module-assistant
    sudo module-assistant prepare
    sudo module-assistant build vmware-open-vm-tools-kmod-source
  6. Проверьте работу VMware Tools: перезагрузите виртуальную машину и убедитесь, что все необходимые модули загружаются без ошибок.

  7. Обратите внимание на обновления: хотя на момент написания данного ответа VMware ESXi 5.0 исправил многие подобные ошибки в VMware Tools, следите за обновлениями от VMware и Ubuntu, так как часто проблемы подобного рода устраняются в последующих обновлениях.

Следуя этим шагам, ваша система должна достичь необходимого уровня совместимости между установленным дистрибутивом Ubuntu и версией гипервизора VMware ESXi. Это решения вам помогут не только исправить текущие ошибки, но и обеспечат поддержку новых обновлений ядра и системы в будущем.

Оцените материал
Добавить комментарий

Капча загружается...