スキップしてメイン コンテンツに移動

投稿

Debian 12 netinst for amd64 をシリアルコンソール 経由でインストール可能にする

シリアルコンソール経由で Debian12 amd64 をインストールする必要があるため、調べたところ、isolinux(BIOS) と grub(UEFI) の起動メニューを変更する必要がある様でした。そこでrufusで作成したUSBインストーラに変更を加えたところシリアル経由 ( 115200/8/parity non/stopbit 1) でインストーラーを起動できたので備忘録として挙げてみることにしました。 具体的な変更点(diff)は以下の通りです。 --- boot/grub/grub.cfg.orig 2025-02-21 09:24:20.000000000 +0900 +++ boot/grub/grub.cfg 2025-02-21 09:50:24.000000000 +0900 @@ -27,9 +27,18 @@ set menu_color_highlight=white/blue fi +serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1 +terminal_input --append console serial +terminal_output --append console serial + insmod play play 960 440 1 0 4 440 1 set theme=/boot/grub/theme/1 +menuentry --hotkey=t 'Terminal install' { + set background_color=black + linux /install.amd/vmlinuz vga=788 -console=tty0 console=ttyS0,115200n8 -- noquiet + initrd /install.amd/initrd.gz +} menuentry --hotkey=g 'Graphical install' { set background_color=black linux /install.amd/vmlinuz vga=788 --- quiet --- isoli...
最近の投稿

configfsを使った NVMe over RDMA ターゲットとイニシエータの基本的な設定

Debian 12でconfigfs を使い NVMe over RDMA ターゲット(ConnectX-3 VPI)を設定し、同じくDebian 12の イニシエータ(ConnectX-3 VPI)から接続してみました。今回は PCIe 4.0 の NVMe ドライブを PCIe 3.0 で接続して試してみたのですが、fioを使ったベンチマークでローカルとほぼ同じ速度で接続できましたので備忘録として挙げてみました。 早速ですが、以下設定です。 #### target side modprobe nvmet-rdma NQN=nqn.1868-01.com.example:nvme:i50.500gb01 mkdir /sys/kernel/config/nvmet/subsystems/$NQN cd /sys/kernel/config/nvmet/subsystems/$NQN echo 1 > attr_allow_any_host mkdir namespaces/10 cd namespaces/10 echo -n /dev/nvme0n1 > device_path echo 1 > enable mkdir /sys/kernel/config/nvmet/ports/1 cd /sys/kernel/config/nvmet/ports/1 # 全てのインターフェースでリスンする場合は 0.0.0.0 を指定 echo -n 0.0.0.0 > addr_traddr echo rdma > addr_trtype echo 4420 > addr_trsvcid echo ipv4 > addr_adrfam ln -s /sys/kernel/config/nvmet/subsystems/$NQN /sys/kernel/config/nvmet/ports/1/subsystems/$NQN # 確認 dmesg | grep "enabling port" [ 1342.115704] nvmet_rdma: enabling port 1 (0.0.0.0:4420) ターゲット側は以上です。 続いてイニシエータ側から接続してみます。 #### init...

iSER/iSERT を Initiator/Target 共に Debian12 で構成する

前回に加え、今回は、ターゲット(サーバ 10.1.56.50 i50)側でiSERTを有効にし、iSERなイニシエータ(クライアント 10.1.56.109 sv109)を追加してみました。流れは 前回 とほぼ同じで一部重複する部分がありますが、設定は以下の通りです。 # target(server) 側の追加設定 # rdma-coreがインストールされていない場合 apt-get install rdma-core # backup cp -a /etc/rdma/modules/rdma.conf /etc/rdma/modules/rdma.conf.orig # edit /etc/rdma/modules/rdma.conf # uncomment ib_isert # rdma-load-modules service を再起動しモジュールをロードさせる systemctl restart rdma-load-modules@rdma.service # iSERT の 設定 targetcli targetcli shell version 2.1.53 Copyright 2011-2013 by Datera, Inc and others. For help on commands, type 'help'. /> cd /iscsi /iscsi> ls o- iscsi ...................................................... [Targets: 1] o- iqn.1868-01.com.example:i50.rd4gb01 ......................... [TPGs: 1] o- tpg1 .................................... [no-gen-acls, auth per-acl] o- acls .................................................... [ACLs: 1] | o- iqn.1868-01.com.example:sv106 ...... [1-way auth, Mapped LUN...

iSCSI で ramdisk を試してみる

NVMe over RDMA や iSER を検討しているのですが、その前に iSCSI で ramdisk を使うとどうなるか調べておくことにしました。 以下、長いのですが、環境は Debian 12 で、ターゲット(サーバ 10.1.56.50 i50)およびイニシエータ(クライアント 10.1.56.106 sv106)の設定です。 # 必要パッケージのインストール apt-get install targetcli-fb # コマンドの起動 targetcli targetcli shell version 2.1.53 Copyright 2011-2013 by Datera, Inc and others. For help on commands, type 'help' /> cd /backstores/ /backstores> ls o- backstores .................................................................................... [...] o- block ........................................................................ [Storage Objects: 0] o- fileio ....................................................................... [Storage Objects: 0] o- pscsi ........................................................................ [Storage Objects: 0] o- ramdisk ...................................................................... [Storage Objects: 0] # ラムディスクの作成 /backstores> cd ramdisk /backstores/ramdisk> create nam...

ConnectX-3 Pro の RoCE version を Debian 12のInbox Driver 環境下で 永続的に変更する

NFS over RDMAのサーバ(ターゲット)にする場合で、ConextX3-Proがネットワークインターフェース(正確にはRoCE v1.5 )の場合、RoCE v1/v2 の何れでもクライアントにすることができます。しかし、たとえばConnectX-3 VPIの場合、RoCE で動作させると RoCEはv1になるのですが、この場合、サーバになることができません。 ではどうすればよいかですが、サーバ側を RoCE v2 にするか、クライアント側を RoCE v1 にする必要があります。 そこで調べたのですが、Debian 12 の Inbox Driver だけで ConnectX3-Pro の RoCE version を変更する情報でまとまったものがなかったので、備忘録として挙げてみることにしました。 まず最初に、ドライバーが自動で読み込まれる様にし、またツール類を入れ再起動し、ネットワークの設定をして再起動しておきます。これは 前回 と同じです。 次にインストールされたパッケージの内、 ibv_devinfo というコマンドを実行します。すると hca_id: が一覧の内に表示されるのでこれをメモしておきます。 hca_id: rocep2s0 transport: InfiniBand (0) --snip-- 今回の場合は rocep2s0 になります。これはネットワークインターフェース名とは異なるので注意してください。つづいて認識されたネットワークインターフェース名は、この場合、enp2s0だったので、ミニマムな Debian 12 Netinstの場合、 /etc/network/interfaces.d/enp2s0を例えば以下のようにします。 auto enp2s0 iface enp2s0 inet static address 10.1.56.106 netmask 255.255.255.0 pre-up mkdir -p /sys/kernel/config/rdma_cm/rocep2s0/ pre-up echo "IB/RoCE v1" > /sys/kernel/config/rdma_cm/rocep2s0/ports/1/default_roce_mode 今回...

Debian 12 でIPoIB を設定し NFS over RDMA を試してみる

まずはじめに、IPoIBの設定から始めます。前提としては Mellanox の VPI HCA / RoCE NIC が刺さっているものとします。Debian 12 の場合、Inbox Driver に ib_ipoibがあるのですが、以下のようにすると、ツール類のインストールと同時に再起動時 ib ネットワークインターフェースが認識されるようになります。 apt-get install rdma-core ibutils infiniband-diags ibverbs-utils rdmacm-utils perftest 認識されたibインターフェースがたとえばibp1s0だったとします。この場合、Debian 12 netinst の最小構成では /etc/network/interface.d/ibp1s0 を以下のようにします。(connected modeでcpu 8スレッドに受信処理を分散させる場合) auto ibp1s0 iface ibp1s0 inet static address 10.1.40.50 netmask 255.255.255.0 post-up echo connected > /sys/class/net/ibp1s0/mode post-up echo ff > /sys/class/net/ibp1s0/queues/rx-0/rps_cpus 編集が済んだら、sudo ifup ibp1s0としてください。リンクがアップされるまで少し時間がかかる場合がありますので、注意してください。なお、managed switch なしまたは直結の場合、どこかに opensmを立ち上げる必要がありますが、本稿では触れません。 今回は以下、 nfs サーバ は 10.1.40.50, nfsクライアントは10.1.40.51で小規模なRAM disk (4GB)を共有するものとします。以下 nfs サーバーでの作業です。 # nfs server 10.1.40.50 apt-get install nfs-kernel-server cp -a /etc/exports /etc/exports.orig echo '/srv *(fsid=0,rw,insecure,no_r...

Ubuntu 20.04 lts で ネットワーク管理を netplan.io から ifupdown に変更する

netplan だけでなく、network-manager もそうなんですが、たとえば /sys 以下のあるファイルに設定を書き込んだり、ethtool を起動して設定を変更するなどするためのフックが今のところみつかっていません。なれていない所為もありますが、ifupdown でできていた細かな設定ができません。 なので、netplan から ifupdown に戻す方法を備忘録として挙げてみることにしました。 まず最初にネットワークが稼働している状態で ifupdown と resolvconf をインストールします。 sudo apt-get install ifupdown resolvconf 続いて ifupdown で使用する最低限のネットワーク設定を記述し、 システム起動時に動作するようにします。 # edit /etc/netwrork/interfaces/eno1 auto eno1 iface eno1 inet static address 10.1.1.107 netmask 255.255.255.0 gateway 10.1.1.23 dns-nameservers 10.1.1.64 10.1.1.65 # set ifupdown enabled systemctl enable networking 次は netplan を削除します。以下は 20.04 lts の場合です。 dpkg -P netplan.io ubuntu-minimal cloud-init あとは再起動するだけです。前述しましたが、細かなチューニングを行ったり、ポリシーベースルーティングを設定する場合など、ifupdown でないと出来ないことはあると思います。 今回は以上です。それでは。