あっきぃ日誌

鉄道ブログのような技術系ブログのようななにか

52PiのRaspberry Pi 5向けPCIe x1スロットボードを買ってみた。

52Piが販売していたP02 PCIe Slot For Raspberry Pi 5 Extension Adapter Boardをポチってみました。

P02 PCIe Slot for Raspberry Pi 5 Extension Adapter Board – 52Pi Store

1月末にポチったら支払いが確定したまま旧正月に入り、旧正月が終わっても発送のはの字もなかったため、定期的にメールで問い合わせたり、Forumに書いたりしたら全部無視され、製品ページにしれっと「発送に1ヶ月かかります」と追記されました(今見たら消えてた)が、その後やっと発送されて届きました。よって、先に言っておくと52Piのサポートはカスでした。ものは良かったんですけどね。おしい。なので、52Pi製品を取り扱っているGeekwormがAliExpressとかAmazonで売り始めたのを買うのがベターのような気がしました。

その前に

じつはAliExpressでM.2からPCIスロットに変換するボードというのを1月に300円くらいで仕入れまして、ワンチャンこれで動く可能性に賭けようとしたのですが、どうやら安すぎたらしく認識しなかったり何だりして不安定すぎたので断念していました。絵面は良かったんですけどね。

スロットに切り欠きがなかったので自分で加工したのですが、このときに壊したのかそもそも駄目だったのか。先に刺さるやつでテストすればよかったですね。まあ300円なので別に痛くも痒くもないですが。

GIGAZINEで同じようなボードを買って同じく加工していたようですが、あちらは動作したようですね。

52Pi P02 PCIe Slotのほう。

そして本題。パッケージと内容物はこんな感じ。えっと、パッケージに伝票シール直張りで、たまげました。52Pi直販すげえな、たまげました。内容物に問題なかったのでよかったんですけど。中身の方は、ボード、Pi 5を立てる用のネジとナット、PCIe用FPCケーブル、マニュアルとドライバー。ドライバーこそ添付しなくて良くないですか?その気遣いをするなら後述のボードを浮かせるナットが欲しかったです。

Pi 5を乗せたところまで。ポゴピンはPi 5の5VとGNDに接触します。

裏面はFPCコネクター以外何もないこざっぱりとしたようす。

10GbEカードを差し込んで動かしたところ。PCIスロットの分だけ基板を浮かせるためのナットがないため、そのままではだいぶ不格好です。

仕方ないので、手持ちのネジ袋から20mmくらいのナットネジを4つとネジを留める用のナット2つ出して、基板のPCIeスロット側の穴2つと、Pi 5の電源側の穴2つに取り付けました。

これで見かけの方はだいぶ良くなりました。


動かす

今回は手持ちのSolarFlareの10GbEカードを動かしてみました。電源は変換ボードのスイッチで内部電源、外部電源を選択できますが、内部電源にして、公式の電源アダプター(※ユーザー会所有のサンプル品)を使いました。一応これで問題なく動きましたが、外部電源を使ったほうがなんとなく安心な説はあるかもしれません。

で、SolarFlareの10GbEカードはカーネルコンパイルが必要なので、ソースを引っ張ってきてコンパイルします。が、なんかrpi-sourceのPi5対応をどうもまだやっていないか、やってたけど壊れているらしく、とにかくrpi-sourceを使って使用中のカーネルソースコードを引っ張ってくることができないため、ブランチ指定でGithubからcloneする感じのようです。

そのへんの面倒をいい感じにしてくれるコマンドを作っている有志がいるので、これを使わせてもらいました。

https://forums.raspberrypi.com/viewtopic.php?t=343387

ダウンロードしてzipを展開したあと、chmod +x build-kernelで実行権限をつけます。私は-uオプションで一度コンパイルしたあと自分で/usr/src/linuxに移動してmenuconfigをやり直して二度手間になりましたが、多分以下のコマンドでmenuconfigに入ってくれると思います。

