LINUX.ORG.RU
решено ФорумAdmin

Centos 7 iSCSI /

 , ,


0

1

Есть сервант, бездисковый, с двумя сетевушками.
Одна смотрит в сеть iSCSI, другая в локалку.
При загрузке была проблема, после изменения /etc/sysconfig/grub (1й комментс) всё поднялось.
Сейчас мне нужно на каждом интефейсе по бриджу для виртуалок.
На том что в локалку - без проблем.
А вот для iSCSI оно само конфигурирует физический интрефейс, и бридж после загрузки не фурычит.
Понятно, что эта конфигурация происходит до ifcfg.
Есть ли варианты завернуть это в бридж, или разрулить как-то более грамотно?

Спасибо за внимание.

★★★★

Как я понял, оно решается через опцию dracut «bridge».
Почлуилось что-то типа:

GRUB_CMDLINE_LINUX="iscsi_firmware rd.lvm.lv=centos_srv03/root
ip=192.168.1.11::192.168.1.2:255.255.255.0:localhost:localdomain:br1:none
crashkernel=auto vconsole.keymap=us rd.lvm.lv=centos_srv3/swap vconsole.font=latarcyrheb-sun16
ifname=enp2s0f1:aa:aa:aa:aa:aa:aa bridge=br1:enp2s0f1 rhgb quit"
Теперь при загрузке оно говорит «dracut: Fatal: no brctl installed»
brctl в системе есть, все бриджи создаются после загрузки без проблем.

Yustas ★★★★
() автор топика
Ответ на: комментарий от Yustas

Добавил в initramfs искомую утилитку:

#dracut -I /sbin/brctl --force
вычистил ненужное из /etc/sysconfig/network/scripts/ifcfg-*
скормил подправленный конфиг грубу:
#grub2-mkconfig -o /boot/grub2/grub.cfg

Благодарю всех за подсказки!

Yustas ★★★★
() автор топика
19 августа 2014 г.
Ответ на: комментарий от Yustas

