Я пытаюсь установить OpenStack DevStack на гостевой компьютер LXC. Для одного из пакетов DevStack требуется новый модуль ядра, но когда я пытаюсь запустить modprobe на гостевой машине LXC, я получаю сообщение об ошибке:
ubuntu@lxc$ sudo modprobe scsi_transport_iscsi
FATAL: Could not load /lib/modules/3.2.0-48-generic/modules.dep: No such file or directory
Как я могу установить этот модуль на мою гостевую машину LXC?
Короткий ответ: нельзя. Контейнеры LXC делят свое ядро с хостом и по умолчанию не могут загружать модули (поскольку это было бы довольно опасно).
Стандартная рекомендация - загружать любой модуль на хост до запуска контейнера. Вы можете сделать это с помощью старого доброго сценария инициализации или с помощью хука lxc (подробности см. В моем недавнем посте здесь: https://www.stgraber.org/2013/12/23/lxc-1-0 -Некоторое-более продвинутое-контейнер использование / )
В целях этого ответа я позволяю нам предположить, что Ваш контейнер называют "нечто".
От хоста, сохраните копию/var/lib/lxc/foo/config, в случае, если мои инструкции повреждают что-то.
необходимо будет настроить контейнер для хранения возможности SYS_MODULE. Знайте, что такая конфигурация дает тому контейнеру способность принять ядро и таким образом хост. Чтобы сделать это, Вы хотите изменить "lxc.cap.drop" или "lxc.cap.keep" строку конфигурации. Если Вы выполняете гостя Ubuntu 19.04, который был создан с, "lxc-создают - нечто имени - шаблонная загрузка-..." затем...
файл/var/lib/lxc/foo/config будет содержать строку "lxc.include =/usr/share/lxc/ubuntu.common.conf", файл/usr/share/lxc/ubuntu.common.conf будет содержать строку "lxc.include =/usr/share/lxc/config/common.conf", и файл/usr/share/lxc/config/common.conf будет содержать строку как это:
lxc.cap.drop = mac_admin mac_override sys_time sys_module sys_rawio
необходимо скопировать ту последнюю строку в конец/var/lib/lxc/foo/config (или любое место после того, как "включают/usr/share/lxc/ubuntu.common.conf"), и затем удалите "sys_module" из того списка.
mkdir-p/var/lib/lxc/foo/rootfs/lib/modules CP - апрель/lib/modules/$ (uname-r)/var/lib/lxc/foo/rootfs/lib/modules /
контейнер LXC должен теперь смочь загрузить и разгрузить модули ядра.