$ sudo ./build-kernel --branch rpi-6.1.y -c 5  -j 4 -m

で、menuconfigでSolarFlareのドライバーを有効化してコンパイルしてインストール。そして再起動すると無事10GbEカードが認識しました。(あ、PCIeの有効化の諸々は済ませてあったので省略していますが、52Piのマニュアルを読むなり、NVMeのPi 5での使い方を調べるなりすれば設定できると思います。)

同じ10GbEカード使用のESXiサーバー内のVMとiperf3でベンチマークした結果は3.2Gbpsほどでした。昔CM4でSolarFlareとX520の1:1で試したときは2.7Gbpsほどだったので、500Mbpsくらい早くなったといえば早くなりましたが、いちおうPCIe3.0x1相当のオプションにはしたので、もうちょっと出てもいいような気はしました。また後日試す。試してからブログ書けよそれはそう。

akkiesoft.hatenablog.jp

ちなみに、ブートデバイスにしていたUSB SSDをhdparmでシーケンシャルリードさせながらiperf3をしても3.2Gbpsで、SSDも340MB/s出せていたので、帯域を食い合うということはなさそうに見えました。ここももうちょっと試して別途追加でブログってみましょう。

まとめ

52Piにハラハラさせられながらも、PCIスロットボードを輸入で購入して遊んでみる話でした。びっくりするほど問い合わせが全部スルーされたので、直接買うのは今後ないと思います。

WaveShareでPoE+ボードをポチるなどしているところですが、こちらはすぐに発送されたので問い合わせるまでもなく、まあ、差を感じてしまいますね……。そうそう、PoE+も楽しみにしておるところです。わくてか〜。

Raspberry Pi 5周りの雑多な話題

早く寝たいので雑に書く。いや、1時半。ておくれだ。

公式電源のPSE問題

Pi 5が日本で出た時、公式電源は同時に発売開始されませんでした。つまり、Pi 5に5V5AのPD電源を供給する合法な手段は、日本には今のところないっぽい(個人輸入の各人の解釈により、っぽいで濁しています)ということになります。5V3AじゃUSBポートに電気たくさん使わせてくれないモードになるし、NVMeも5V3Aで動かないことはないけど大丈夫か?って感じになるしで、ちょっと悲しみポイントですね。

公式電源を日本で合法に販売するにはPSEマークの印字が必要ですが、これは日本の企業が取得する必要があり、じゃあ誰が取るねん〜というところが課題っぽいですが、そのへんが解決していないということなんでしょうね。

しかし、実は12月に日本向けの認証が取得されていたらしく、日本の証書がRaspberry Pi Product Information Portal (PIP)にアップロードされていました。気にしてなかったわ。

pip.raspberrypi.com

しかししかし、認証は日本企業による取得ではなく、製造元のカンボジア(!)の企業によるもののようなので、直接これをもって日本で合法!ということにはならなさそうですが、ググった感じでは、日本の企業がPSEの対応をするときは、これをベースに対応を行っていくっぽそうな雰囲気でした。このあたり、技適よりもわかっていないので、本当にそうなのかは不明ですが……。

とにかく、公式電源はまだだけど、日本向けに何もしていないことはなかったっぽい、という話題です。あんまり中身はなかった。

そういえば、公式電源もサンプルがあったことを、どこにも書いていないことに最近気づいたのですが、こんな感じです。Anker Nano II 30W電源の倍くらいのサイズがあって、本番で常設する以外で使う気がちょっと起きないかも……。たのむAnker、Pi 5フレンドリーな小さい電源を出して……!

ちなみに、私が手元でPi 5を動かすときは、AnkerのUSB-Ax5ポートの電源から5V2.4Aで供給してNVMeブートまでやらせていますが、一応動いています。わるいなあ私。

Pi 5のブートローダーEEPROM

Pi 5にもPi 4と同じくブートローダーEEPROMがあります。お手元に届いたらまずはEEPROMイメージの更新をすることをおすすめします。

普段はGithubにコミットされるファームウェアの更新情報を、自作のRSSスクリプトを通じてRSSリーダーでウォッチしているのですが、1月頃からGithubのHTML構造が変わったせいかスクレイピングに失敗して1ヶ月ほど取りこぼしていました……。

github.com

直近は、Pi 4にもあったネットワークインストール機能の実装、SDRAMのリフレッシュ間隔の調整による4GB RAMモデルと8GB RAMモデルの間で起きていたパフォーマンス差の調整(8GB RAMの方が遅くなるケースがあった模様。Issue自体はまだOpen)、WD Blue SN550 NVMe SSD向けのワークアラウンド対応などがあったようです。

ネットワークインストーラーをPi 5で起動した図。Pi 4と同じく、起動時にキーボードのShiftキーを押しっぱなしで呼び出せます。

この記事の投稿時点でのイメージは、Latest(とにかく最新版)、Default(出荷時にインストールするような安定版リリース)ともに2024/2/16版が最新です。LatestかDefaultかを切り替えるには、raspi-configコマンドで、Advanced Options→Bootloader Versionから変更します。

で、EEPROMイメージをアップデートするときは、OSを最新にしてからrpi-eeprom-updateコマンドを実行して、OSを再起動します。

$ sudo apt update && sudo apt upgrade
$ sudo rpi-eeprom-update -a

Pi 5のPMIC

そういえばよくみたらPMICのメーカーの刻印がRunesasになっていました。

昨年イギリスでもらってきたサンプルはdialogになっていたので、ロットが変わって、買収前の社名から買収後の社名になったようです。めちゃくちゃ細かくて、実使用上何も変わらない話ですけどネ。

dialogのPMICは、Pi 4の途中のリビジョン以降でも採用されています。こちらももしかするとそのうちRunesasになっていくかもしれませんね〜。

Pi 5の箱

保管が必要だけど、いちど開封すると口がパカァっと開けたままになっててアレ……そんな時は、ハサミを使って、

ここと、

ここを少し切り落とすと、

こんな感じで内側に差し込みやすくなります。

Raspberry Pi 5が来た

KSYでポチった方のRaspberry Pi 5 8GB RAMが届きました。

が、出張と重なって不在で持ち帰られたりなんだりしたせいか、箱がつぶれていました。かなしい。

さらに、出張の疲れから風邪をひいたらしく、嘔吐下痢発熱でぶっ倒れており、ほとんどあそべていません。かなしい。

さておき、技適は外箱にシール貼付となっているたため、箱の保管が必要です。マニュアルにすら印刷がないので注意したいところです。この箱にPico Wのリールもぶち込んでおくか?同じ技適用保管箱として……。

ケースは事前に買っておいたPiBowをセット。しかし、Active Coolerを買い忘れていました。スイッチで4GBの方とActive Coolerをポチったので、そちらの到着待ちとなります。

サンプル品とともに暗箱に入れてテストしていたSSDボードもこれからはふつうにあそべますね。

Raspberry Pi 5日本販売開始

きたぜきたぜ

www.raspi.jp

在庫チェッカーにも登録したので合わせてどうぞ。

shrimp.marokun.net

どちらのリセーラーもアクセサリをいろいろ用意していますが、スイッチサイエンスさんはPimoroniのPiBowとNVMe BASEも取り扱いを開始していたので、特にNVMeで遊びたい人はスイッチさんのほうが素早くスタートできるかもしれませんね。ただ、どちらとも電源が未発売なので、3A供給で足りるのかは不明です。たりなさそう〜。

Pi 5っぽい過去ブログを貼っておくわね。

Pi 5っぽい発表資料

speakerdeck.com

speakerdeck.com

無償版ESXiサ終!次の自宅サーバー環境どうしよう

