0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Kubuntu20.10をiPXE iSCSIブート、おまけでGPUパススルーバグ暫定回避策

Last updated at Posted at 2021-01-17

#Kubuntu20.10をiPXE iSCSIブート

標準のインストーラではiSCSI LUNを認識してくれず直接インストールできないようです。
一旦、KVMでiSCSIのLUNを物理ディスクと認識させて普通にインストールしたあと。

iSCSIのイニシエータの設定
	# apt install open-iscsi
	# vi  /etc/iscsi/initiatorname.iscsi
		InitiatorName=iqn.xxx

	# vi /etc/iscsi/iscsi.initramfs
		ISCSI_AUTO=true

	# vi /etc/iscsi/iscsid.conf
		node.startup = automatic	#有効にする
		# node.startup = manual		#無効にする
initramfsのアップデート
	# update-initramfs -u

あとは、iPXEで、

boot.ipxeの設定
	set initiator-iqn iqn.xxx
	set root-path     iscsi:xx.xx.xx.xx::::iqn.xxx
	set keep-san      1
	sanboot           ${root-path}
	exit

##(ここからが本題)

もともとKubuntu20.04をAMD B450+2000G上で動かしていました。そのときは上記でいけてました。
AMD B550+4000Gに買い換えたところ、、、
  KVMゲストがオンボードのNICを認識しなくなりました。
Kubuntu20.10のKernel5.8だと直っているようだったので、バージョンアップしたところ、、、

initramfsでIPが降ってくる前に、iSCSIのrootボリュームをマウントしに行こうとして、
  iscsistart initiator reported error (15 - session exists)
でBusyBoxに落ちちゃうようになりました。
うちの環境ではDHCPの反応が遅い(?)せいかな。

で、initramfs内のiSCSIスクリプトに適当にパッチをあててみたらうまく行きました。

iSCSI接続スクリプト
	# cp -rp /usr/share/initramfs-tools/scripts/local-top/iscsi /etc/initramfs-tools/scripts/local-top
	# vi /etc/initramfs-tools/scripts/local-top/iscsi
		:
		if ! [ -e /run/initramfs/open-iscsi.interface ] ; then
			:
		fi

		# ここから:追加(220行目あたり)
		/usr/bin/ip link set  ${DEVICE} up
		busybox sleep 30		# 適当にsleepを入れる
		# ここまで:追加

		modprobe iscsi_tcp
		modprobe crc32c
		:

('21/01/24.追記、ここから)
Kernel5.8.0.40.44、にバージョンアップすると起動時エラーがでるように、、、

mdadm: error opening /dev/md?*: No such file or directory

RAID使っていないので除外すればいいだけのようです。

RAID設定
	# vi /etc/mdadm/mdadm.conf i
		:
		# 末尾に追加
		ARRAY <ignore>  devices=/dev/sdX

('21/01/24.追記、ここまで)

initramfsのアップデート
	# update-initramfs -u

これで行けるかも。
あまり情報なかったのでここに書いてみました。

##(20.10でのGPUパススルーバグ暫定回避策の話)
別記事にしようと思ったのですが、30分ほど待てといわれた。
これは調べたらすぐわかることなので、関連しているので一つにまとめてもいいかなと思いここへ。

5.8でKVMパススルーすると仮想マシンが起動しなかったです。
  WARNING: CPU: 7 PID: 2524 at fs/eventfd.c:74 eventfd_signal+0x88/0xa0
バグのようです。https://bugzilla.kernel.org/show_bug.cgi?id=209253

暫定回避策も上記に書かれていますが、オプションを追加するだけ。

仮想マシン起動オプションの追加
	# virt-xml "machine_name" --edit --confirm --qemu-commandline '-global vfio-pci.x-no-vfio-ioeventfd=on'
追加される情報
  <qemu:commandline>
    <qemu:arg value='-global'/>
    <qemu:arg value='vfio-pci.x-no-vfio-ioeventfd=on'/>
  </qemu:commandline>

まだたまに落ちますが、、、

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?