Ubuntu 16.04 - установить возможность горячего подключения PCI
Я пытаюсь добиться горячего подключения памяти в гостях KVM, следуя этому руководству: горячее подключение памяти с помощью Qemu/KVM и libvirt.
Мне удалось завершить это, но ничего не происходит. Учебник говорит мне, что мне нужно ядро версии 3.9 или выше, и я использую 4.8. Также говорится, что мне нужны модули acpiphp
а также pci_hotplug
, Результаты поиска в Google подсказали мне, что мне просто нужно бежать (на гостя):
for m in acpiphp pci_hotplug; do sudo modprobe ${m}; done
Однако это приводит к следующему ошибочному выводу:
modprobe: FATAL: Module acpiphp not found in directory /lib/modules/4.8.0-39-generic
modprobe: FATAL: Module pci_hotplug not found in directory /lib/modules/4.8.0-39-generic
Этот вопрос похож на вопрос Ubuntu: горячее подключение PCI не работает, когда в решении также говорится, что мне нужны acpiphp и pci_hotplug, поэтому я уверен, что мне нужны эти модули.
Вопрос
Как мне установить acpiphp
а также pci_hotplug
на Ubuntu 16.04 для моего гостя KVM?
1 ответ
Возможно, эта функция уже скомпилирована в ядре, и вам не нужно загружать какой-либо модуль. Проверьте, включены ли эти параметры в вашем ядре:
# grep "CONFIG_HOTPLUG_PCI_ACPI=" /boot/config-`uname -r`
CONFIG_HOTPLUG_PCI=y
# grep "CONFIG_HOTPLUG_PCI=" /boot/config-`uname -r`
CONFIG_HOTPLUG_PCI_ACPI=y
# grep "CONFIG_MEMORY_HOTPLUG=" /boot/config-`uname -r`
CONFIG_MEMORY_HOTPLUG=y
Затем для ядра>=4.8 вам нужно установить этот параметр при загрузке:
memhp_default_state=online
(как указано в инструкции Proxmox Hotplug)
Изменить: если memhp_default_state=
не установлен при загрузке, ядро будет по умолчанию CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE
Конфигурация ядра.