From: "Москаленко Алексей Владимирович" <mav@elserv.msk.su>
To: sysadmins@lists.altlinux.org
Subject: Re: [Sysadmins] Загрузка системы по PXE с корнем на iSCSI (make-initrd?)
Date: Wed, 20 Feb 2019 08:54:53 +0300
Message-ID: <890d50c72df6a8198a2e6823bda98056@elserv.ru> (raw)
In-Reply-To: <153402c6-4f06-fec4-3755-0bbef323b6d0@complife.ru>
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'а...
prev parent reply other threads:[~2019-02-20 5:54 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-14 16:25 ` Michael A. Kangin
2019-02-15 6:33 ` Москаленко Алексей Владимирович
2019-02-17 23:44 ` Evgeny Sinelnikov
2019-02-19 19:19 ` Michael A. Kangin
2019-02-20 5:54 ` Москаленко Алексей Владимирович [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=890d50c72df6a8198a2e6823bda98056@elserv.ru \
--to=mav@elserv.msk.su \
--cc=sysadmins@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux sysadmins discussion
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \
sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com
public-inbox-index sysadmins
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.sysadmins
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git