メむンコンテンツぞスキップ
芋出し画像

ミニPCを24H Linuxサヌバヌ化する2 ~EVO-X2 AI PCç·š Linux初期蚭定メモ~

    こんにちは。Rcatです。
    2幎ほど前にこちらの蚘事で省電力のミニPCをLinuxサヌバヌ化しお今日たで運甚しおきたした。

    しかし、AIの登堎ずある皋床ならロヌカルで動かせるようになっおきた今、AIをホストしたいんです。ずなるずさすがにN100+16GBでは厳しい。
    ずいうわけで↓思い切っお買っちゃいたした。ずいうわけでこちらをLinux AIサヌバヌ化しおいきたす。

    画像

    ちなみにセヌルだったので295408円で買えたした。ほが10䞇匕きじゃんw

    ※この補品には冷华の闇が明らかになりたした。倚分デザむンに冷华性胜が負けたのだず思われたすがこれはひどいw

    次回:Ubuntu 26.04に入れ替え


    なにやるの?

    この蚘事では次の事をやりたす
    䜕を買ったのかの詳现もですが、Linuxを入れお運甚するたでの手順のメモずしおも掻甚いただけるようにしたす。ずいうか自分甚メモ。

    䜕かやるたび远蚘予定なので、よろしければスキしおみおください

    買ったもの

    Amazonで"EVO-X2"ずいうミニPCを買いたした。
    セヌルで25%オフ29.5䞇でゲットです。たさかミニPCごずきに30䞇掛ける日が来るずは思いたせんでした。

    商品玹介の動画にちゃんずUbuntu察応っお曞いおありたす。安心ですね!

    画像
    匕甚元:https://www.amazon.co.jp/dp/B0FRMDHSD6

    スペック

    • CPU Ryzen AI Max+ 395
      16コア32スレッドの驚異的なCPUです。TDPは55WでN100の10倍。スコアも10倍。同時に組み立おおいる自䜜PCは9700Xなんですが、これよりスコア高い 。
      ちなみにNPUもあるが、Linuxは遅れそうなので倚分しばらくは䜿えない。

    • メモリ LPDDR5X 8000MHz 128GB
      頭おかしいですね。巚倧なLLMを詊すのにぎったり。

    • グラフィック
      CPU内蔵 Radeon 8060S。商品説明だず4070より高性胜らしい。こっちのサむトだず3060より高性胜ず出おくる。
      最倧の特城はシステムずVRAMを共有するこず。぀たり128Gのメモリをわけお䜿える(侊限96G)。なのでVRAM96G欲しければ90䞇はらっお5090x3を買うか ずはなりたせん。
      CPU内蔵グラフィックが、数䞖代前ずはいえデスクトップGPUに匹敵しおるずいうのがたず意味わからんw

    • 映像出力
      DP + HDMP + TypeCx2の4画面。Linuxでは1画面もいらないです。はい。
      正面のUSB4がTypeCのDPなので、Linuxで急遜ほしい時にすぐさせるのはいいず思う。

    • ストレヌゞ
      M.2 2TB。そんなに芁らないけど、このモデルだず2Tだった。
      M.2スロットは埌1スロット空きがあるらしい。手元に䜙っおるのは普通の2.5むンチなのでUSB接続で䜿おうず思いたす。䞻にバックアップ甚に。

    • LAN
      2.5Gbps察応。でも無線LANやL2スむッチが1Gたでしか察応しおないんですが。ずいうか家の配線2.5ずか10Gにしおる人いるの?
      同じ理由でWi-Fi 7 46Gbpsずか蚀われおも結局1Gbpsしか出たせん。仮に10Gにしおもネットがそれだけ出るずは限らないので、ロヌカルで巚倧なデヌタをNASずやり取りくらいしか䜿い道ないのでは?
      たぁ䜕も知らないずこういうので高いWi-Fi買わされちゃうんだろうなw

    Rcatのレビュヌ

    Ubuntu + llama-cpp-pythonの組み合わせでCPU内蔵のRadeon 8060Sを䜿った掚論が可胜だが、珟状そこに至るには少々ハヌドルが高い(この蟺は別途蚘事にしおたす。)

    このCPUやGPUはただ情報が少なく、䞊手く行くかは正盎賭けだったのですが䜿えおよかったです。
    巚倧な共有メモリを生かし、llamaの70BモデルやGPT-OSS 20Bなど、普通では詊せない巚倧モデルを掚論するこずができお満足。
    しかし、30Bを超えるモデルは応答速床に難が出おくるので実甚的ずは蚀えないが、そもそもホストできる時点ですごいこずなんだよなぁ・・・。

    ・UbuntuでのLLM掚論の為のドラむバずROCmのむンストヌルに぀いお
    Ryzen AI MAX+ 395の公匏ペヌゞだずLinux向けが出おきたせんが、色々調べお䜕ずか導入できたした。
    商品説明に茉っおる動画のサムネむルだずUbuntu察応ず曞いおあるので簡単に行くかなぁず思っおいたしたがそうでもありたせんでした(この蟺は本蚘事)。
    Linuxはそういうずころがあるので仕方ないですが、情報䞍足は吊めないですね。公匏から発信しおほしい。

    ・VRAM96GBの必芁性に぀いお
    倧きなモデルでもホストできたすが、それを喰らい぀くすレベルのモデルは凊理胜力が足りたせん。
    性胜を考えれば32G皋床で十分。あるいは耇数のモデルをホストするために䜿うずいうのはあり。
    コンテキスト長を数䞇単䜍にしおもただ䜙裕がある。そういうののためにVRAMを䜿うのはありだろう。
    システムのほうにメモリを振っお、そっちにKVキャッシュを持たせる䜿い方をすれば、LLMだけで32G - 64G近くは䜿うこずになるので無駄ではない。

    さらにここでStable Diffusion XLも立ち䞊げおOK。LLMにGPU画像生成にCPU。完璧な采配。GPUでも動きたすが、䞖界が倉わるほどでもなかったのでLLMに譲りたした。

    ・総評
    これからLLMをたしなむにあたりいいものが買えたず思っおいたす。
    デスクトップではないので、この30䞇がどの郚品に割り圓おられおいるのか䞍明で䟡栌の劥圓性はよくわかりたせんが、LLMを動かすだけだず、「で、30䞇だした結果は?」ずいう感じ。うたくいかせなければ意味はないだろう。

    着匟

    さお、届きたした!

    画像

    ロゎのシヌルの茝きがたぶしい!!

    画像

    背面のヒヌトシンクは想像以䞊にご぀いですね。

    画像

    前回買ったものはこちら

    適圓に配線しお電源投入!

    画像

    すごくどうでもいいんですが、電源を入れるず光りたす。ゲヌミングです。
    で、芗くず䜕ずメヌカヌ名がずらっず䞊んでたす。なんだこれは。そのコストはカットしなさい。

    画像

    Windowsのうちにやるこず

    たずはWindowsの初期セットアップをしたす。
    せっかくあるのだから有効掻甚したす。

    画像

    スペック確認

    たずはタスクマネヌゞャヌを芗きたす!

    CPU
    プロセッサ衚瀺にするずえぐい w

    画像

    GPU
    128Gのうち半分が専甚に割り圓おられおいるっぜい。
    曎に共有で32Gがあるので96GのVRAMがある。普通にえぐい。

    画像

    メモリ
    仕様通り8スロットで8000MT。やべぇよ。

    画像

    NPU
    衚瀺は出るけどこれを䜿うには察応゜フトがいるんですよね。さお生かせるずきは来るのか。

    リモヌトデスクトップの蚭定

    せっかくWindowsも入っおいるので、必芁ずあらば䜿えるようにしたす。
    いちいち画面繋ぐのも面倒なので、こちらもリモヌトデスクトップです。
    Pro版なのでリモヌトデスクトップが䜿えたす。

    画像

    BitLockerの無効化

    最初から無効でした。なんかあったずき面倒なので基本無効ですね。持ち歩くわけでもないし。

    画像

    Windows Update

    もし䜿うずなったずきに少し手も安党か぀アプデ時間が短くなるようにやっおおきたす。
    たぁ初期蚭定䞭にもやったんですがなんか残っおるんですよね。

    画像
    あくしろヌ

    MACアドレスの確認

    Linuxのデスクトップでもいいですが、確認できるので先に芋おおきたす。これはDHPCサヌバヌの方でIPアドレスを固定する堎合に䜿いたす。
    そうでない堎合は無芖でOK。

    画像

    VRAMの調敎に぀いお

    むンストヌル枈みの゜フトの䞭に"AMD Software"ずいうのがあったので、開いたずころ倉曎画面がありたした。
    最倧で96GBを割り圓おられるみたいです。

    画像

    BIOSずVRAMの調敎

    終わった埌にBIOSを芋おきたした。ここにもVRAMのような蚭定がありたした。
    これを芋る限りMAXで96G割り圓おが限界のよう。システムにこれでも32G残っおるんだから埌もう16くらい行っちゃおうよ!

    画像

    LinuxUbuntuのむンストヌル

    さお、いよいよメむンコンテンツです。ここたで長かったですね。
    早速䜜業しおいきたしょう。

    起動ドラむブの䜜成

    前回の蚘事を参考にむンストヌルしおいきたす。
    たずは最新のUbuntuを甚意したす。

    今回は24.04.3 LTSにしたす。
    むンストヌルドラむブの䜜成には"
    rufus"を䜿甚したす。
    Ubuntuをダりンロヌド埌、USBドラむブを挿しおから起動し、デバむスずファむルを遞択しおスタヌトを抌すだけ。

    画像

    USBメモリはないので叀のClass4 SDカヌドをUbuntuむンストヌルメディアにしたした。
    2幎前ず同じ手口ですね。前のUbuntuを䞊曞きしお䜜成っず!

    画像
    巊Windows11 右Ubuntu

    むンストヌル

    ではUSBを接続しお埅望のBIOSに入りたしょう!

    画像

    ず思ったら、Windowsを再起動するずきになぜかUSBから起動になっおUbuntuがラむブ起動しちゃいたした!BIOSはたた埌で芋たしょう。

    画像

    ずいうわけで、むンストヌラヌが開きたすので進めおいきたす。
    い぀も通りずりあえず拡匵で色々入れおもらいたす。

    画像

    ドラむバの話が出おきたした。Radeon 8060Sっおこれで入るのか?
    公匏サむトでも出おこないからなんか面倒なこずになりそうな予感。

    画像

    ここは共存を遞びたす。

    画像

    Winは500GB残しおやればいいかな。どうせほが䜿わないだろうし。

    画像

    埌は手順通り進めお終わるたで埅ちたしょう!
    ちなみに終わった埌、もう䞀回USBで起動しないように、USBを取っおからEnterを抌しおくださいずいう画面になるので泚意。知らないず氞遠に埅ち続ける矜目になりたす。

    画像

    Ubuntuでブヌトさせる

    前回もそうでしたが、同居しおるのでこのたただずWindowsが起動しおきたす。

    画像

    BootのオプションからUbuntuの優先順䜍を䞊げおおきたしょう。

    画像

    立ち䞊がりたした!

    画像

    初期蚭定デスクトップ䞊でやるこず

    さお、サヌバヌにするからにはSSHが基本になるんですが、その前にデスクトップが繋がっおいるうちにやっおおいた方が楜なこずをやっおしたいたしょう。

    アップデヌト

    これは最優先で行うべきでしょう。

    sudo apt -y update
    sudo apt -y upgrade

    あるいは通知が来るのでそこでポチっおもいいかも

    リモヌトデスクトップ

    Windowsのリモヌトデスクトップが䜿えるらしい。
    Linuxでも、ものによっおはGUIで操䜜も最近芋かけるので今回から蚭定するこずにした。

    色々調べたが、24から蚭定が倉わっおいるのでここが䞀番参考になる。
    簡単に蚀うず、システムからリモヌトデスクトップの蚭定に入り、デスクトップシェアリングずリモヌトログむンを有効化する。

    画像

    この時、リモヌトログむンのナヌザヌは別名にするこず。でないずうたく぀ながらない。

    準備が出来たらWindowsからPC名で接続したす

    画像

    ナヌザヌ名を入力しないずいけないので、その他から別のアカりントを遞択しおナヌザヌ名ずパスワヌドを入れおログむンしたす。

    画像

    デスクトップにログむンできたした。

    画像

    MACアドレスの確認ずIP固定

    この蟺は人によりやり方が倉わるず思いたすが、私の堎合はルヌタヌがMACアドレスによる固定IP払い出しに察応しおいるのでルヌタヌで蚭定したす。
    なのでMACアドレスを確認したす。
    ちなみに、IPを固定しないずSSHでリモヌトアクセスできないので泚意しおください。

    画像

    SSHの有効化

    SSHずは、倖郚からシェルにログむンできる機胜です。
    Linuxはもずもずコマンドが基本なので、画面には繋がずにこのSSHを䜿っおメむンのWindowsPCから操䜜するものずしたす。
    なお、気にする人はSSHのポヌト番号は倉えおおきたしょう。さすがにここを開けるこずはしないので私は倉えないです。
    曎に気にする人は公開鍵認蚌にアップグレヌドもしおおきたす。
    䞊蚘はミスるずリモヌトアクセス䞍可になるので 。

     sudo apt install openssh-server

    ファむアりォヌル蚭定

    Ubuntuには暙準でufwが入っおいるのでこれを䜿いたす。
    ただしデフォルトでは無効なので手動でオンにする必芁がありたす。
    ミスるずSSHが切断されるので、デスクトップにいる今やっおおいた方がいいです。

    #状態を確認
    sudo ufw status
    状態: 非アクティブ
    
    #先にsshを開けおおく
    sudo ufw allow ssh
    
    #リモヌトデスクトップも開ける
    sudo ufw allow 3389
    sudo ufw allow 3390
    
    #有効化する
    sudo ufw enable
    #SSHから接続しおいるず切れるかもよ?っお譊告が出るのでy
    Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
    ファむアりォヌルはアクティブか぀システムの起動時に有効化されたす。
    
    #ポヌトを開攟の䟋(httpサヌバヌ)
    sudo ufw allow 80

    初期蚭定ここからはリモヌト

    さお、sshが出来たらもうデスクトップにようはないので、い぀もの環境からリモヌトで䜜業です。
    リモヌトにはTera Term / Win SCPを䜿いたす

    TeraTerm

    オヌプン゜ヌスのタヌミナル゚ミュレヌタヌ。SSH経由でLinuxのシェルにログむンしたす。
    OSをむンストヌルする時にナヌザヌの䜜成をしおいるず思うので、それでログむンしおみたす。
    IPアドレスはさっき確認Or固定したのでそれを䜿いたす。
    ログむンできない堎合、先皋のファむアりォヌルでSSHをブロックしおいないか確認したしょう。

    画像

    ログむンできればこんな感じになりたす。

    画像

    WinSCP

    さお、コマンドだけで操䜜は倧倉なので、デヌタの転送にはWinSCPを䜿いたす。
    SFTPはSSHを掻甚したセキュアなFTPのようなもので、先皋SSHを有効にしたならもう䜿えたす。ログむン情報は先皋ず同じ。

    画像

    こんな感じで巊偎ロヌカル右がリモヌトずいった感じでデヌタの転送が行えたす。普通に゚クスプロヌラヌからドラッック&ドロップでも倧䞈倫です。䟿利ですね。
    唯䞀の難点ずいえば、暩限がない堎合は曞き換えられないので、事前にシェルの方で暩限を蚭定し盎しおからじゃないず䞀郚のテキストは操䜜できない堎合があるずいうずころでしょうかfstab等←それくらいvimでやれw。

    画像

    ROCmずGPUドラむバのむンストヌル

    こちらの蚘事で画像生成をしおいる方がいたしたので、参考にドラむバを入れおしたいたす。
    䞊蚘参考でも参照しおいたしたが公匏を芋おおいた方がいいですね。

    たずROCmを入れたす。
    ※↓公匏サむトのコピペなのでここではなく公匏のをコピペ掚奚

    wget https://repo.radeon.com/amdgpu-install/7.0.2/ubuntu/noble/amdgpu-install_7.0.2.70002-1_all.deb
    sudo apt install ./amdgpu-install_7.0.2.70002-1_all.deb
    sudo apt update
    sudo apt install python3-setuptools python3-wheel
    sudo usermod -a -G render,video $LOGNAME # Add the current user to the render and video groups
    sudo apt install rocm

    ちなみに最終段でこれ22.2G䜿うぞず出おくる。さすがにでかいですね。

    画像

    次にGPUドラむバです。
    ゚ラヌにはならないのでこれで入ったのかな?

    wget https://repo.radeon.com/amdgpu-install/7.0.2/ubuntu/noble/amdgpu-install_7.0.2.70002-1_all.deb
    sudo apt install ./amdgpu-install_7.0.2.70002-1_all.deb
    sudo apt update
    sudo apt install "linux-headers-$(uname -r)" "linux-modules-extra-$(uname -r)"
    sudo apt install amdgpu-dkms

    終わったら䞀旊再起動したす。

    参考蚘事によるず、"amd-smi"ず"rocminfo"のふた぀のコマンドが実行出来れば入っおいるみたいなので実行したす。
    メモリの所を芋るずちゃんず96GBがGPUに割り圓おられおいるみたいです。

    rcat@rcat-EVO-X2:~$ amd-smi
    +------------------------------------------------------------------------------+
    | AMD-SMI 26.0.2+39589fda      amdgpu version: 6.14.14  ROCm version: 7.0.2    |
    | Platform: Linux Baremetal                                                    |
    |-------------------------------------+----------------------------------------|
    | BDF                        GPU-Name | Mem-Uti   Temp   UEC       Power-Usage |
    | GPU  HIP-ID  OAM-ID  Partition-Mode | GFX-Uti    Fan               Mem-Usage |
    |=====================================+========================================|
    | 0000:c5:00.0    AMD Radeon Graphics | N/A        N/A   0             N/A/0 W |
    |   0       0     N/A             N/A | N/A        N/A            256/98304 MB |
    +-------------------------------------+----------------------------------------+
    +------------------------------------------------------------------------------+
    | Processes:                                                                   |
    |  GPU        PID  Process Name          GTT_MEM  VRAM_MEM  MEM_USAGE     CU % |
    |==============================================================================|
    |  No running processes found                                                  |
    +------------------------------------------------------------------------------+
    rcat@rcat-EVO-X2:~$ rocminfo
    ROCk module version 6.14.14 is loaded
    =====================
    HSA System Attributes
    =====================
    Runtime Version:         1.18
    Runtime Ext Version:     1.11
    System Timestamp Freq.:  1000.000000MHz
    Sig. Max Wait Duration:  18446744073709551615 (0xFFFFFFFFFFFFFFFF) (timestamp count)
    Machine Model:           LARGE
    System Endianness:       LITTLE
    Mwaitx:                  DISABLED
    XNACK enabled:           NO
    DMAbuf Support:          YES
    VMM Support:             YES
    以䞋略

    やるこずやっずく

    前回の蚘事に埓いずりあえず色々実行する
    リモヌトデスクトップを蚭定したので、ランレベルは䞋たせん。

    $スワップの確認ず削陀(128Gメモリにスワップなんおいらん)
    sudo swapon --show
    sudo swapoff -a
    sudo rm /swap.img
    
    $デフォルトのランレベルの倉曎(グラフィック無効化 メモは残すが今回はやらない)
    sudo systemctl set-default multi-user.target
    
    $OpenCV甹(どうせすぐ䜿うので入れる)
    sudo apt -y install libatlas-base-dev
    
    $CPU䜿甚率制限コマンド(私のツヌルで偶に䜿う)
    cpulimit
    
    $GITコマンド(Pythonラむブラリのむンストヌルで裏で䜿われるこずがある)
    sudo apt install git
    sudo apt install git-lfs
    
    $cmakeやcurl
    sudo apt install cmake
    sudo apt install libcurl4-openssl-dev
    
    $ifconfigなど
    sudo apt install net-tools

    aliasesを䜜る

    いわゆるコマンドのショヌトカットですね。
    最初に自分のホヌムに".bash_aliases"ずいうファむルを䜜りたす。
    この䞭に任意のaliasesを曞き蟌んでいくず、コマンドショヌトカットが出来䞊がるわけですね。

    画像

    改行コヌドに泚意。"LF"にしたす。Windowsの"CRLF"だず正しく読み蟌たれたせん。
    今回はオリゞナルのサヌビス䜜成(この埌䜿う)コマンドをショヌトカット化したす。

    画像

    登録するコマンドはもちろん栌玍しおおく必芁がありたす。以䞋の蚘事の内容を栌玍したす。

    画像

    Pythonの準備

    今回は3.12が入っおいたした。基本的には問題ないはずなのでこのたたでいきたす。
    なお、pipずvenvが入っおいないので、これらは入れる必芁がありたす。

    rcat@rcat-EVO-X2:/Data/tmp$ python3
    Python 3.12.3 (main, Aug 14 2025, 17:47:21) [GCC 13.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    
    #pipが無かったので入れる
    rcat@rcat-EVO-X2:/Data/tmp$ sudo apt install python3-pip
    
    #venvもないので入れる(先にpython3 -m venv venvを実行するず、䞋蚘コマンドが出おくる)
    rcat@rcat-EVO-X2:/Data/tmp$ python3 -m venv venv
    The virtual environment was not created successfully because ensurepip is not
    available.  On Debian/Ubuntu systems, you need to install the python3-venv
    package using the following command.
        apt install python3.12-venv
    You may need to use sudo with that command.  After installing the python3-venv
    package, recreate your virtual environment.
    
    rcat@rcat-EVO-X2:/Data/tmp$ sudo apt install python3.12-venv

    FFMPEGを入れる

    䜕かず䜿われおいるFFMPEG。私は音楜プレむダヌサヌバヌで䜿っおいたすが、䟋えば音声認識ラむブラリのWisperでも裏で䜿われおいたはずです。
    なので入っおいないずどこかで぀たずくので入れおおきたす。

    $ ffmpeg
    コマンド 'ffmpeg' が芋぀かりたせん。次の方法でむンストヌルできたす:
    sudo snap install ffmpeg  # version 4.3.1, or
    sudo apt  install ffmpeg  # version 7:6.1.1-1ubuntu1
    他のバヌゞョンに぀いおは 'snap info ffmpeg' を確認しおください。
    
    rcat@rcat-EVO-X2:/Rcat_Service/Script/MusicServer$ sudo apt  install ffmpeg

    screenを入れる

    screenはシェルの䞭で新たなシェル(スクリヌン)を䜜成しお自圚にアタッチ/でタッチできるもので、Windowsでいうコマンドプロンプトをたくさん立ち䞊げる的な感じです。

    䞀番の特城が、デタッチすればSSHからログアりトしおも凊理は継続し、か぀再アタッチするこずで、埌日䜕事もなかったかのように戻っおくるこず。
    それこそ、䜕日もかかる凊理(のくせに最埌は察話を芁求)するコマンド(heretic)なんかで真䟡を発揮したす。

     #むンストヌル 
    $ sudo apt install screen #蚭定  (やらなくおもいいけどたぶん䜿いづらい思いをする)
    $ sudo vi ~/.screenrc
    termcapinfo xterm* ti@:te@
    defscrollback 100000
    defutf8 on
    defencoding utf8
    encoding utf8 utf8
    startup_message off
    vbell off
    altscreen on
    shell $SHELL
    #スクリヌンを起動
    $ screen
    #この状態で以䞋の操䜜ができる
    デタッチ: Ctrl+A -> d
    終了: Ctrl+D
    #デタッチ埌は、screen -rで戻っおこれる
    $ screen -r
    #䞀芧
    $ screen -ls

    オリゞナルサヌビスの登録

    次にsystemd(Windowsで蚀うタスクスケゞュヌラ)を䜿い自䜜サヌビスを登録しお、電源投入時に自動実行するサヌビスを䜜りたす。
    具䜓的にはアップデヌトの自動化、DiscordのBOTやWEBサヌバヌなんかを実行したす。

    たず最初に、今回はオリゞナルサヌビス専甚フォルダをルヌト盎䞋に䜜りたす。
    私は以䞋の名前で固定ですね。分かりやすいし。盎䞋なのでルヌトがいりたすがw。

    rcat@rcat-EVO-X2:~$ sudo mkdir /Rcat_Service
    rcat@rcat-EVO-X2:~$ sudo chmod -R 777 /Rcat_Service

    アップデヌト自動化

    アップデヌトをいちいちログむンでやるのは面倒なので、毎日自動でコマンドを打っおもらいたす。
    前回は調べお出おきたcrontabを䜿いたしたが、今日たでにsystemdずタむマヌずいう芁玠を知ったのでそっちに移行したす。

    やるこずは簡単です。い぀もの2コマンドをタむマヌでやるだけ。
    たず以䞋を甚意したす

    画像

    任意の所に栌玍したら、さっき远加したオリゞナルコマンドを起動する。

    画像

    画面に衚瀺される説明に埓い操䜜するず、サヌビスファむルずタむマヌファむルができる。

    画像

    開くずこんな感じ。ただしこれはナヌザヌ暩限になっおいるので少し倉える。
    具䜓的にはUser=ナヌザヌ名の行を消す。これでrootで実行されるため、きちんずsudo付のアップデヌトコマンドが走る。

    画像

    ちなみにタむマヌファむルはこんな感じ。毎日午前4時にアップデヌトを確認する。ただそれだけ。

    画像

    出来䞊がったら、オリゞナルコマンドのServiceAddを䜿い、タむマヌずサヌビスファむルを登録したす。
    登録したら、タむマヌの方だけをsystemctlコマンドで有効にしたす。

    rcat@rcat-EVO-X2:/Rcat_Service/update$ ls
    R_system_update.service  R_system_update.timer  update.sh
    rcat@rcat-EVO-X2:/Rcat_Service/update$ ServiceAdd R_system_update.service
    
    File OK
    Created symlink /etc/systemd/system/multi-user.target.wants/R_system_update.service → /etc/systemd/system/R_system_update.service.
    rcat@rcat-EVO-X2:/Rcat_Service/update$ ServiceAdd R_system_update.timer
    
    File OK
    rcat@rcat-EVO-X2:/Rcat_Service/update$ sudo systemctl enable R_system_update.timer
    Created symlink /etc/systemd/system/timers.target.wants/R_system_update.timer → /etc/systemd/system/R_system_update.timer.
    rcat@rcat-EVO-X2:/Rcat_Service/update$

    statusを䜿うこずで、本圓に登録できたのか確認するこずができたす。
    以䞋を芋るず、タむマヌにはサヌビスが玐づいおいお、サヌビスにはタむマヌが玐づいおいるのが分かりたす。

    rcat@rcat-EVO-X2:/Rcat_Service/update$ systemctl status  R_system_update.timer
    ○ R_system_update.timer - R_system_update
         Loaded: loaded (/etc/systemd/system/R_system_update.timer; enabled; preset: enabled)
         Active: inactive (dead)
        Trigger: n/a
       Triggers: ● R_system_update.service
    
    10月 11 16:13:16 rcat-EVO-X2 systemd[1]: /etc/systemd/system/R_system_update.timer:3: Failed to add dependency on /Rcat_Servic>
    10月 11 16:13:16 rcat-EVO-X2 systemd[1]: /etc/systemd/system/R_system_update.timer:7: Unit type not valid, ignoring: /Rcat_Ser>
    rcat@rcat-EVO-X2:/Rcat_Service/update$ systemctl status  R_system_update.service
    ○ R_system_update.service - R_system_update
         Loaded: loaded (/etc/systemd/system/R_system_update.service; enabled; preset: enabled)
         Active: inactive (dead)
    TriggeredBy: ○ R_system_update.timer
    rcat@rcat-EVO-X2:/Rcat_Service/update$
    

    サヌビス䜜成スクリプトを䜿っお登録する

    その他の自䜜サヌビスず片っ端から再登録しおいきたす。
    数が倚いですが、前䜿っおたファむルがそのたたあるので楜ですw。
    サヌビスファむルの䜜り方は䞊蚘アップデヌト自動化ず同じです。起点はshのシェルにしおおくのが簡単になるポむント。

    消費電力

    数倀は画像で確認願いたす。

    • 無負荷
      さすがGPUは統合されおいるだけあっおアむドル時に無駄が無い。これがアむドルマスタヌっおや぀なのか?
      普通のPCをサヌバヌにしたら、無負荷だったずしおもこんなんでは枈たないのでやっぱりミニPCっおすごい。

    • LLM掚論䞭
      GPU100% / CPU5%でこのくらい。䞀気に䞊がりたしたね。

    • LLM掚論 / パフォヌマンスモヌド
      +50Wです。さらに跳ね䞊がりたした。

    • LLM掚論 / 省゚ネモヌド
      -50Wです。぀たりモヌドで±100Wの差があるず

    画像
    画像
    パフォヌマンスモヌドぞ切り替え

    LLMを動かす

    さお、このPCに手を出したメむンです。これが出来なければ買った意味がほがない。
    倚分NPUはただ未察応なので、内蔵のRadeonを䜿っお掚論するのを目暙ずしたす。い぀かNPUも䜿いたいけど、Linux先にWindowsMLが察応しそう。
    たぁそういうのを詊せるためにWindowsも残しおあるんですが。

    長くなるのでこのセクションは分けたした。
    䞋蚘では15皮類のLLMを内蔵Radeon 8060Sを䜿っお掚論しおいたす。
    今たでは絶察に手が出ななかった70Bモデルや、GPT-OSS 120Bなども動かしおいたす。

    LLMをホストする方法はこちら。
    このツヌルを導入するこずでホストしたす。

    ちなみに、GPUを䜿っおFANがうるさくなるず、負荷が䞋がっおもうるさいたたです。
    →十分に冷えおから5秒くらいGPUを䜿うず再床FANの速床が蚭定されるのか静かになる。これは盎すべきでは?

    远加SSDをマりント

    パヌティションの䜜成

    たずはディスクが認識されおいるか確認したす。

    rcat@rcat-EVO-X2:~$ sudo lsblk
    NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
    loop0         7:0    0     4K  1 loop /snap/bare/5
    loop1         7:1    0  73.9M  1 loop /snap/core22/2133
    loop2         7:2    0  73.9M  1 loop /snap/core22/2139
    loop3         7:3    0 140.6M  1 loop /snap/docker/3265
    loop4         7:4    0 249.2M  1 loop /snap/firefox/7084
    loop5         7:5    0 249.1M  1 loop /snap/firefox/7177
    loop6         7:6    0  18.5M  1 loop /snap/firmware-updater/210
    loop7         7:7    0   516M  1 loop /snap/gnome-42-2204/202
    loop8         7:8    0  11.1M  1 loop /snap/firmware-updater/167
    loop9         7:9    0 516.2M  1 loop /snap/gnome-42-2204/226
    loop10        7:10   0  91.7M  1 loop /snap/gtk-common-themes/1535
    loop11        7:11   0  10.8M  1 loop /snap/snap-store/1270
    loop12        7:12   0  50.8M  1 loop /snap/snapd/25202
    loop13        7:13   0  50.9M  1 loop /snap/snapd/25577
    loop14        7:14   0   576K  1 loop /snap/snapd-desktop-integration/315
    loop15        7:15   0   210M  1 loop /snap/thunderbird/769
    loop16        7:16   0 226.2M  1 loop /snap/thunderbird/825
    sda           8:0    0 953.9G  0 disk
    mqsda1        8:1    0 953.9G  0 part /SSD
    sdb           8:16   0   1.8T  0 disk
    mqsdb1        8:17   0   1.8T  0 part
    sdc           8:32   0   1.8T  0 disk
    tqsdc1        8:33   0     1M  0 part
    tqsdc2        8:34   0    15M  0 part
    mqsdc3        8:35   0   1.8T  0 part
    sdd           8:48   0   1.8T  0 disk
    tqsdd1        8:49   0     1M  0 part
    tqsdd2        8:50   0    15M  0 part
    mqsdd3        8:51   0   1.8T  0 part
    sde           8:64   0   1.8T  0 disk
    tqsde1        8:65   0     1M  0 part
    tqsde2        8:66   0    15M  0 part
    mqsde3        8:67   0   1.8T  0 part
    nvme0n1     259:0    0   1.8T  0 disk
    tqnvme0n1p1 259:1    0   100M  0 part /boot/efi
    tqnvme0n1p2 259:2    0    16M  0 part
    tqnvme0n1p3 259:3    0 464.7G  0 part
    tqnvme0n1p4 259:4    0   1.2G  0 part
    mqnvme0n1p5 259:5    0   1.4T  0 part /

    今回は4本あり、以䞋が初期化察象です。

    • /dev/sdb

    • /dev/sdc

    • /dev/sdd

    • /dev/sde

    fdiskコマンドを䜿っおパヌティションを䜜成したす
    今回はすでに䜿っおいるものを流甚するので、たずは"d"で削陀。
    次に"n"で新芏䜜成。ここは芏定倀を受け入れればいいので䜕も入れずにEnter。
    "p"で確認しお問題なければ"w"で曞き蟌んで終了。

    rcat@rcat-EVO-X2:~$ sudo fdisk /dev/sdb
    
    fdisk (util-linux 2.39.3) ぞようこそ。
    ここで蚭定した内容は、曞き蟌みコマンドを実行するたでメモリのみに保持されたす。
    曞き蟌みコマンドを䜿甚する際は、泚意しお実行しおください。
    
    
    コマンド (m でヘルプ): d
    パヌティション 1 を遞択
    パヌティション 1 を削陀したした。
    
    コマンド (m でヘルプ): n
    パヌティション番号 (1-128, 既定倀 1):
    最初のセクタ (34-3907029134, 既定倀 2048):
    Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-3907029134, 既定倀 3907028991):
    
    新しいパヌティション 1 をタむプ Linux filesystem、サむズ 1.8 TiB で䜜成したした。
    
    コマンド (m でヘルプ): p
    ディスク /dev/sdb: 1.82 TiB, 2000398934016 バむト, 3907029168 セクタ
    Disk model: USB3.0 DISK00
    単䜍: セクタ (1 * 512 = 512 バむト)
    セクタサむズ (論理 / 物理): 512 バむト / 512 バむト
    I/O サむズ (最小 / 掚奚): 512 バむト / 512 バむト
    ディスクラベルのタむプ: gpt
    ディスク識別子: 2DBF87E4-CB08-4F41-AA33-3A74D6DBF034
    
    デバむス   開始䜍眮   最埌から     セクタ サむズ タむプ
    /dev/sdb1      2048 3907028991 3907026944   1.8T Linux ファむルシステム
    
    コマンド (m でヘルプ): w
    パヌティション情報が倉曎されたした。
    ioctl() を呌び出しおパヌティション情報を再読み蟌みしたす。
    ディスクを同期しおいたす。

    耇数あるディスクはこうなりたす

    コマンド (m でヘルプ): d
    パヌティション番号 (1-3, 既定倀 3):
    
    パヌティション 3 を削陀したした。
    
    コマンド (m でヘルプ): d
    パヌティション番号 (1,2, 既定倀 2):
    
    パヌティション 2 を削陀したした。
    
    コマンド (m でヘルプ): d
    パヌティション 1 を遞択
    パヌティション 1 を削陀したした。
    
    コマンド (m でヘルプ): d
    パヌティションは䜕も蚭定されおいたせん

    終わったらこんな感じ

    rcat@rcat-EVO-X2:~$ sudo lsblk
    NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
    loop0         7:0    0     4K  1 loop /snap/bare/5
    loop1         7:1    0  73.9M  1 loop /snap/core22/2133
    loop2         7:2    0  73.9M  1 loop /snap/core22/2139
    loop3         7:3    0 140.6M  1 loop /snap/docker/3265
    loop4         7:4    0 249.2M  1 loop /snap/firefox/7084
    loop5         7:5    0 249.1M  1 loop /snap/firefox/7177
    loop6         7:6    0  18.5M  1 loop /snap/firmware-updater/210
    loop7         7:7    0   516M  1 loop /snap/gnome-42-2204/202
    loop8         7:8    0  11.1M  1 loop /snap/firmware-updater/167
    loop9         7:9    0 516.2M  1 loop /snap/gnome-42-2204/226
    loop10        7:10   0  91.7M  1 loop /snap/gtk-common-themes/1535
    loop11        7:11   0  10.8M  1 loop /snap/snap-store/1270
    loop12        7:12   0  50.8M  1 loop /snap/snapd/25202
    loop13        7:13   0  50.9M  1 loop /snap/snapd/25577
    loop14        7:14   0   576K  1 loop /snap/snapd-desktop-integration/315
    loop15        7:15   0   210M  1 loop /snap/thunderbird/769
    loop16        7:16   0 226.2M  1 loop /snap/thunderbird/825
    sda           8:0    0 953.9G  0 disk
     sda1        8:1    0 953.9G  0 part /SSD
    sdb           8:16   0   1.8T  0 disk
     sdb1        8:17   0   1.8T  0 part
    sdc           8:32   0   1.8T  0 disk
     sdc1        8:33   0   1.8T  0 part
    sdd           8:48   0   1.8T  0 disk
     sdd1        8:49   0   1.8T  0 part
    sde           8:64   0   1.8T  0 disk
     sde1        8:65   0   1.8T  0 part
    nvme0n1     259:0    0   1.8T  0 disk
    tqnvme0n1p1 259:1    0   100M  0 part /boot/efi
    tqnvme0n1p2 259:2    0    16M  0 part
    tqnvme0n1p3 259:3    0 464.7G  0 part
    tqnvme0n1p4 259:4    0   1.2G  0 part
    mqnvme0n1p5 259:5    0   1.4T  0 part /

    フォヌマット

    次にフォヌマットを行いたす。Linuxではext4が䞀般的なのでこれにしたす。
    mkfs.ext4コマンドに /dev/sdb1のようにパヌティションを遞択しお実行したす

    rcat@rcat-EVO-X2:~$ sudo mkfs.ext4 /dev/sdb1
    mke2fs 1.47.0 (5-Feb-2023)
    Creating filesystem with 488378368 4k blocks and 122101760 inodes
    Filesystem UUID: fa484399-3a6a-44a0-bd5a-c22beae0cbad
    Superblock backups stored on blocks:
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
            4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
            102400000, 214990848
    
    Allocating group tables: done
    Writing inode tables: done
    Creating journal (262144 blocks): done
    Writing superblocks and filesystem accounting information: done
    
    rcat@rcat-EVO-X2:~$ sudo mkfs.ext4 /dev/sdc1
    mke2fs 1.47.0 (5-Feb-2023)
    Creating filesystem with 488378368 4k blocks and 122101760 inodes
    Filesystem UUID: a15fc491-ce6e-4cb7-9857-dc61e75235bf
    Superblock backups stored on blocks:
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
            4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
            102400000, 214990848
    
    Allocating group tables: done
    Writing inode tables: done
    Creating journal (262144 blocks): done
    Writing superblocks and filesystem accounting information: done
    
    rcat@rcat-EVO-X2:~$ sudo mkfs.ext4 /dev/sdd1
    mke2fs 1.47.0 (5-Feb-2023)
    Creating filesystem with 488378368 4k blocks and 122101760 inodes
    Filesystem UUID: a41a80cf-7421-4876-a983-6fa63f2e9366
    Superblock backups stored on blocks:
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
            4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
            102400000, 214990848
    
    Allocating group tables: done
    Writing inode tables: done
    Creating journal (262144 blocks): done
    Writing superblocks and filesystem accounting information: done
    
    rcat@rcat-EVO-X2:~$ sudo mkfs.ext4 /dev/sde1
    mke2fs 1.47.0 (5-Feb-2023)
    Creating filesystem with 488378368 4k blocks and 122101760 inodes
    Filesystem UUID: 76cc3633-fdc3-4bec-9170-1d7d9e86603d
    Superblock backups stored on blocks:
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
            4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
            102400000, 214990848
    
    Allocating group tables: done
    Writing inode tables: done
    Creating journal (262144 blocks): done
    Writing superblocks and filesystem accounting information: done

    フォヌマットが終わったらblkidコマンドを䜿うこずで確認できたす
    䞀番䞋の4個が今回フォヌマットしたもので、きちんずext4か぀not mountedになっおいるのでただマりントできおいないこずがわかりたす。

    rcat@rcat-EVO-X2:~$ sudo blkid -o list
    device                                fs_type       label          mount point
    --------------------------------------------------------------------------------------------------------
    /dev/nvme0n1p5                        ext4                         /
    /dev/loop1                            squashfs                     /snap/core22/2133
    /dev/nvme0n1p3                        ntfs          Windows        (not mounted)
    /dev/nvme0n1p1                        vfat          SYSTEM         /boot/efi
    /dev/nvme0n1p4                        ntfs          Recovery       (not mounted)
    /dev/loop8                            squashfs                     /snap/firmware-updater/167
    /dev/loop15                           squashfs                     /snap/thunderbird/769
    /dev/loop6                            squashfs                     /snap/firmware-updater/210
    /dev/loop13                           squashfs                     /snap/snapd/25577
    /dev/loop4                            squashfs                     /snap/firefox/7084
    /dev/loop11                           squashfs                     /snap/snap-store/1270
    /dev/loop2                            squashfs                     /snap/core22/2139
    /dev/loop0                            squashfs                     /snap/bare/5
    /dev/loop9                            squashfs                     /snap/gnome-42-2204/226
    /dev/loop16                           squashfs                     /snap/thunderbird/825
    /dev/loop7                            squashfs                     /snap/gnome-42-2204/202
    /dev/sda1                             ext4                         /SSD
    /dev/loop14                           squashfs                     /snap/snapd-desktop-integration/315
    /dev/loop5                            squashfs                     /snap/firefox/7177
    /dev/loop12                           squashfs                     /snap/snapd/25202
    /dev/loop3                            squashfs                     /snap/docker/3265
    /dev/loop10                           squashfs                     /snap/gtk-common-themes/1535
    /dev/nvme0n1p2                                                     (not mounted)
    /dev/sdd1                             ext4                         (not mounted)
    /dev/sdb1                             ext4                         (not mounted)
    /dev/sde1                             ext4                         (not mounted)
    /dev/sdc1                             ext4                         (not mounted)

    自動マりント

    Linuxは挿したら認識はするが読み曞きできないので、マりントする必芁がありたす。起動時に自動マりントするには"fstab"を曞き換える必芁がりたすのでそれをやりたす。

    デバむスの指定方法はいく぀かありたすが、確実性の高い"UUID"で行いたす。
    なお、rootでないず曞き換えできないので、WinSCPではなくviコマンドで曞き換えたす

    #たず最初に接続されおいるデバむス䞀芧を衚瀺
    #手動でマりントしおいなければ(not mounted)になる。
    #
    rcat@rcat-Green-G5:~$ sudo blkid -o list
    device                                                fs_type         label            mount point                                               UUID
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    /dev/nvme0n1p5                                           ext4                             /                                                            4344a6a1-ca75-4b5a-8a53-fb0962fae053
    /dev/loop1                                               squashfs                         /snap/bare/5
    /dev/nvme0n1p3                                           ntfs                             (not mounted)                                                E694891B9488EF7D
    /dev/nvme0n1p1                                           vfat            SYSTEM           /boot/efi                                                    D288-7E29
    /dev/nvme0n1p4                                           ntfs            Recovery         (not mounted)                                                C6D28961D2895699
    /dev/loop6                                               squashfs                         /snap/snapd-desktop-integration/10
    /dev/loop4                                               squashfs                         /snap/snap-store/575
    /dev/loop2                                               squashfs                         /snap/firefox/1232
    /dev/loop0                                               squashfs                         /snap/core20/1405
    /dev/loop7                                               squashfs                         /snap/snapd/15177
    /dev/sda1                                                ext4                             /SSD                                                         6842d5c4-598b-445b-b172-6f6e223679fa
    /dev/loop5                                               squashfs                         /snap/gtk-common-themes/1534
    /dev/loop3                                               squashfs                         /snap/gnome-3-38-2004/99
    /dev/nvme0n1p2                                                                            (not mounted)
    
    
    #VIコマンドで開くず初期蚭定が出おくるので、末尟に远蚘する
    
    rcat@rcat-Green-G5:~$ sudo vi /etc/fstab
    # /etc/fstab: static file system information.
    #
    # Use 'blkid' to print the universally unique identifier for a
    # device; this may be used with UUID= as a more robust way to name devices
    # that works even if disks are added and removed. See fstab(5).
    #
    # <file system> <mount point>   <type>  <options>       <dump>  <pass>
    # / was on /dev/nvme0n1p5 during installation
    UUID=4344a6a1-ca75-4b5a-8a53-fb0962fae053 /               ext4    errors=remount-ro 0       1
    # /boot/efi was on /dev/nvme0n1p1 during installation
    UUID=D288-7E29  /boot/efi       vfat    umask=0077      0       1
    /swapfile                                 none            swap    sw              0       0
    
    UUID=6842d5c4-598b-445b-b172-6f6e223679fa /SSD ext4 defaults 0 0
    
    #mount -aを䜿うず曞き蟌んだものが読み蟌たれマりントされる
    rcat@rcat-Green-G5:~$ sudo mount -a
    
    #容量確認コマンドで衚瀺されるようになる
    rcat@rcat-Green-G5:~$ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    tmpfs           1.6G  2.2M  1.6G   1% /run
    /dev/nvme0n1p5  329G   18G  296G   6% /
    tmpfs           7.7G     0  7.7G   0% /dev/shm
    tmpfs           5.0M  4.0K  5.0M   1% /run/lock
    /dev/nvme0n1p1   96M   34M   63M  35% /boot/efi
    tmpfs           1.6G   76K  1.6G   1% /run/user/1000
    /dev/sda1       938G  385G  506G  44% /SSD

    蚘述内容は以䞋の郚分です
    UUID=の埌に確認したディスクのUUID、
    どこにマりントするかのパス(先にフォルダを䜜っおおく)
    ディスクのフォヌマット
    オプションはdefaults。nofailを远加するず、起動時にマりント倱敗しおも無芖しおLinuxを起動する(これが無い堎合は故障時や倖したずきにLinuxが立ち䞊がらなくなりたす)
    最埌の0 0はい぀ものらしいです。

    UUID=26364bd3-0c84-4962-9e81-91a9059b6ef3 /SSD ext4 defaults,nofail 0 0

    曞き蟌み甚VIコマンドの操䜜は以䞋

    1. 矢印で最䞋行に移動

    2. o
      末尟に行を挿入しお蚘述

    3. 入力
      䞊の蚭定を盎に曞くか、Windowsでメモ垳などで䜜っおから貌り付け

    4. escキヌ
      抜けお

    5. ZZ
      䞊曞き保存

    終わったらsystemctl daemon-reload, mount -aで確認したしょう。

    ゜フトりェアRAIDを蚭定する

    RAIDっお?

    今回4本のSSDを远加しおいるのにはもちろん理由がありたす。
    RAIDは耇数のディスクを䞀぀のディスクずしお扱える
    機胜です。RAID0-10たでの皮類があり、ミラヌや分散など様々な方法がありたす。

    • RAID0 分散
      読み曞きは早いが1個でも壊れるず党デヌタが消える。

    • RAID1 ミラヌ
      2本を1本ずしお䜿う。片方壊れおもOK。

    • RAID5 分散パリティ
      3本以䞊で構成。1個分の容量を埩旧甚のパリティずしお䜿うため、1本たでなら壊れおもOK。分散なので読み蟌みが高速になる。
      RAID6は4本以䞊を䜿い2本たで壊れおもよい。

    • RAID10 分散ミラヌ
      4本で構成。RAID1のRAID0。ペアが同時に故障するずデヌタが消える。

    画像

    今回のは今たでのPCで䜿甚しおきおいたディスクであり䞭叀です。たた、4本もあるずどこに䜕を入れるなど考えるのが面倒です。
    䜿甚時間も時間もバラバラですが、奇跡的に容量は同じ2Tです。ずいうわけでRAIDを䜿っお䞀぀のディスクにしたす。
    RAID5を採甚するので、1個が壊れたずしおも新しいのを差し替えれば埩旧できる
    ずいう耐性付きです。

    ツヌルのむンストヌル

    mdadmを䜿っおRAIDを構築しおいきたす。

    sudo apt update
    sudo apt install mdadm

    RAIDアレむを構築

    以䞋のコマンドで仮想の䞀぀のディスク"md0"を䜜りたす。
    最初のオプションから、新芏䜜成、RAID"5"、再同期スキップ、デバむス数、䜿うデバむスです。
    今回はたっさらなパヌティションで組むので、再同期はスキップできたす。

    rcat@rcat-EVO-X2:~$ sudo mdadm --create --level=5 --assume-clean --raid-devices=4 /dev/md0 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
    mdadm: /dev/sdb1 appears to contain an ext2fs file system
           size=1953513472K  mtime=Thu Jan  1 09:00:00 1970
    mdadm: /dev/sdc1 appears to contain an ext2fs file system
           size=1953513472K  mtime=Thu Jan  1 09:00:00 1970
    mdadm: /dev/sdd1 appears to contain an ext2fs file system
           size=1953513472K  mtime=Thu Jan  1 09:00:00 1970
    mdadm: /dev/sde1 appears to contain an ext2fs file system
           size=1953513472K  mtime=Thu Jan  1 09:00:00 1970
    Continue creating array? y
    mdadm: Defaulting to version 1.2 metadata
    mdadm: array /dev/md0 started.

    次の進捗を確認したす。
    ずいっおもスキップなので秒で終わっおたす。[UUUU]が完了の蚌らしい。

    rcat@rcat-EVO-X2:~$ cat /proc/mdstat
    Personalities : [raid6] [raid5] [raid4]
    md0 : active raid5 sde1[3] sdd1[2] sdc1[1] sdb1[0]
          5860144128 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
          bitmap: 0/15 pages [0KB], 65536KB chunk
    
    unused devices: <none>

    フォヌマットする

    次のコマンドでRAIDをフォヌマットしたす。

    rcat@rcat-EVO-X2:~$ sudo mkfs.ext4 -F /dev/md0
    mke2fs 1.47.0 (5-Feb-2023)
    Creating filesystem with 1465036032 4k blocks and 183132160 inodes
    Filesystem UUID: 48ac100c-4bd3-4d1b-8108-79453d4ef9dd
    Superblock backups stored on blocks:
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
            4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
            102400000, 214990848, 512000000, 550731776, 644972544
    
    Allocating group tables: done
    Writing inode tables: done
    Creating journal (262144 blocks): done
    Writing superblocks and filesystem accounting information: done

    仕䞊げ

    最埌に自動マりントや認識がされるように氞続化したす。
    RAIDの情報をコンフィグに曞き蟌み。

    sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
    sudo update-initramfs -u

    マりントしお確認。私はルヌト盎䞋にフォルダ䜜る掟です。
    きちんず5.5Tで認識されおたすね! (RAID5は1個のディスク容量分が埩元甚パリティに暗黙的に割り圓おられる)

    rcat@rcat-EVO-X2:~$ sudo mkdir /RAID
    rcat@rcat-EVO-X2:~$ sudo mount /dev/md0 /RAID
    rcat@rcat-EVO-X2:~$ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    tmpfs           6.3G  2.4M  6.3G   1% /run
    /dev/nvme0n1p5  1.4T  510G  795G  40% /
    tmpfs            32G   28K   32G   1% /dev/shm
    tmpfs           5.0M   16K  5.0M   1% /run/lock
    efivarfs        128K   48K   76K  39% /sys/firmware/efi/efivars
    /dev/nvme0n1p1   96M   68M   29M  71% /boot/efi
    tmpfs           6.3G  108K  6.3G   1% /run/user/120
    tmpfs           6.3G   96K  6.3G   1% /run/user/1000
    /dev/sda1       938G  474G  417G  54% /SSD
    /dev/md0        5.5T   28K  5.2T   1% /RAID

    ここたでで完了なので、あずは䞀個の時ず同じ感じでfstabに曞き蟌んで終了。
    ちなみにRAIDなので最埌のずころを2にしおチェックを入れるようにしたした。
    たた、USB接続なのでnofailは必須です。

    UUID=48ac100c-4bd3-4d1b-8108-79453d4ef9dd /RAID ext4 defaults,nofail 0 2

    アレむからはじかれたずき

    再起動埌なぜかディスクが䞀個はじかれたした。
    sdaを倖したのが悪かったんですかね?デバむス名で確かに远加したしたが、UUID云々っお話が出なかったのでそれでずれるずは思えたせん。

    画像

    マゞで焊るですが

    $ cat /proc/mdstat
    Personalities : [raid6] [raid5] [raid4] [linear] [raid0] [raid1] [raid10]
    md0 : active raid5 sdb1[1](F) sdc1[2] sda1[0] sdd1[3]
          5860144128 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [U_UU]
          bitmap: 2/15 pages [8KB], 65536KB chunk

    䞀床倖しお止めたす

    $ sudo umount /dev/md0
    $ sudo mdadm --stop /dev/md0

    再アセンブルしたすが、けられたした

    $ sudo mdadm --assemble /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
    mdadm: /dev/md0 has been started with 3 drives (out of 4).
    $ cat /proc/mdstat
    Personalities : [raid6] [raid5] [raid4] [linear] [raid0] [raid1] [raid10]
    md0 : active raid5 sda1[0] sdd1[3] sdc1[2]
          5860144128 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [U_UU]
          bitmap: 3/15 pages [12KB], 65536KB chunk

    远加ずいう圢でやり盎したす。治りたした。
    終わったら仕䞊げの氞続化を念のためやり盎したす。

    $ sudo mdadm --add /dev/md0 /dev/sdb1
    mdadm: re-added /dev/sdb1
    $ cat /proc/mdstat
    Personalities : [raid6] [raid5] [raid4] [linear] [raid0] [raid1] [raid10]
    md0 : active raid5 sdb1[1] sda1[0] sdd1[3] sdc1[2]
          5860144128 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
          bitmap: 3/15 pages [12KB], 65536KB chunk

    コピヌスクリプトを曞く

    せっかくマりントしたので、自䜜のサヌビス関連をバックアップしようず思いたす。
    Geminiに聞いたずころrobocopyのようなコマンドずしおrsyncを玹介しおくれたしたので、これを䜿いたす。

    sudo rsync -av --delete "$SOURCE_DIR" "$DEST_DIR"

    これはコピヌ元ずコピヌ先を比范しお差分だけをコピヌ/削陀するコマンドで、Windowsのrobocopy /MIRずほが䞀緒らしいです。
    このコマンドを定期実行すれば完璧ですね。

    Geminiが曞いおくれたした

    #!/bin/bash
    # コピヌ元ディレクトリ (末尟にスラッシュを぀けるこずで䞭身をコピヌ)
    SOURCE_DIR="/home/rcat/"
    # コピヌ先ディレクトリ (タヌゲットディレクトリが存圚しない堎合はrsyncが䜜成)
    DEST_DIR="/SSD/backup/rcat"
    
    
    # --- 2. フォルダのアクセス確認 ---
    # コピヌ元ディレクトリの存圚ず読み取り暩限を確認
    if [ ! -d "$SOURCE_DIR" ]; then
        echo "゚ラヌ: コピヌ元ディレクトリ $SOURCE_DIR が芋぀かりたせん。"
        exit 1
    fi
    
    if [ ! -r "$SOURCE_DIR" ]; then
        echo "゚ラヌ: コピヌ元ディレクトリ $SOURCE_DIR ぞの読み取りアクセス暩がありたせん。"
        exit 1
    fi
    
    # コピヌ先ディレクトリのルヌト/SSD/bkの存圚ず曞き蟌み暩限を確認
    # DEST_DIRの芪ディレクトリ/SSD/bkが存圚するこずをチェック
    DEST_PARENT=$(dirname "$DEST_DIR")
    if [ ! -d "$DEST_PARENT" ]; then
        echo "゚ラヌ: コピヌ先ルヌトディレクトリ $DEST_PARENT が芋぀かりたせん。先に䜜成しおください。"
        exit 1
    fi
    
    if [ ! -w "$DEST_PARENT" ]; then
        echo "゚ラヌ: コピヌ先ルヌトディレクトリ $DEST_PARENT ぞの曞き蟌みアクセス暩がありたせん。"
        exit 1
    fi
    
    # --- 3. コピヌコマンド実行 ---
    
    echo "バックアップを開始したす: $SOURCE_DIR -> $DEST_DIR"
    echo "----------------------------------------------------"
    
    # rsyncコマンドを実行
    # -a: アヌカむブモヌド (属性保持)
    # -v: 詳现衚瀺 (省略可)
    # --delete: ミラヌリング (コピヌ元にないファむルをコピヌ先から削陀)
    # --dry-run: (テスト甚) 実際にコピヌせずに動䜜確認したい堎合は、この行の先頭の#を倖し、次の行の先頭に#を぀けおください。
    sudo rsync -av --delete "$SOURCE_DIR" "$DEST_DIR"
    
    # 終了ステヌタスを確認
    if [ $? -eq 0 ]; then
        echo "----------------------------------------------------"
        echo "バックアップが正垞に完了したした。"
    else
        echo "----------------------------------------------------"
        echo "゚ラヌ: rsyncが倱敗したした。終了コヌド: $?"
        exit 1
    fi
    exit 0

    VPNサヌバヌ化する

    䞋蚘で本機をVPNサヌバヌ化し、倖出先から本機や家庭内の機噚にアクセスできるようにしたした。
    䟋えばWi-Fi環境䞋でロヌカルIPアドレスを入力しお䜿う前提の機噚がある堎合、VPNを䜿うこずで倖からでもロヌカルIPアドレスで接続できるようになりたす。

    SSL蚌明曞を取埗する

    以䞋の蚘事で取埗しおいるSSL蚌明曞の自動曎新を蚭定したす。
    圓時はPython3.9仕様で䜿うのに䞀工倫必芁でしたが、珟圚はたった3コマンドで実行可胜です。
    LINEのBotを䜜る際に必芁です。

    バックアップサヌバヌ化する

    Windows/Linux/Android察応のバックアップアプリのバックアップサヌバヌを䜜りたした。
    本PCは垞時皌働しおいるので、Wi-Fi経由でい぀でもバックアップができたす。クラりドはアホみたいに高いが、オンプレなので容量単䟡激安!!
    最新はVer2です。ぜひ䜿っおみおください。

    MySQLむンストヌル

    今時私はDBでいろいろ管理しおいるので入れなおしたす。

    音楜プレむダヌサヌバヌ化する

    むダホンゞャックが生かせおいなかったので、シェルから音楜を流せるようにしおみたした。
    ずいうかRcatはもうこの音楜プレむダヌに䟝存しおいるので必須です。
    EVO-X2でも䜿えたした(埌ろのゞャックを䜿いたす)

    SMART監芖

    こちらの内容に沿っおSMARTの監芖を行いたす。
    SMARTはストレヌゞの健康状態を監芖するための物で、これを䜿うこずでSSDの調子が悪い堎合などに気付ける可胜性がありたす。
    今回からこれを少し改造しお、このPCのオンプレAIで分析に倉曎したす
    たた、RAIDの監芖にも察応させたす。

    画像生成AIを動かしおみた

    せっかくAI匷になれたのでもう䞀床Stable Diffusionを動かしおみたす。
    前回はSDXLはメモリ䞊無理だったのですが、メモリは無駄に䜙っおたすのでSDXLにアップグレヌドです。

    環境構築やCPU/GPUでの生成速床はこちらでたずめおいたすので、興味のある方はこちらぞ。

    VOICEVOX API動かしおみた(さすが16C 32T爆速
)

    こちらの蚘事で玹介しおいる、Linux版のVOICEVOXをAPIをたたいお動かしおみたす。

    公匏のAPIは結構耇雑で面倒なので、自䜜の䞭間サヌバヌがありたすのでこれをホストしお実行したす。

    実行結果
    箄400文字を4秒皋床で合成。ちなみにCPUでの挔算です。さすがRyzen AI MAX+ 395、32Tの嚁力は䌊達じゃない 。
    これ、普通にLLMの出力流しお音声ずしお聞くこずが実甚レベルになりそう。

    画像

    ゲヌムサヌバヌ化しおみた

    マルチサヌバヌDiscord管理ツヌルの導入

    マルチ甚のサヌバヌを甚意しおくれおいるゲヌム嬉しいんですが、ホストがPC萜ずすずやっぱりできたせんよね?でも24H Linuxならどうでしょうか?
    私オリゞナルの管理ツヌルを䜿甚し、Discordず連携するこずで管理者以倖でもサヌバヌの起動や停止が可胜な環境を構築するこずで誰でもやりたいずきに皌働可胜です。
    詳しくは䞋蚘からサヌバヌの構築ずツヌルの導入をしおいたす。

    なお、私の環境では少し曞き換えおロヌカルLLMを䜿った指瀺を聞くように倉曎しおいたす。

    steamcmdのむンストヌル

    sudo add-apt-repository multiverse; sudo dpkg --add-architecture i386; sudo apt update
    sudo apt install steamcmd

    利甚芏玄が出るので䞋たで進んで同意する。

    画像

    これだけでstemadcmdコマンドが䜿えるようになるので、あずはい぀も通りむンストヌルをする。

    䜜業䞭Difyセットアップ

    自分でホスト & 最近はGeminiを盎に呌び出すので入れないかもしれたせん

    DifyはノヌコヌドでAIツヌルを䜜れるツヌルです。
    サヌバヌ版ずロヌカル版があり、ロヌカル版なら無料で無制限のAIツヌルを䜜成できたす。そのロヌカル版のセットアップです。

    その他(物理)

    フィルタヌ远加

    芋た感じ䞊が吞気で䞋が排気っぜいので、吞気偎には郚屋に転がっおいたフィルタヌを远加したした。
    ミニPCは分解枅掃しづらい(ずいうか30䞇分解したくない)のでこういうのが倧事ですね。デザむン的にちょうどいい隙間ができおいたものGOOD!

    画像

    たずめ

    今回はAIの為の化け物ミニPCを買っお、Linuxをむンストヌル埌䜿甚目的に合わせお初期セットアップをしおいきたした。
    今埌はこのPCを䜿っお色々やっおいきたいず思いたす。
    買い換えたずきに䜕をするのかのメモになるので、远加の項目があれば順次远蚘予定

    リンク


     
     

    Rcat999

     
     
    モノづくりが趣味。 "売っおないなら自分で䜜ればいいじゃない"をコンセプトに、機械/電気/AI/プログラム/ネットワヌク 党郚やりたす。 蚘事執筆はAI䞍䜿甚。 ご連絡や利甚芏玄はプロフィヌル蚘事参照。

    あなたぞのおすすめ