Michael A. Kangin писал 19.02.2019 22:19:
В смысле - make-initrd?
Да, правильно было бы сделать тематическую фичу.

С документацией вот к сожалению не очень.
По мотивам фичи multipath была сделана фича iscsi, которая добавляет в initrd iscsid/iscsiadm/ip/grep, содержимое /etc/iscsi, модуль iscsi_tcp и модуль для сетевой карты. Также был написан скрипт 075-iscsi, поднимающий интерфейс и логинящийся на target. Скрипт такого вида:

#!/bin/sh

msg='Starting iscsi...'
run() {
        ifname="eth0"
while ! ip li sh dev $ifname > /dev/null 2>&1; do echo "Waiting for interface $ifname to appears..."; sleep 5; done
        ip li set dev $ifname up
        ip a a dev $ifname 192.168.0.10/24
        ip r a default via 192.168.0.1
while ! ip li sh dev $ifname | grep "UP,LOWER_UP" > /dev/null 2>&1; do echo "Waiting for link up..."; sleep 5; done
        iscsid
        iscsiadm -m node -l -T iqn.2014-12.local.iscsi.iscsihost:vm.target
}

Имя интерфейса, его настройки и имя target'а прибиты гвоздями.

Попутно обнаружилась проблема в tools/put-file - elfcheck неадекватно реагирует на симлинки на каталог, которые есть в /etc/iscsi. Пришлось добавить объезд: [ -f "$workdir"/fn ] && elfcheck -f - < "$workdir"/fn > "$workdir"/fn.elf || true

Сама target сконфигурирована с опцией node.startup=onboot, в iscsid.conf выставлено iscsid.safe_logout=Yes, в опции соответствующего интерфейса в etcnet добавлено KEEP_UP=yes.

Система (UEFI) успешно загружается с target'а с помощью iPXE (sanboot --filename=EFI\altlinux\grubx64.efi ....), в initrd поднимает интерфейс и логинится на target, после чего штатным образом монтирует корень и загружается. При остановке/перезагрузке также все выключается штатно.

Окультурить бы теперь все это, особенно в части автодетекта модуля сетевой карты, передачи настроек интерфейса и имени target'а...
_______________________________________________
Sysadmins mailing list
[email protected]
https://lists.altlinux.org/mailman/listinfo/sysadmins
  • [Sysadmins] З... Москаленко Алексей Владимирович
    • Re: [Sys... Michael A. Kangin
      • Re: ... Москаленко Алексей Владимирович
        • ... Evgeny Sinelnikov
          • ... Michael A. Kangin
            • ... Москаленко Алексей Владимирович

Ответить