VMwareBroadcomに買収され、人がバサバサ切られ、次は製品に大鉈が振られ、無償版のESXiも当たり前ながら終了となりました。

blogs.vmware.com

無償のESXiと言えば4.0か4.1くらいの頃に無償版が登場して、かれこれ15年くらい提供されてきたので、ちょっとしたサーバーインフラ好きなご家庭なら1つくらいESXi環境があったのではないでしょうか(ほんまか?)

うちの自宅も2013年の自作PC導入時のタイミングから10年ちょっと無償版ESXiのお世話になってきました。本当に、今までお世話になりました。

akkiesoft.hatenablog.jp

今後はvSphereのEssentials PlusとStandardが残りつつ、買い切りモデルからサブスクリプションモデルに移行するようですが、自宅サーバーをほそぼそやるには過剰なものになると思うので、別の環境への移行を考えないといけませんね。まあ、基本的にはLinux KVMのお世話になるんだと思っています。2013年より前はXenを使っていたので、久々のLinuxのハイパーバイザー環境に戻ることになりそうですね。

お仕事的にも、既存のお客さんとかどうなっていくんだろうなあと思うと、そのうちV2V案件とかあるんでしょうかね〜って雑談はしています。

現状のESXi使い込み具合

現状の自宅サーバーの使い込み具合を見てみましたが、それほどガッツリは作り込んでいませんでした。VLANもいまはやってないし、ストレージもローカルのSSD1発だし、そうすると考慮するのは以下の3〜4つくらいでした。

  • ネットワークは10GbE + 1GbEでアクティブスタンバイのNICチーミングをする
  • VMバックアップを毎日やる方法を確立しておく
  • OSは基本UbuntuなのでOVAとかのクラウドイメージを使ってデプロイできると嬉しい
  • NASNFSにマウントして、ディスクイメージ置き場からOSインストールしたり、バックアップを置いたりしたい

ちなみに今のESXiはこんな感じ。いまだに6.7のままだったんですよね。7とか8にする前に終わっちまったぜ〜。


色々さわってみよう

問題はどの管理ソリューションを頼るかかなということで、いくつか思い浮かぶものを挙げてみました。

Canonical MAASは試すまでもなく社で使っているのですが、KVM Podsを使えばある程度やれそうな気はします。ただ、ネットワーク管理周りは癖があるかもという感じ。まあちょっと常用する気にはならないかも。

Proxmoxさわってみたけどチョットびみょい

たまによく聞くProxmoxをお試し。これも基本的には無償で触れるけどサブスクリプションしてねというもののよう。ログインすると毎回そう言うメッセージが出てきますが、スクリプトをいじれば消すこともできるそう。いやあ、それはそれでどうなんだっていう感じはします。

なんとなくVMwareとUIが似ているような似てないような感じはありますが、やれることはやれそうな印象。ただ、既存のNFSマウントしてその中のISOをマウントするなどはできず(マウントできるけど独自のディレクトリの配下しか参照しない)、最近のESXiで多用していたOVA/OVFファイルのインポートもおそらくなさそう。フーム。

OSのアップデートは、Debianベースなのでaptでできる模様。サブスクリプションしないと使えないProxmoxの部分のリポジトリは、ベータ的な無償リポジトリに書き換えればアップデートできるみたいです。

VMのバックアップが使えるのは好印象です。あと、LXCもあるので、物によってはこっちとうまく使い分けても良さそうです。

Cockpitもさわってみた。こっちのほうが好きかも

CockpitはRed Hatがスポンサーとなって開発しているLinuxのWeb管理ツールです。ネットワークの設定とかストレージの管理とかOSアップデートの作業がWebコンソールでできるというもの。仮想マシン管理機能も別パッケージで存在しており、これを追加するとLinux KVM環境がWebでそれなりにできます。コンテナー管理も同様に別パッケージで導入できますが、Red Hat色が強いのかPodmanのみのサポートです。後述の野良フォークを使えばDockerコンテナーも管理できます。

