Оптимизация FreeBSD для XenServer, ZFS в качестве корневой файловой системы.

Имеем FreeBSD 9.2 RELEASE установленную в XenServer 6.2 — корневая файловая система ZFS. Задача установить xen-tools для полной оптимизации системы.
Исправляем файл:

/usr/src/sys/kern/subr_autoconf.c

Комментируем строку 136 и 145.

/*      while (!TAILQ_EMPTY(&intr_config_hook_list)) { */
                if (msleep(&intr_config_hook_list, &intr_config_hook_lock,
                    0, "conifhk", WARNING_INTERVAL_SECS * hz) ==
                    EWOULDBLOCK) {
                        mtx_unlock(&intr_config_hook_lock);
                        warned++;
                        run_interrupt_driven_config_hooks_warning(warned);
                        mtx_lock(&intr_config_hook_lock);
                }
/*      } */


Данный шаг не актуален в случае использования файловой системы UFS. Если используется файловая система ZFS в качестве корневой, система не загрузится с ошибкой:

run_interrupt_driven_hooks: still waiting after 60 seconds for xenbusb_nop_confighook_cb
run_interrupt_driven_hooks: still waiting after 120 seconds for xenbusb_nop_confighook_cb
run_interrupt_driven_hooks: still waiting after 180 seconds for xenbusb_nop_confighook_cb
run_interrupt_driven_hooks: still waiting after 240 seconds for xenbusb_nop_confighook_cb
run_interrupt_driven_hooks: still waiting after 300 seconds for xenbusb_nop_confighook_cb

Подробнее об этом тут.
Собираем ядро с поддержкой XEN.

cd /usr/src
make kernel KERNCONF=XENHVM

Не перезагружаясь или параллельно из второй консоли:

portsnap fetch 
portsnap extract
cd /usr/ports/sysutils/xen-tools/
make install clean
cd /usr/ports/sysutils/xe-guest-utilities
make install clean

добавляем в rc.conf

xenguest_enable="YES"

исправляем имена сетевых интерфейсов:

re

на

xn

При использовании файловой системы UFS — исправляем в файле fstab имена устройств:

ada

на

da

Перезагружаемся.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *