平繁無忙の何でも書くブログ

  • ミニPC「Lenovo M720q tiny」を購入してサーバに運用して苦労した話

    また、ミニPCを買ってしまった・・・。

    ヤフオクで購入したのは、Lenovo M720q tiny(Core i3 8300T、メモリ8GB)です。現在、メインPCとして使用している、NECのMK21と同じ構成で、色と型番や内蔵しているCPU、メモリ、SSDなどが異なるだけのものです。中身はそっくりそのままです。

    メインPCの方は、先日書いたブログ記事にあるように、

    CPUをアップグレードしていましたので、もともと入っていたCore i5が余っている状態です。これを今回購入したM720q tinyのCPUと換装して、ProxmoxのLXCとVMを運用することにしました。

    色が違うだけの同一機種ですでに換装作業していたので特に悩むところはありません。苦労するのも、ヒートシンクを止めているネジが固いことくらいです。

    とっとと交換して、手持ちのSSDを入れてProxmox VEをインストール。いつものようにUSBメモリに入れたVentoy経由です。Ventoyを考えた人マジ天才。

    すでに存在する別のPC(minisforum UN100P、DELL Wyse5070)のProxmoxとクラスター化して、いくつかのサーバをマイグレートしても問題なし。素晴らしく安定稼働しています。

    そう、ここまでは安定稼働していました。

    暗雲立ち込めたのは、メモリを8GB→16GBに増設してからです。

    なぜか、メモリ増設後のM720q tinyが、数分ごとにネット接続が切れてしまいます。Proxmoxの管理画面で繋がらなくなり、ただ実機の電源は落ちてはいません。この時点で電力不足の可能性はなさそうでした。

    追加したメモリも別PCで使っていたもので、Core i5 8500Tの必要とするDDR4−2666です。もしかしたら最初の8GBのものとの相性の可能性もあるかと思って、DELL Wyse5070に入れていたメモリ(PC-3200)の8GB✕2と入れ替えてみると、Wyse5070の方は全く落ちずに、やはりM720qの方だけがネットが途切れます。

    これは何だ?と悩み、AIに聞いてみました。GeminiでもChatGPTでも回答は同じで、

    Lenovo M720q(および同世代のTinyシリーズ)に搭載されているオンボードLANは Intel I219-V 等が多く、Linuxでは e1000e というドライバが使われますが、メモリを増設してデュアルチャネルになったり、アドレス空間が広がったりすると、特定の条件下で通信がハングアップする既知の不具合が世界中で報告されています。

    とのこと。なんじゃそら。そんな知らんわー。

    色々コマンドラインでの対策も教えてもらいましたが、面倒なので解決策の一つに挙げられていた、別のネットワークカードを使うという方法を試します。M720qにはPCIeスロットがあり、以前にNEC MK21をルータとして使っていたときのIntelチップのLANカードも余っています。しかしライザーカードが無いので、発注しようかと思いましたが、とりあえず、同じく余っていたUSB-LANアダプタを使ってみました。

    しかしこのUSB-LAN経由でもM720qのネット寸断は発生します。ずっと途切れているわけではなく、

    数分〜十数分接続→数十秒〜数分間遮断→数分〜十数分接続→数十秒〜数分間遮断

    が続く感じです。ということで、別の原因があるだろうということで再びGeminiとChatGPTに確認すると、Geminiの方で結論を出してきやがりました。

    USB-LANアダプタでの検証、誠にありがとうございます。この検証結果は非常に大きな手掛かりになります。USB-LANアダプタ(通信経路もドライバもオンボードLANとは全く別物)を使っても「同じように通信が途切れる」ということは、オンボードLAN(e1000e)のバグではありません。
    この事実から導き出される結論は、「ネットワークだけが切れているのではなく、M720qのシステム(Proxmox自体)が完全にフリーズ(ハングアップ)している」可能性が極めて高いということです。
    なぜ16GB(8GB×2枚)の時だけフリーズするのか?
    PCは、同じ容量のメモリを2枚挿す(8GB×2枚)と「デュアルチャネル」という高速モードで動作します。
    M720qに搭載されているCore i5-8500T(第8世代CPU)の場合、デュアルチャネルになると内蔵GPU(UHD Graphics 630)やメモリコントローラーの動作が高速化・複雑化します。
    実は、Linuxカーネル(Proxmox)のCPU/GPU省電力機能と、この第8世代CPUのデュアルチャネル時の動作には相性問題(バグ)があり、システム全体が突然フリーズするという症状が世界中で報告されています。
    これを解消するために、以下の手順でCPUとGPUの深い省電力機能をオフにしてみてください。

    いや、先にその可能性も言ってくれよ。

    対策:省電力機能(C-State / DC)の無効化
    M720qのProxmoxコンソールを開き、GRUBの設定ファイルを編集します。
    
    nano /etc/default/grub
    
    GRUB_CMDLINE_LINUX_DEFAULT="quiet" という行を探し、その括弧の中に以下のようにパラメータを追記します。
    
    GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_idle.max_cstate=1 i915.enable_dc=0"
    
    解説:
    intel_idle.max_cstate=1 : CPUが深すぎる省電力状態(スリープ)に入るのを防ぎ、フリーズを回避します。
    i915.enable_dc=0 : 内蔵GPUのディープスリープ機能を無効にします。
    
    保存(Ctrl + O → Enter → Ctrl + X)したら、設定を反映して再起動します。

    ホンマかいな、と思いつつ、試してみたらこれで確かにネット接続が途切れなくなりました。

    ホンマか? ホンマに大丈夫か?と疑いつつ、数時間経っても大丈夫だったので、改めて既存のProxmoxクラスタにM720qを参加させて、LXCとVMをマイグレートしていきました。

    このブログのWordpressサーバのLXCもマイグレートして動作しています。ネットも途切れません。

    結局、先の対処方法が正解だったのでしょう。ただ、「Lenovo M720qがメモリ2枚刺し時にネット接続が途切れる」ということは、検索しても見当たらないんですけどねえ・・・。

  • HaikuOS奮闘記(02):Haiku OSをVirtual Boxにインストールしてみた

    1:Haikuの公式HPからISOイメージをダウンロード

    何はともあれ、これをしないと始まりません。

    https://www.haiku-os.org

    こちらのリンク先の中の画面上部中央に、「HAIKU Download it now!」という大きなボタンをクリックします。現時点ではBETA5ですね。

    HaikuOS


    Get Haiku!というページに飛びますので、そこで各ミラーサイトから自分の環境に合わせて32ビット、64ビットのISOファイルをダウンロードします。下部にはTorrentファイルもあり、更に下にはチェックサムも表示されています。

    HaikuDownload


    ダウンロード完了したら次はVirtualBoxを起動します。

    新規ボタンをクリックして、「新しい仮想マシン」の画面を表示します。

    ISOイメージを選択すると、自動的にOSとOSバージョンがOtherになります。ここで注意なのが、OSバージョンはISOイメージが64ビットのものなら、「Other/Unknown(64bit)」を選んでおく必要があります。自動では判定してくれません。

    メモリはとりあえず2GBにしてみます。CPUコア数は2コアで十分でしょう。

    ストレージはとりあえず10GBにします。そして完了ボタンを押した後、その仮想マシンを起動します。

    起動すると、ライブCDとしてHaikuが使えるようになります。

    最初の言語選択で日本語を選択すると、以降の説明も全て日本語で表示されます。当たり前といえばそうなのですが、この規模のBeta版OSで実装されているのはありがたいことです。

    ここでは、Haikuをいきなりインストールします。実機しか無い場合は、まずは「Haikuを試してみる」を選んだほうが良いでしょう。

    インストーラーの説明画面で「続ける」をクリック。

    適したパーティションが見つからないとのことなので、OKを押してから「パーティションの設定」をクリックします。

    ここでは一番上に仮想マシンのストレージが表示されていますので、右クリックメニューから「フォーマット」>「Be File System」を選び、フォーマットを実行します。

    なお、Haikuでは左上の□をクリックすると、この画面を閉じることが出来ます。

    インストール先を選ぶところに、さっきフォーマットしたドライブが表示されますので、選択して「開始」をクリックします。

    遅い実機ならともかく、仮想マシンであればあっという間にインストールが完了するはずです。最後に「再起動」ボタンを押して再起動します。

    これで完成です。

    ちなみに、メニュー内にあるHaikuDepoから、VirtualBox Guest Additionsをインストールすると、ホストOSとゲストOSの間をシームレスにカーソル移動したり、共有フォルダ設定や、コピペ、ファイルコピーなども使えるようになります。

  • HaikuOS奮闘記(01):HaikuOSとはなにか?

    1:Haiku OSとは

    2026年現在、PCの主流のOSは、Windows、macOS、Linux系、BSD系、ChromeOSに大別されます。一般のPCで使用されるOSとしては、これら以外のOSはほぼありません。そんな中で、独立系OSとしてなんとか存続している(ただしシェアはほぼありません)のが、HaikuOSです。

    2:HaikuはLinuxではない

    Windows10のサポート終了前後から、古いPC利用のためにLinuxを使う動きが活発になりました。それと同時に、世界中に無数にあるLinuxディストリビューションも脚光を浴びるようになりました。
    しかし、このHaikuはLinuxディストリビューションではありません。もちろん、BSD系統のOSでもありません。UNIX互換ではありますが、BSDとも、Macとも、Linuxとも異なる独立系のOSです。

    3:BeOSの思想を受け継ぐデスクトップOS

    Windows、Mac、Linux、BSDは90年代もありました。ChromeOSが新たに加わったくらいですが、その時代には他のOSも存在していました。OS/2 Warp,NextSTEP,超漢字(BTRON),などなど、今よりも多様ではありました。NextSTEPはAppleが後継OSとして採用し、今につながっています。NextSTEPとMac後継を争ったのが、BeOSでした。このBeOSは結局主流にはなれず消えていったのですが、有志によるプロジェクトによって、HaikuOSとして復活し、今に至るまで開発が続けられています。

    4:なぜLinuxユーザーがHaikuを試すのか

    LinuxでのメインPC利用、サブノートでの利用、そしてサーバ群の運用に関して、一通り落ち着いたところです。改めて何かチャレンジしてみようという気になり、OSを探してみました。
    Windows互換のReactOSや、ChromeOSの非Chrome版のFydeOSといった、変わり種のOSは他にもありますが、今回試してみようと思ったのは、Haikuが日本語入力も問題なく出来ることを知ったからです。もちろん、それ以前にもBeOSの流れを汲むOSだということは知っていて、ほとんど誰も使っていないOSにチャレンジするのはロマンでもあります。

    5:Haikuで期待できることと期待できないこと

    まず、はっきり言って実用性はありません。メインPCとしての利用、仕事での利用、重要なファイルやサービスの利用には向いていません。なんせまだベータ版です。さらに、他のOSでは数多くのソフトウェア資産がありますが、Haikuで使用できるソフトウェアは限られています。
    逆に出来ることは、それなりに少ないリソース環境下での、ローカル環境で使えるソフトウェアでのファイル作成、編集と言った作業です。また、ブラウザも少ないですがChromiumベースやFirefoxベースのものもありますので、ブラウザ上で動作するサービスはほぼ使えるはずです。

    6:このブログで今後検証する内容

    まずはメインPCであるMXLinux上で、VirtualBoxを使ってHaikuを試してみることにします。
    自分的に問題なさそうなら、その後は余っている実機での運用チャレンジに進みます。

    7:まとめ

    要するに、「誰も使っていないOSをあえて使ってみる」という、完全に趣味の世界の話です。
    実用性は最初から期待していません。ただ、BeOSの流れを汲む独自OSが今もひっそりと開発され続けていて、しかも日本語まで使える——それだけで、試してみる理由としては十分です。
    LinuxもWindowsも一通り触ってからの「OSの寄り道」ですね。

  • 丸7年以上書いていたnoteを止めて、セルフホストのブログ一本にした話

    もともと、2019年1月から7年以上に渡って、noteのサービスを使って個人の雑記ブログを書いていました。

    https://note.com/hrsgmb

    ジャンルとしてはITに限らず、サッカー、政治、経済、文化、社会問題、国際問題などなど、幅広いと言うよりも、まとまりもとりとめも無い中身だったのですが、思うところあって先日noteを止めました。

    Linux・サーバ関係だけは1年ほど前に、この独自ドメインのブログを作り、そこで書いていました。最初はWordpress、そこからGhostに移行して、結局、またWordpressに戻ってきました。色々プラグインがあって、何でも出来るのですよね。その代わりセキュリティ面がアレですが。

  • Zimaboardに入れているOpenWRTのバージョンを、24.10.5から25.12.2にアップグレードした話

    Zimaboardに入れているOpenWRTのバージョンを、24.10.5から25.12.2にアップグレードした話

    自宅ネットワークではゲートウェイに、Zimaboard232に入れたOpenWRTを使用しています。

    先程、このOpenWRTにログインしてアップデートの確認をすると、現在の24.10.5から24.10.6へのアップデートが可能と出てきました。

    ということでアップデートしてみようと思いましたが、念の為、AIに
    ・アップデートしたほうが良いのか
    ・アップデートするに当たり注意点はあるか
    ・アップデートによるデメリットはあるか
    ・アップデートした後のすべきこと
    を聞いてみて、色々教えてもらいましたが、その中で、

    OpenWrt公式の24.10.6リリース案内では、OpenWrt 25.12 stable series のリリースに伴い、24.10系は2026年9月以降セキュリティ更新が提供されない予定

    と言われて、知らなかったので驚いた次第です。うかつでした。自宅ネットワークの入り口のサーバについてはもっと注意を払わないといけないですね。

    ということで、改めて最新バージョンである25.12.2へのアップグレードに関して、生成AI(Gemini、Claude、ChatGPT)に

    ・アップグレードするに当たり注意点はあるか
    ・アップグレードによるデメリットはあるか
    ・アップグレードした後のすべきこと

    を確認して、色々教えてもらったので、この5連休に実施しました。

    作業としては、

    1. バックアップ取得
    2. Attended Sysupgradeで25.12.2へアップグレード
    3. 再起動後にメインPCやスマホのネット接続、Tailscale、Cloudflare Tunnel、Proxmox配下サービスを確認

    の以上です。丁寧にちゃんとした手順を踏むなら、

    1. 作業前の準備
    2. バックアップ取得
    3. 現在の設定・パッケージ一覧を保存
    4. 復旧手段を準備
    5. Attended Sysupgradeで25.12.2へアップグレード
    6. 再起動後にLAN/WAN/DNS/DHCPを確認
    7. VPN、Cloudflare Tunnel、Proxmox配下サービスを確認
    8. ログ確認

    という感じで進めていくのでしょうけれど、自分1人だけのネットワークで、サーバにしても別に自分だけ(このWordpressは全世界に公開していますが)が使うものなので、もしトラブルが起きてしまっても、最悪、一からまたOpenWRTをZimaboardに入れてしまえば良いわけで、気軽にアップグレードを試してみることにします。

    1.バックアップ取得

    まずは何がなくとも現状のバックアップを作成します。


    System>Backup/Flash Firmware>Backup
    から、「Generate archive」をクリックしてダウンロードします。.tar.gz形式のファイルで保存されます。

    2.Attended Sysupgradeで25.12.2へアップグレード

    お次は、System>Attended Sysupgrade
    から、「Search for firmware upgrade」を押すと、現在のバージョンからアップデート/アップグレード可能なイメージを探してくれます。

    私の環境では、現在、24.10.5ですので、
    24.10.6と25.12.2の2つをプルダウンで選べるようになっています。

    前述の通り、ここは一発ワイルドにいきなり25.12.2にアップグレードします。

    それを選んだ状態で「Request firmware image」を押して、次の画面で

    「Keep settings and retain the current configuration」にチェックを入れた状態で、「Install firmware image」をクリックします。先のチェックが入っていないと、各種設定などが引き継がれないままインストールすることになるので、明らかに後で面倒くさいことになります。

    インストール中は、当たり前ですが待つだけです。ファームウェアを更新している機器やその上流のルータの電源さえ落とさなければ大丈夫なはずですけれど、悲劇が起きてからでは遅いので、静かに待ちます。

    程なくして自動的に再起動がかかります。Zimaboard232はさすがにx86マシンで、一般的なルータとは速度もメモリも違います。あっという間に終わりました。ルータだともっと時間がかかるのかも知れません。

    3.再起動後にメインPCやスマホのネット接続、Tailscale、Cloudflare Tunnel、Proxmox配下サービスを確認

    再起動後、ログインするとこんな画面が出てきましたが、

    OpenWrtの管理画面を開いたときに、オンラインで新しいファームウェアがあるか確認してよいですか?

    ということですので、Yesでセーブして適用で問題ないですね。

    OpenWRTへの接続は問題ない。
    一般的なウェブサイトも問題なく閲覧できる。
    Proxmoxに入れているサーバ群にもアクセスできる。
    Cloudflare Tunnel経由のサーバも、Nginx Proxy Manager経由のサーバも大丈夫。
    スマホのモバイル回線でTailscale経由でもアクセスできる。

    ということを確かめて、全て問題ないことを確認できたので、本日のアップグレード作業は完了。

    念の為、改めてOpenWRT(Zimaboard232ごと)を再起動してみて、問題なくネットが繋がっていることを確認も出来ました。

    もっとトラブルが起きるかと思って身構えつつアップグレードしてみましたが、何もなかったですね。ルータ専用機とか、プラグインでややこしいのを入れていたら違ったのかも知れませんが。

    幸か不幸か、OpenWRTでのAdGuardHomeやTailscaleがうまく動作しなかったので、ネットワーク内のProxmoxでAdGuardHomeもTailscaleを動かしている状態になっていて、そのおかげか、OpenWRTがほぼ素の状態に近いため、トラブルなくアップグレード出来たのかも知れません。何でも一つに放り込んだら、使用中の管理は楽ですけれど、いざ何かを変更するときには面倒なことになりがちです。機能ごとにサーバが分散している方が、アップグレードは楽なのかも知れませんね。

    ちなみに、OpenWRTのバージョンアップ頻度が1年〜1年半程度でメジャーバージョンアップすることを、今初めて知りました。無知は危険ですね。ちょくちょくログインして確認することにします。次の26は2027年の中頃ですかね。

  • Surface Go2に入れるOSで悩んで苦労した話

    Surface Go2にはMXLinuxを入れていましたが、謎にバッテリーを消費していくのを防げなかったため、FydeOSを入れてみました。

    流石にAndroid系ということで、バッテリ周りの動作は非常に良かったが、Gappsから入れたAmazonKindleアプリで漫画を表示したら真っ黒になるトラブルを解決できませんでした。

    そこで、FydeOSの本家とも言うべき、ChromeOSFlexを入れてみたのですが、USBメモリからインストールすると、なぜかまたFydeOSが立ち上がってしまう。ブートローダーを見ても分からず。

    GeminiやChatGPTに聞いてみると、FydeOSがインストール先を細かく分割してしまうので、おかしくなっているのでは、ということで、MXLinuxのLiveUSBメモリから起動して、Gpartedで見てみると、確かにSurface go2のドライブがそうなっていました。へー、FydeOSやChromeOSってこんな細かくパーティション区切るのか、と思いつつ、新しいパーティションテーブルをgptで作成してまっさらな状態にしました。そして、再度ChromeOSFlexをインストールすると、今度はドライブにOSが見つからない。

    もう全くわからないので、気まぐれにZorinOSを入れてみようと思い、インストールを進めていると、インストール先のドライブを選択したところで、Surface go2に入れていた512GBのmicroSDが異様に細かく分割されていて、その中に「ChromeOS・・・」の文字を発見。
    ようやく理解できました。ChromeOSFlexのインストール時に、SurfaceGO2のeMMCではなくて、microSDにインストールされていました。

    そもそも、ChromeOSFlexはインストール時にドライブ選択する場面がないのですが、勝手にmicroSDにインストールするとか乱暴者すぎるやろ。幸いなことに、そのカードには特に重要なものを入れていなかったので良かったですが。

    まあ、この苦心してインストールしたChromeOSFlexも、結局はFirefoxとKindleアプリをそもそも入れられないのですぐに諦めたのですけれど。スマホからAPKファイル持っていったらイケるやろ、と根拠のない自信があったのですがダメでした。

    ということで、また「SurfaceGo2に入れるOSで悩む」難民になってしまいましたが、さっきインストールしかけていた、昨年からWindows10難民を救ってきたZorinOSを入れてみることにします。その話はまた次の記事で。

    ちなみに、このZorinOSを入れるときにドライブやパーティションを見たときに、なんでChromeOSFlexのインストーラがmicroSDにインストールしてしまったのか分かりました。eMMCがインストーラ(Gparted)からはどっちもSDカードっぽく認識されているようです。それで勝手に容量の大きい方に入れたんでしょうけれど、迷惑だなあ・・・。

    eMMCが使われているPCって、たいていそのeMMCの容量も小さいので、microSDを入れてデータ保存をしている人は多いと思いますけれど、microSDカードを抜かないままChromeOSFlexを入れて絶望する人ってこれまでいなかったんでしょうか?

    ともかく、Surface Go2にZorinOSをインストールしました。インストール中もインストール後も特に何も問題は起きません。MXLinuxよりも重く感じるかも、と思いましたが、軽く使う分には気にならないですね。

    Linux-surfaceのカーネルもインストールできました。

    ぶっちゃけ、このSurface Go2で日常的に使うのは、ブラウザのFloorpと、日本語入力のFcitx5+Mozcくらいです。外出時はともかく、普段は枕元でタブレット的に使っているだけですし。

  • NECスリムPCのCPUを換装(Core i5 8500TからCore i7 8700Tに)

    NECスリムPCのCPUを換装(Core i5 8500TからCore i7 8700Tに)

    元はジャンク品として購入したNECのミニPC(MKM21/C)に、グラフィックボードとしてNVIDIAのP1000を増設したことは以前に書きました。

    LMStudioでの軽量なLLMを使う分には問題なく、さらに軽量級の3Dゲームなんかも処理できますし、元々の映像出力はディスプレイポートとHDMIの2系統だったのが、P1000によりさらに4ポートのミニディスプレイポートが加わり、モニター使い放題です。いっぱい使うとファンが鳴り止まないですが。

    さて、GPU周りはこれで控えめな用途なら十分な状態になりましたが、今度はCPUに不満が出てきました。

    https://support.nec-lavie.jp/navigate/support/productsearch/old_number/MKM21C4/spec.html

    Core i5 8500TはCore i5 8500の省電力版であり、かつ、6コア6スレッドと最近のCPUでは見ない設計になっています。スレッド数が少ないのが、普段のブラウザ操作や同時に複数作業をするときの引っかかりに出てきてしまいます。

    ということで、同じチップセットのまま載せ替えられるCPUを探します。第9世代も可能っぽいですが、とりあえず第8世代だけでピックアップすると、

    Core i5 8500
    Core i5 8500K
    Core i7 8700T
    Core i7 8700
    Core i7 8700K
    が一応、候補として挙げられなくはないですが、それは潤沢な電力と排熱機構がある場合の話であり、この狭っ苦しいミニPCかつACアダプタでは限界があります。電力消費量が多い無印やKシリーズはチャレンジする気になれません。

    ということで、事実上はCore i7 8700Tしか選択肢がありません。これでも、6コア6スレッドから6コア12スレッドになり、クロック数も上がるので、かなり快適になるはずです。ベンチマークでは3割くらい上回っているようです。
    https://technical.city/ja/cpu/Core-i7-8700T-vs-Core-i5-8500T

    さて、今使っているNECのPCで使っているLenovoのACアダプタ(ソケットが長方形のやつ)は、手持ちが45W、60W、90Wで、P1000を使うようになってからは90Wのものにしています。

    ヤフオクで135Wか170Wのものを買おうかと迷いましたが、Core i7 8700Tは一応、Core i5 8500Tと同じTDP(35W)ですし、思いっきり負荷を長時間かけない限りは大丈夫かと思って、とりあえずは90WのACをそのまま使うことにします。

    肝心のCore i7 8700Tもヤフオクで手に入れましたが、調べたらじゃんぱらやパソコン工房でも売ってるやん・・・。値段もヤフオクと変わらん。

    気を取り直して、購入したブツが届いたので、CPUを換装します。CPU換装なんて、多分20世紀に入ってから始めてなんじゃ無いかな。90年代後半〜末は大阪日本橋に入り浸っていたので頻繁にしていたのですけれど。

    Core i5 8500Tを外した後に、Core i7 8700Tをセット。

    グリスを塗ってヒートシンクやファンを元通りにしてスイッチオン。

    同じ電源のままで動くのか緊張しましたが、何事もなく無事起動しました。MXLinuxでも問題なく認識されています。当たり前ですけれど。

    LMStudioでAIを使ってGPUを動かしても落ちません。CPUとGPUをガンガンに負荷かけるような処理を行うゲームでもすれば落ちるでしょうか? 少なくともLinux版のSteamでドラゴンクエストⅢをプレイしても落ちませんでした。GPUの負荷が大きかったのであまり意味なかったかも知れません。

    とりあえず、スレッド数が2倍になった威力はあるようで、通常利用レベルでは引っかかりを覚えることは無くなった気がします。気がするだけだったら悲しいですけれど、電力不足にならないレベルで性能アップするならこれくらいが限界でしょうね。

  • なぜか使えたり使えなかったりするLANハブ

    1年ほど前に自宅サーバや各種Linuxマシンにハマる前は、自宅のネットワークで使っていたのはNuro光のONU兼ルータと、TP-Link製の5ポートLANハブくらいでした。有線LANでつなぐのは、メインPCとNasneとネットワークプリンタだけでしたのでそれで十分だったのですが、今では、
    ・メインPC
    ・プリンタ
    ・Nasne
    に加えて
    ・ProxmoxVEを入れているミニPC✕2台
    ・ProxmoxBackupServerを入れているミニPC
    ・ゲートウェイにしているZimaboard
    もあるので、当然5ポートハブでは足りません。ということで、バッファロー製の8ポートのファンレスのハブを購入して使っていたのですが、数ヶ月で使えなくなりました。具体的には電源ケーブルとLANケーブルがつながっていても、電源ランプもLANのランプも点かず、当然ですが通信もできません。

    これは困ったと思ってとりあえず機器を選んでいるのも面倒なので、すぐに届いて安いTP-Linkの8ポートハブをAmazonで購入して使い始めました。色々悪評高いTP-Linkですけれど、LANハブならまだマシかと勝手に考えています。

    ともかく、そのTP-Linkのハブの方は、以前使っていた5ポートのハブも含めて壊れる気配はありません。

    その一方で、以前壊れた!と思っていたバッファローのハブも、戯れに電源を繋いでみたらランプが点きます。

    ・・・?

    活線のLANケーブルも繋いでみたら、こちらもランプが点きます?

    これはもしかして何かの勘違いだったのかなと思い、機会があればTP-Linkのハブと入れ替えようと思っていました。

    そして先日。休みの日に、いわゆるスパゲッティ状態でごっちゃになっていた上記機器間をつなぐLANケーブルを、カテゴリ6の1メートルのLANケーブル(日本橋のイオシスで1つ100円で購入)に入れ替えてスッキリさせるついでに、LANハブもTP-Linkからバッファローに交換しました。ついでにACアダプタ、電源コード類もくんずほぐれつの状態になっていたのを整理しました。

    機器が増えたので面倒も増えましたが、全部つなぎ直して全て電源オーン!

    しかしネットワークがつながりません。全部のPingも通りません。何だこれはと思ってバッファローのハブを見てみたら、電源ランプも全ポートのランプも落ちています。やっぱ壊れてるやんけ!!!

    再び、TP-Linkの8ポートハブに入れ替えて何事もなくネットにつながりました。全てのサーバも正常です。

    やはりバッファローのハブが復活したと思っていたのは幻想だったのだな・・・と思い、念の為にまた電源をつないでみるとランプが点く。LANケーブルをつなぐと、そのポートのランプも点く。

    なんじゃこれはと思いましたが、ネットや開発の世界では、
    「動いているものはイジるな」
    という大原則が存在します。それを無視したから面倒なことになったのですが、同時に接続するポート数が多いと使えなくなるのか・・・? なんだこいつ。

    同時接続が何ポートになると落ちるのか、あるいは特定の場所のポートを使うと落ちるのか。

    いろいろ検証したいところですが、確か2,000円もしない製品のために、細かい検証なんかやってられません。

    ということで、また死蔵することになりました。もう出番はないと思いますが。

  • セルフホストのサーバの大半をSSL化

    昨年10月にこのブログでも使っている独自ドメインをCloudflareに移管したのですが、

    その時にやろうと思っていたことを忘れていました。

    DNSチャレンジを使っての、ローカル環境の各サーバのSSL化です。前にドメイン管理をしていたバリュードメインでは出来なかったのですよね。前にDNSチャレンジという技術を知ってやってみようと思ったら駄目で、それもあってCloudflareに移管したのをすっかり忘れていました。

    当然ですがこのブログを運用しているGhostのサーバと、あとNextcloudとVaultwardenとFreshRSSは既にCloudflareトンネルでSSL化していたので、残りのMemosとJellyfinをDNSチャレンジでSSL化します。

    まず準備として、CloudflareでAPIトークンを作成します。

    Cloudflareの「アカウントの管理」→「アカウントAPIトークン」で「トークンを作成」をクリックし、「ゾーンDNSを編集する テンプレートを使用する」から、
    特定のゾーン : 独自ドメイン
    を選んでから「概要に進む」をクリックして、
    出てきたAPIトークンをコピペしておきます。一回限りしか表示されないそうです。

    次に、Cloudflareでドメインを管理するようになって不要になり、Proxmoxからは削除していたNgnix Proxy Managerを、Proxmox Backup Serverからリストアします。

    リストアしたNPMで、
    「SSL Certificates」から「Add Let’s Encrypt Certificate」を選び、
    ドメインネームはサブドメインをワイルドカードで指定して、「Use a DNS Challenge」でCloudflareを選び、さっきコピペしておいたAPIトークンを貼り付けて保存すると、サブドメイン共通で使い回せるSSL証明書が完成します。

    次に、「Proxy Hosts」で作りたいサブドメインを「Add Proxy Host」から作成します。ドメインネームにサブドメインを入れて、Forward Hostname/IPにプライベートIPアドレスを入れて、必要ならPortも指定して、SSLタブでさっき作ったSSLを選んで完了。

    最後に、OpenWrtで「Network」→「DHCP and DNS」→「DNS Records」タブで、
    必要なサブドメインについてHostnameとIPアドレスを入れます。
    ここで最後に「Save& Apply」を押して適用しないと有効にならないのが落とし穴。今回何度も忘れて、???という状態になってしまいました。

    成功したので気を良くした自分は、ついでにProxmox VEとProxmox Backup ServerもSSL化しようとして、ハマりました。

    他のサーバと同じようにやってもブラウザで開かず、AIに聞いてみると、NPMで
    Websockets Support: ON
    HTTP/2 Support: ON
    にした上で、Advancedタブに

    location / {
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection “upgrade”;
    proxy_set_header Host $host;
    proxy_pass https://192.168.x.x:8006; # ← ここはPVEのIP(PBSの場合は8007ポート)にする
    }

    を書かないといけないらしい。マジでAIに聞かないとわからんわ。

    というか、そもそもProxmoxの場合は、
    「データセンター」→「ACME」
    にある機能で、ここからDNSチャレンジできるやん。まあ、その場合はワイルドカードで作ったSSL証明書の使い回しが出来ないので、それはそれで面倒ですけれど、Proxmox単体でSSL化するならこっちのほうが圧倒的に早いです。

    素人だからこそのアホな悩みでしたけれど、まあこれでProxmox VEもProxmox Backup Serverも、他のローカル環境のサーバもSSL化出来たのでOKです。

    一応、怖くてやっていないですが、
    ・OpenWrt
    ・Pi-hole
    ・Ngnix Proxy Manager
    については、SSL化したらややこしいですよねえ・・・。

  • Surface Go2のMXLinuxは、マウスやキーボードを使うならXFCEで良いけれど、タッチ操作ならGNOMEだよね

    記事の中身はほぼタイトルで書き尽くしてしまっているのですが、先日、ジャンク品として手に入れた、液晶割れのSurface Go2ですが、MXLinux25を入れて我ながらご満悦に使用しています。

    枕元でもこれまで使っていたAndroidタブレットに代えて、Surface Go2を使っています。件のタブレットは幸いなことに世間騒がすマルウェアには感染していなかったようですが、Headwolf社の反応もあまりかんばしくないようですので、ちょっと今後も継続して使用する気にはなれないですね。

    そんなこんなでSurface Go2を愛用していますが、MXLinuxで使用しているUIは、低スペックマシンでおなじみのXfceです。ただ、これはマウス・キーボードを使う分には良いですが、タッチ操作のタブレットとしては使いづらい。

    ということで、GNOMEで使ってみることにします。

    一度ログアウトして、画面上部にあるボタンからGNOMEを選択してからログインすれば終わりです。

    使っている時間のほとんどはFloorpブラウザを最大化して表示していますので、その際の効果はあまり感じられませんが、別のなにかのアプリを立ち上げる際には、タッチ操作でも全然苦にならないGNOMEと、マウスやタッチパッドでメニューから選ぶXfceでは使い勝手に雲泥の差があります。

    ただ、一転してマウス(タッチパッド)とキーボードを使って文章を書いたり、なんやかんやするようになったら、GNOMEだと動作がもっさりしすぎです。ハイスペックなマシンなら気にならないでしょうけれど、このSurface Go2の4GB版はメモリが少ない上にCPUも貧弱なので、GNOME常用というわけには行きません。XfceとGNOMEを使い分けて行く必要がありますね。

  • Amazon EchoShow5 をAndroid化した

    少し前に、AmazonのEchoShow5の使用を止めました。「アレクサ、今日の天気は?」
    「アレクサ、明日の天気は?」
    だけしか言わない日々で、画面も時計表示しかしていなかったので、Amazonサービスである必要はないのですよね。

    使っていないので売っぱらうか捨てるかしようと思っていたのですが、なんか最近、このEchoShow5のハックが成功したらしく、Android11ベースのLineageOSに入れ替えることができるという情報を目にしました。

    当然ですが、こういう裏技のハッキングというのは文鎮化がつきものです。その覚悟が無いと駄目ですが、そもそもこのEchoShow5は確か購入時はアマゾンプライムの特価品で、2,980円で購入したものですので、壊したとしてもそんなに精神的ダメージは喰らいません。

    ということで、各ブログの情報、YouTubeの動画、そしてGeminiに質問しつつ、LineageOSのインストールをやってみました。

    AIから最初に教えられるやり方では、結局ハック出来なかったのですが、どうやらEchoShow5のアップデートによって、ハックするタイミングがかなりシビアになったらしいです。

    多くのブログやYouTubeでアップされているやり方よりも、USB接続してPCでのコマンド入力をかなり高速にしないといけなかったようです。

    とりあえず、なんとかリカバリ画面に入ることが出来ました。

    このあとは多くの事例で紹介されているように、現時点でのFireOSでのEchoShow5のイメージやデータを念の為にバックアップします。これはADB接続しているPCに保管されます。

    そしていよいよLineageOSのインストール。こちらも問題なく終わりました。意外と時間がかかります。

    Android11ベース、かつGooglePlayストアもありませんし、そもそもハードウェアスペックも厳しいので大したことは出来ません。

    それでも、ブラウザ経由でYouTubeを見るだけでも、EchoShow5の元のOSでのSilkブラウザとは格段に速いレスポンスが返ってきます。そもそもアレがもっさりしすぎなんですが。

    アレコレ入れようかと思っていましたが、とりあえず現時点ではブラウザでYouTubeを見るか、Flipclockのサイトで時計表時を全画面で出しているかくらいですね。そのためにAmazonに部屋内の録音データを四六時中送り続けるくらいなら、多少不便でもこっちのほうが良いですよね。

  • メインPCを昨年手に入れたジャンク品だったNECのスリムPCに変更した

    メインPCを昨年手に入れたジャンク品だったNECのスリムPCに変更した

    先日の記事で書いたようにゲートウェイPCをNECスリムPCからZimaboard232に移行したので、空いたスリムPCをメインPCに昇格させます。

    このMKM21/CはPCIeスロット搭載というなかなかの変態ミニPCです。これまではそこにLANカードを挿して使っていましたが、GPUカードも当然ながら利用できます。

    共同開発しているLenovoにも色違いで同等製品がありますので、それを使った海外のYouTuberの動画でGPUを搭載する使い方を紹介しているのがいっぱいあります。

    ということで、私もやってみますが搭載できるビデオカードは非常に限られます。

    まず、幅的にロープロファイルのサイズのビデオカードオンリーです。これは絶対です。

    そしてPCの蓋を閉めて使うのであれば、1スロットサイズのものでないといけません。蓋を全開にするなら、ロープロファイルであれば2スロットのものでも大丈夫です。

    ただ、全長も当然ながら重要で、そんなに長いものは入れられません。金属加工したり、ケースごと3Dプリントで作っちゃう人は期にしなくて良いでしょうけれど。

    こういった条件がありますが、私が今回選んだGPUは、NVIDIA P1000です。
    DDR5メモリが4GBありますので、これまでのPCで使っていたLLMもそのまま使えるはずです。

    P1000は中古で手に入れましたが、7,800円でした。

    さらに、このスリムPCはACアダプタで駆動しますが、手に入れた時に別の店で買ったアダプタは45Wのものでしたので、さすがにGPUを挿したら動きません。

    ということで、45Wのときと同じく、じゃんぱら大阪本店2階のジャンク品コーナーにあった、Lenovoの90Wのものを480円で購入しました。

    GPU無しで45Wのアダプタで動いているところに、TDPが47WのP1000を足すのですから、90Wでもなんとか動くはずです。

    PC本体がジャンクながら10,000円、ビデオカードが7,800円、ACアダプタが480円、ライザーカードが1,640円でしたので、GPU搭載スリムPCが〆て19,920円で出来上がりました。

    ちなみに、無線LAN&Bluetooth機能は無い状態で売られていて、Wifi用M.2スロットも空いたままでしたので、以前壊れたPCから部品を取っておいた、Mediatek製のmt7921eを挿したらMXLinuxで何もすることなく認識してくれました。WifiもBluetoothも正常動作しています。最近のLinuxは簡単ですね。

    元のPCで動いていたMXLinuxの入ったSSDをそのまま持ってきても動作します。同じIntel製のCPUだからということもあるのかも知れませんが、多分、Windowsでは出来ない芸当ですね。

    騒音については、やはりGPUを使用する段になると爆音になります。これは前のPCと大差ありません。ただこれで終わっては芸がないので、また別の記事にて実施した対策を書こうと思います。