Я хочу использовать LIO iscsi-target программное обеспечение на моем сервере Ubuntu для размещения цели для моего компьютера VMware.
Единственная проблема заключается в том, что я не могу найти никаких руководств или шагов по компиляции нового ядра с необходимыми модификациями.
Есть идеи, как я мог бы заняться этим процессом?
Я нашел это, но это для CentOS, поэтому я полагаю, что это не сработает для меня, или будет?
Некоторое время назад я написал один для OpenSUSE (ссылка на сайт), с которым вы, возможно, уже столкнулись во время поиска в Google. Поскольку это для распространения на основе RPM, все шаги не на 100% точны.
То, что вы хотите сделать, вполне возможно в Ubuntu. Первый шаг - получить локальный исходный архив ядра. Это подробно задокументировано Вот. Ключевой шаг -
sudo apt-get build-dep --no-install-recommends linux-image-$(uname -r)
apt-get source linux-image$(uname -r)
Который получит его на месте. Прочтите всю статью, чтобы узнать больше о компиляции файлов для ядер.
Оттуда нужно забрать архив LIO с канала backports (см. Мою ссылку).
git clone git://linux-iscsi.org/lio-core-backports.git lio-core-backports.git
git clone git://git.kernel.org/pub/scm/linux/storage/lio/lio-utils lio-utils.git
Следующий шаг: подготовить ядро. Перейдите в каталог с исходным кодом ядра (скорее всего, / usr / src / linux) и выполните следующую пару команд:
make oldconfig
make prepare
Это подготовит ядро к компиляции модулей для вашей текущей версии ядра.
Затем перейдите в lio-core-backports.git
каталог, который вы создали выше, и запустите:
./autoconfig
make
make install
Ошибки здесь, скорее всего, связаны с неправильной подготовкой архива ядра. Последний шаг здесь фактически устанавливает модули. Теперь установим утилиты, которые упрощают управление.
Перейти в lio-utils.git
каталог и повторите указанные выше команды.
Теперь у вас (вероятно) установлен LIO-Target. Пора поработать над вашим конфигурационным файлом. Как только вы дошли до понимания того, как правильно настроить файлы конфигурации, у вас уже есть модули ядра, установленные и готовые к работе.
Отказ от ответственности: я минимально знаком с тем, как работает диспетчер пакетов Ubuntu, поэтому приведенный выше материал apt-get был взят непосредственно из документации. Ваши фактические команды могут отличаться. Батарейки в комплект не входят.
Это немного сложнее сделать в Ubuntu. Я сделал это на ядре 3.2, но думаю, что с ядром 3.0 уже все было нормально.
Возьмите с kernel.org или rts git: configshell <make deb & install deps & dpkg -i targetcli <make deb & install deps & dpkg -i rtslib <make deb & install deps & dpkg -i lio-utils <run dpkg- buildpackage в ./debian
после установки lio-utils мне пришлось chmod 755 / usr / lib / python / dist-packages / tcm_ * py
после запуска /etc/init.d/target мне пришлось вручную монтировать configfs один раз и перезапустить цель еще раз
После этого вы сможете запустить команду статуса.
root@klappstuhl:~# /etc/init.d/target status
[---------------------------] TCM/ConfigFS Status [----------------------------]
[---------------------------] LIO-Target Status [----------------------------]
Утверждения о том, что он не работает без коммерческих инструментов, в основном относятся к FUD.
Сборка не очень проста, и документация не пользовалась любовью со времен Ubuntu 7, но все равно было бы неплохо, если бы Ubuntu мог сконцентрироваться на правильной упаковке этого программного обеспечения вместо более старого, подобного (т.е. не имея надлежащих резервов и tgtd не может использовать ACL группы инициаторов - НЕТ настройка ip / netmask НЕ является группой инициатора!)