А можно ли по подробнее пояснить все выше описанное. Сам уже неделю бьюсь, хочу создать бездисковый сервер на федоре. В начале бился с NFS, это были первые шаги, сервер не загрузился с первого раза, по не знанию решил перейти на NBD. Задался вопросом как реализовать swap, который корнем все таки не передается, так какустройство /dev/nbd0 содержит внутри себя лишь корневую файловую систему. На мое удивление используя NBD загрузился, но без свопа и с проблемой с kernel panic во время перезагрузки/выключения (https://bugzilla.redhat.com/show_bug.cgi?id=1104797), как я понимаю хоть система и загрузилась и работает отлично, но при выключении системы происходит что-то мне не понятное с файловой системой, Dracut что-ли ее не видит. Пытаюсь разобраться с Dracut, на примерах из сети, но информации столь мало, что проще все бросить. сегодня плюнул и решил пойти в сторону реализации с ISCSI, но тут информации еще меньше.

Так вот, не могли бы вы подсказать куда мне рыть? Что делать со свопом? И самое интересное, у вас выше написаны инструкции Dracut использовать LVM. Возможно ли в реализации с ISCSI грузить не образ файла одной лишь файловой системе, который лежит на сервере в виде образа, а грузить LVM том, в котором бы размещались корневая ФС и своп. Изучая скрипты модулей Dracut, я понял что это не возможно, но может быть есть возможность комбинировать модули и тем самым что то реализовать подобное.

Спасибо, за надеюсь более полный ответ в будущем.

dmnord
()
Ответ на: комментарий от dmnord

Centos 7 iSCSI root

После установки, загрузка валится с

dracut fatal for argument ip= localhost.localdomain

1. Выбрать в ГРУБе редактирование параметров загрузки «e» 2. Привести исковую подстроку вида

    ip=::::localhost.localdomain:p2p1:none

к

  ip=192.168.3.12::192.168.3.1:255.255.255.0:localhost.localdomain:p2p1:none

3. Ctrl+x для загрузки. 4. Внести это в файл /etc/sysconfig/grub и скормить ГРУБУ:

#grub2-mkconfig -o /boot/grub2/grub.cfg

И всё бы ничего, если не нужен бридж на этом же интерфейсе. Тогда нужно добавить утилитку brct в образ initramfs:

#dracut -I /sbin/brctl --force

глянуть результат:

#lsinitrd

и привести строку конфига ГРУБа к виду:

GRUB_CMDLINE_LINUX="iscsi_firmware rd.lvm.lv=centos_srv03/root
ip=192.168.1.11::192.168.1.2:255.255.255.0:localhost:localdomain:br1:none
crashkernel=auto vconsole.keymap=us rd.lvm.lv=centos_srv3/swap vconsole.font=latarcyrheb-sun16
ifname=enp2s0f1:aa:aa:aa:aa:aa:aa bridge=br1:enp2s0f1 rhgb quit" 
Yustas ★★★★
() автор топика
Ответ на: комментарий от dmnord

Так вот, не могли бы вы подсказать куда мне рыть?

Выше - копипаст с нашей вики.

Что делать со свопом?

В моём случае, всё со свопом хорошо.

И самое интересное, у вас выше написаны инструкции Dracut использовать LVM.Возможно ли в реализации с ISCSI грузить не образ файла одной лишь файловой системе, который лежит на сервере в виде образа, а грузить LVM том, в котором бы размещались корневая ФС и своп.

У меня так и сделано - на диске обычная кентовая разметка - /boot отдельно, своп и / в LVM

Изучая скрипты модулей Dracut, я понял что это не возможно

Либо я не совсем понял что тебе нужно.

Смотри параметры загрузки в документации драката

Yustas ★★★★
() автор топика
Ответ на: комментарий от Yustas

Мне именно это (LVM over iSCSI) и нужно. Не могу только понять откуда берется этот LVM том centos_srv03. Он по идее транслируется через iSCSI, но как я вижу в параметрах Dracut нет строки на подобии root=iscsi:параметры, да и нет совсем инструкции root. Я думал что Dracut требует обязательнго присутсвия root=* в параметрах загрузки.

У меня так и сделано - на диске обычная кентовая разметка - /boot отдельно, своп и / в LVM

А откуда берется раздел /boot в твоем случае?

anonymous
()
Ответ на: комментарий от anonymous

А откуда берется раздел /boot в твоем случае?

У меня он подтягивается по iSCSI сетевым контроллером хитрым.
Но можно хоть на флешке его приделать.

Yustas ★★★★
() автор топика
Ответ на: комментарий от Yustas

Как я понимаю, LVM подтягиваеся аналично разделу /boot, то есть через хитрый iSCSI-контроллер, у меня контроллеры обычные, а потому это мне не подходит, к сожалению...

anonymous
()
Ответ на: комментарий от anonymous

Воткни флешку, самую минимальную, и сделай на ней /boot
И пусть он остальное с LVM по iSCSI подтягивает.

Yustas ★★★★
() автор топика
Последнее исправление: Yustas (всего исправлений: 1)
Ответ на: комментарий от Yustas

В общем, создал написал скрипт который создает блочное устройство с 3-мя разделами /boot, LVM:/ и LVM:swap. Попробовал транслировать со своей рабочей машины это устройство...монтирует. Прописал в меню syslinux параметры rd.lvm.lv для корня и swap. Загрузить пока по сети не пробовал, но думаю заработает. Отпишусь позже. У меня другой вопрос: как я понимаю swap и раздел /boot надо в fstab'е прописать, чтобы грузить отдельно после того как корень примонтируется Дракутом, в каком именно не понимаю: 1) на файловой системе 2) в initramfs в папке pxe на сервере 3) в initramfs в папке /boot на файловой системе Не мог бы ты подсказать?

dmnord
()
Ответ на: комментарий от dmnord

1) на файловой системе

Думаю, что тут.

2) в initramfs в папке pxe на сервере 3) в initramfs в папке /boot на файловой системе

PXE отдаёт initramfs и образ ядра.
Что за initramfs в /boot? Нн там один из сети, нет?

Они загружаются и пускают дракат, который монтирует разделы.
И уже с них берётся fstab, так думаю.
Есть соображения?

Yustas ★★★★
() автор топика
Ответ на: комментарий от Yustas

Что за initramfs в /boot? Нн там один из сети, нет?

Мой скрипт создает заданное количество блочных устройств (через kpartx) в файле. Используя cpio я копирую в каждую из них структуру файлов из названного мною template.iso, который в свою очередь я создаю через livecd-creator на основе kickstart-файла. Так вот при создании в этом файле устанавливается свежее ядро (в каталоге /boot), а вот будет ли оно использоваться при загрузке по pxe, я не знаю. Из того же iso файла я беру vmlinuz0 и inird0.img и копирую в папку pxe. Оба ядра идентичны, создаются на этапе создания ISO-образа.

Они загружаются и пускают дракат, который монтирует разделы.
И уже с них берётся fstab, так думаю.
Есть соображения?

Как мне представляется fstab со всеми точками монтирования надо вшить initramfs в папке pxe для того чтобы система подгрузилась как надо, но также fstab нужен и на фаловой системе, так как при выключении системы точки монтирования надо будет размонтировать. Не? Честно, не пробовал, а лишь догадываюсь.

dmnord
()
Ответ на: комментарий от dmnord

а вот будет ли оно использоваться при загрузке по pxe, я не знаю

Как я понимаю, по PXE запрашиваются файлы ядра и инитрамфс.
Они и используются при загрузке. Никакое ядро из /boot при этом не берётся.
И, соответственно, fstab нужно в этот initramfs и на саму файловую систему, для размонтирования.
Думаю так.

Yustas ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.