cockpit-project.org

ところで、この計画をやるとしたらUbuntu Server 24.04がリリースされてからかなと思っているので、24.04のデイリービルドをダウンロードしてきて試しました。20.04の環境でもさわってはいたのですが、どうやら色々と機能が拡充されていて、欲しかった機能も増えていたので、24.04で作ろうという気持ちが強くなりました。

ネットワーク管理。NetworkManagerをWeb管理する作りになっているので、手作業でnetplanの設定に「renderer: NetworkManager」を入れて管理下に入れる必要があります。ブリッジ設定はもちろん、NICチーミングもできそうですね。20.04にはbondしかなかったので、チーミングできるようになったのはありがたいですね。

そして仮想マシン管理。リスト自体はこざっぱりしていて良いですね。

VMの作成画面。インストールタイプにクラウドベースイメージがあり、UbuntuクラウドイメージファイルのOpenStackとかで使う形式のやつを食わせたら使えたので、UbuntuデプロイはこれでOKになりそうです。もちろんISOを指定して作ることも可能。

VMの画面。コンソールにすぐ触れるのはめっちゃ良いですね。作成画面では端折られていたCPUの設定もここで設定可能です。VMのその他の設定もここでできますし、USBデバイスのアタッチとか、スナップショットとかもできる模様。べんりやん……。

VMのバックアップに関してはUIではできないものの、virshコマンドでできそうということがわかったので、これも課題はクリアです。こんな感じのXMLファイルを書いてコマンドに食わせます。

<domainbackup>
  <disks>
    <disk name="vda" backup="yes" type="file">
            <target file="/opt/aa-back.img" />
      <driver type="qcow2" />
    </disk>
  </disks>
</domainbackup>
$ virsh backup-begin aa --backupxml a.xml

そして、コンテナー管理。CockpitとしてはPodman推しという、スポンサーの意向が見える方向性を取っていますが、有志がそれをforkしてDockerで使えるように書き換えたものを公開しています。作者いわく、仕事で使うからメンテしているので、仕事で使っているうちはメンテするよとのこと。

github.com

ソースコードからmakeしてインストールするとこんな感じで、Dockerコンテナーの管理画面が増えます。使い勝手が良いかと言われると、そこまでって感じはします。Docker Compose好きマンなので、これは見るだけにして、操作はコマンドでいいかなー、みたいな。

ところで、自宅のESXi上にはDockerホストVMが2つあるのですが、これらはLinuxに移行したらKVM環境と同居させてしまっていいかなと思っています。VMの数が減らせそうで良いですね。

長々書いてしまったけれど、Cockpitでやってみようかなと

というわけで、Cockpitが思いの外いい感じだったので、春になったらUbuntu 24.04 + Cockpit + KVM & Dockerな環境にで構築しようかなと思い始めているところです。VMの移行については、どのVMUbuntu 20.04なので、基本的にはV2VせずにVM再構築のスタイルでやるつもりです。

マシンについては、組み直しはせずに続投にして、SSDだけ入れ替える感じでやれたらいいかなーと思ってます。そうすると過渡期をどうやるかが腕の見せどころ(?)になりそう。死蔵しているM75q-2を移行作業環境にしようかしら、とかですかね。

せっかくなので今後発売されるRaspberry Pi 5に乗せてみるってのもちょっと考えてみたんですが、さすがにRAMが足らないので、やめておこうかなーと。そういえばESXiのARMもどうなるんでしょうね。惜しいね。

ESXi、今までありがとうございました。まあ、終わるだろうと思って、わりと最近イメージと無償版ライセンスキーは入手しておいたんだけどね!笑

最後に、せっかくなら会社ブログに書けばええやんと思ったんですが、自宅のサーバーの話もあるので自分のブログに書き散らかしました。自宅でやって知見が溜まったら会社ブログにも出していきたいですね。