ここは ASUS 社の ExpertCenter PN42 上でのLinuxについてのページになっています。
現在利用しているディストリビューションは Ubuntu Server 24.04 です。
なお、このページに書かれている内容は、当方での事例を参考の為に まとめたものであり、内容の正誤も含め無保証です。 当然、このページの内容を基に行われた行為の結果も保証できません。 あくまで自己責任で御願いします。
少し前ですが、PN42 の ubuntu server を 24.04.1 に更新しました。
更新自体は手順通りで問題なかったのですが、 使用していたパッケージのうち一部が提供されなくなってました。
その中に、imapd として運用していた Courier-imap が含まれていたのが 大問題で、imap サーバを至急剪定して載せ替える必要が生じました。
いろいろ調べたところ、こういう場合の定番は Dovecot だと いう記事を見つけました。この名前で調べてみると、 比較的動作が軽い imap サーバとのこと。どうしても imap サーバを移行したかったので、急いで構築してみました。
apt install でパッケージをインストールした後、 私の使用していたパターンのメールデータの保持の仕方に合わせて 設定ファイルを書き換え。
で、起動してメーラー(emacs の wanderlust)から繋いでみると、
どうも見え方が微妙に違うようです。
しょうがないので、一旦メーラー側の設定を削除して、
新規のimap接続先として設定し直しました。
※ imap なのでメールデータそのものはサーバ側にあるので、実害はありません。
もう一つ。このページの更新に sitecopy コマンドを使用しているのですが、 24.04.1 に更新したら消えていました。Launchpad で調べると、 Ubuntu の パッケージとしては Universe 扱いではあるものの存在するようです。 Universe も apt の対象にするよう設定して再チェックしましたが、 やはりパッケージとしては検索できません。Launchpad のページで 「unstable」なんていう表記もあります。
ただ、ないと困るので、Launchpad のページからパッケージを ダウンロードして dpkg でインストール。と、 今度は libneon27t64-gnutls パッケージがないとのエラー。 これは普通に apt install できたので、今度こそ dpkg で sitecopy のパッケージをインストールできました。
そもそも PN42 への移行を検討するきっかけとなった、 TimeMachine バックアップ時に load avarage が跳ね上がる 問題ですが、移行後もその傾向は大きくは変わりませんでした。
PCの稼働状況を収集しグラフ化するツール munin での情報や、 TimeMachine バックアップ実行中に各種ツールを使用してみた結果、 load avarage が高くなる原因は外付HDD の io wait、それも 読み込み、という認識になりました。
TimeMachine バックアップの smb側に置かれたイメージファイルは、 mac 側から見ると APFS のイメージだと表示されます。
APFS は COW(Copy on Write)なファイルシステムですが、 そのお陰で TimeMachine も snapshot での実装になっているようです。 そのためか、ローカルスナップショットや(直接接続した)外付SSD への TimeMachine バックアップは、非常に高速で行われるようです。
なお、少なくともうちの環境では、PN42 側に smb 接続で 取る TimeMachine バックアップは、決して早くはありませんが、 極端に遅いという印象もありません。
動作状況をみている限りでは、io wait が大きくなるのは、 バックアップそのものではなく、その後の Spotlight の索引の 更新処理ではないか、と推測しました。
これは、TimeMachine バックアップ
の終了後にも smbd がディスクへのアクセスをかなりの時間続けており、
mac 側では mds 等、Spotlight の索引更新に関わるプロセスの
CPU負荷がそこそこ大きくなっているためです。
munin での記録をみてみると、とにかく読み取り量が大きくなっています。
automount 機能を利用してできるだけ unmount しているのが何か悪影響を 与えているのかもしれませんし、何より TimeMachine バックアップの サイズがかなり大きくなってきている(1.2TB程)のも関わっているかも しれません。
色々と考察記事を読んだり機材の振る舞いを眺めたりして、 Samba 越えでの TimeMachine バックアップを一旦終了することにしました。 今後は、Mac mini に外付SSD(Thunderbolt4対応のケース+NVMe SSD)を 接続して、そちらにバックアップを取る予定です。
急遽決めて調達した ASUS ExpertCenter PN42 です。 今回も、つらつらとうちでの個人レベルでの 機種選びの過程を書きましたが、蛇足気味なので最初は非表示にしておきます。 つまらなくても中身が薄くても構わない方だけご覧ください。
さて、新しい機種の条件ですが、
と言ったあたりになります。
最初の条件は、今回の入れ替えの時点で気になっていた、
load avarage が跳ね上がる件に関する条件です。
LIVA Z2 では、同一の USB 3.0 RootHub に、
バックアップ先 USB RAID HDD と 5GbE USBアダプタの両方が
繋がっており、余計に I/O待ちを生じさせていたのではないか、
という仮説から、今回はディスクI/Oとネットワーク通信とを
同一の USB RootHub 上に載せないようにしよう、ということです。
サイズについては、引き続き設置場所の都合です。 LIVA Z2 と同程度が少し大きい程度まで、というのが条件になります。
ファンレスについては、OpenBlockS266 導入以来の20年以上の実績、 と言ったところでしょうか。可動部分が少ないのはやはり 機械的トラブルに強いです。
x64なのは、引き続き既存環境をできるだけそのまま移行したいから、 という意味合いです。
「Ubuntu が動作する」というのは、メーカー/代理店の表記あるいは ネット上での動作の事例を探してみる、という意味合いです。
全ての条件を明確にクリアする機種が少ないであろうことから、 とりあえずざっくりと候補を拾い集めてみることにしました。
あたりまで予算面を見ながら一旦手を広げてリストアップしてみました。
個人の判断と好みで絞り込みました。
まず、今回は Atom系(Jasper Lake, Elkhart Lake)は避けることに
しました。
CPUそのものが 2020年後半〜2021年前半のリリースであること、
及び Atom系は終息し、今後は Alder Lake系(で Eコアのみ)の
Intel Nシリーズが低発熱路線のCPUを担う模様であるためです。
この Intel Nシリーズ、それも N100 が、ローエンド向けの割には
性能が良いと言われており、安価なミニPCには
Intel N100 採用のものが多くリリースされている状況です。
ただ、この Intel N100 の性能は、発熱量の制限を緩めにした状態
(大きめの消費電力を許容した状態)であることが多いようです。
そのためか、Intel N100 を採用したミニPCにはファンレスのものが
極めて少なく、組み込み/FA等向けらしき物を除けば、
ぐらいしか見当たりません。
次にサイズ面。ここ数年は従来の Intel NUC(で 2.5inch SATAデバイス内蔵可能な背の高い方) ぐらいのサイズのミニPCが多数発売されており、 これなら大体は問題なさそうです。
問題は、多くの機種が所謂中華PCで、Amazonでも販売されて
いるものの、メーカーのストアでの販売となっています。
継続的に製品をリリースしているメーカーで、サポート実績も
あるようなところなら問題ないとは思うのですが、
今回は国内代理店の扱いのある製品に絞りました。
また、Intel/AMD CPU 搭載で私の望むようなサイズの PCというのは、この「ミニPC」のジャンルで全てカバーされ切って しまった感があります。ARM系とかなら SBC なりなんなりで まだ製品がありますが、Intel CPU だとほぼ完全な組み込み向け 製品らしきものになりますし、それこそ Jasper Lake や Elkhart Lake 世代のCPUになってしまいます。
あと、Intel NUC は ASUSへの事業譲渡の影響もあるのか製品が 少ない上に、ローエンドですら TDP が 15Wで、下げても 12W のものでした。CPU性能は良いのでしょうが、 今回は候補から外しました。まあ、この商品セグメントは 「ミニPC」そのものではあるので、そちらで考えることにします。
それ以上に私にとって「焼け野原」感があるのが、メーカー製の
スリムPCや小型のケースのジャンルです。
ビジネス向けの省スペースPCを除くと、Intel/AMD の
モバイル向けCPU搭載のミニPCとまともに競合している感があります。
およそ12cm角のマザーボード規格、mini ITX 対応のケースを
見てみても、「大型のグラフィックボードが装着可能」で
あることが売り文句になっていたり。当然、サイズは大きなものと
なっています。
省電力な小型PCの自作という
ジャンルは、非常に限られたニーズになってしまっているのかも
しれません。
この時点で、実は残った候補はかなり限られたものになっていました。
先述の ASUS ExpertCenter PN42 か、Intel N100 のミニPCで
ファン付のものに手を出すか、ASRock N100DC-ITX を使って
自作するか、専業メーカーの NAS を考慮するか、です。
(Intel N100 にするか、NASにするか、という見方なら、すでに
二択まで選択肢が減ってしまっています。)
まず、ASRock N100DC-ITX を使った自作については、 消費電力の点で候補から外しました。ユーザーさんのレビューや 自作記事をみる限り、idle 時の消費電力を下げきれない 模様だからです。
次に、専業メーカーのNASですが……。
職場で稼働しだした HDD4本のモデルの空冷ファンの音がかなり気になり、
こちらも候補から外しました。
一部、ファンレスの製品もあるにはあるのですが、
オーディオファン向けホームサーバーとしての価格設定なのか、
かなり高価な製品になっています。
この時点で、Intel N100 採用のミニPC、という路線に絞られました。
あとは空冷ファンの有無ということですが……。
やはりファンレスにしたい、ということで、
ASUS ExpertCentre PN42 一択ということになりました。
さて、機種選定は終わりましたが、PN42 の標準構成では メモリ 4GB/SSD 128GB です。これでは明確に足りないので、 交換前提でそれぞれ手配します。
メモリ、SSDの選定については長いので初期は非表示にしておきます。
Intel N100 の対応最大メモリは16MBとされていますが、
一部の Intel N100 採用ミニPC では 32GB 対応とされています。
(LIVA Z2 の N5000 でも公称最大8GBのところ、32GBまで動作する模様、
という話もありました。)
今回も、自己責任で 32GBのメモリを使ってみることにします。
Intel N100 採用の別機種で動作事例のある
Crucial の CT32G4SFD832A という型番の DDR4-3200 32GB SO-DIMMメモリ
を手配することにしました。
SSD の方は、本体側が PCIe 3.0 x 4レーンということなので、 選択肢は多いです。無理に高速モデルを接続しても 転送速度面での性能は発揮しきれません。但し、
という注意すべき点があります。
(PN42 がファンレスモデルなので、
発熱にもより注意を払わざるを得ません。)
2TBモデルを通販サイト等で見繕っていたのですが、 事前に価格調査していた有力候補が、よくよく調べるとヒートシンク付 のみ在庫があることが判明。価格も安めでほぼ決めかけていたのですが、 1モデル前のモデルで終息扱い(発売から半年も経っていないのに) とのこと。 ヒートシンクなしモデルの入手は取り寄せでも難しそうでした。 後継モデルはまさに新発売直後の状態で、 現在の価格も(値下がりしていた)前モデルの1.5倍程度。 高速かつDRAM搭載モデルでもあり、発熱面と価格面の両方で ちょっと手を出しにくくなりました。
残りの候補から再選定することにしたのですが、
次点以下の候補では価格と容量、TBW のバランスが
どれも今ひとつである印象が強くなりました。
そこで、ちょっと発売時期の古いもの
(但し現行モデル)まで候補を拡げて再度選定することに。
いくつかの機種についていろいろ調べた結果、
転送速度と発熱、TBW や価格のバランスで
WD Black SN770 の 2TB に決めました。
さて、PN42 と選定したメモリ・SSDを、いつも使う通販サイト複数で
手配しようとしたのですが……。
PN42 については、12月前半の通販各社のセール時期に
最近の底値で販売されていた後一旦価格が上昇していたのですが、
年末になって、使っている通販サイトの一つで在庫ありかつ価格が
再び下がっているのを見つけたのでそこで発注しました。
メモリについては型番指定が厳しいのかなかなか在庫が見当たらず、
普段あまり使わない通販で手配することになりました。
SSDについても、購入予定の通販サイトで在庫切れになってしまい、
よく使っている通販サイトでやや価格高めでの手配となってしまいました。
なお、PN42とSSDについては、現在は調達時点より価格が
上がっているようです。
PN42 の方は、在庫が薄く取り寄せ扱いが多いようです。
SSD の方は、もしかしたら SSD の値上がり傾向の影響そのものかも
しれません。購入予定で品切れだった通販サイトでは、15%ぐらいの
値上がりになっていました。
到着した PN42 等を開梱し、セットアップします。
初期状態で Windows11 Pro での動作確認を行います。
初回起動時のセットアップも普通に行われて起動しました。
起動も遅くないですし、普通に使っている分には低発熱CPUだと
いう印象はあまり受けません。
次に、Ubuntu Desktop 22.04 のインストール用USBメモリを
作成し、起動してデバイスの認識を確認しておきました。
ディスプレイ、NetworkIF 等、問題なく認識していました。
lsusb でみた限り、前面/後面の USB 3.1 Gen2 は全て同一の
RootHub に接続、後面の USB Type-C は USB 3.2 Gen2x2 で
独立した RootHub に繋がっていました。
あとは PCIe の接続状況を lspci で確認しました。
SSD の接続はスペック通りPCIe3.0 x 4レーン、
2.5GbE は Reaktek の RTL8125 で PCIe3.0 x 1レーンでの接続と
なっていました。
天地をひっくり返して四隅のゴム足内のネジを緩め、底面を外します。 NVMe インターフェイスと、絶縁シート(?)下にメモリスロットがあります。 NVMe SSDとメモリを交換し、底面を嵌めてネジを締めれば完成です。
なお、元々ついていたメモリは SK Hynix のものでした。 SSD は Reaktek のもので、外付USBケースに入れて保管してあります。
さて、今回のサーバの載せ替えで、どうせなら、と 企んでいたことがいくつかありました。
その一つが、ファイルシステムに btrfs を使用することです。
機種選定のところで少し触れた、職場で稼働している NASが btrfs を採用しており、感覚的によくわからずに suggest されるままに運用してしまっているのが気になっていました。
LXD のコンテナで実験してもよかったのですが、 この際、自宅の家庭内サーバを btrfs で運用して、 感覚的に btrfs を理解できるようにしよう、という 企みです。
NAS のおすすめ構成やヘルプなどでは、btrfs を採用した場合の
snapshot の便利さを推してきます。
「snapshotは(デバイスの破損等に備えた)バックアップではない」
というあたりも含めて、PN42の到着前から
いろいろ情報収集してみました。
そして、Ubuntu Server のインストール手順の最後で
別の仮想ターミナルからコマンドで btrfs 環境を構築する手順の例を
調べて、うち用のカスタマイズした手順を決めました。
ただ、いきなり本番環境で試すのもなんなので、 CPUアーキテクチャこそ違いますが、Paralles Dektop for Mac 19 上で ARM版の Ubuntu Server 22.04 を、上記のカスタマイズした 手順でインストールする予行演習を行いました。
手順やコマンドにまごつくことがあり、手戻りや再試行等も生じたものの、 最終的にはおおよそ計画通りにセットアップできました。
さて、今度は本番環境です。x64環境向けのインストールメディアを USBに作成し、セットアップを行いました。
で、予定通りにいかないことが何点か。
まず、内蔵SSDのデバイス名が
「/dev/nvme0n1」という初めて見るものに。
最近のPCの Linux に触れていないことがバレてしまうのですが、
そもそも grub のインストール先デバイスをどう指定すれば良いのか、
そこからわからなくなりました。
調べれば出てくるのですが、初見時は混乱します。
の意味になるそうです。
次に、実機というかインストールに使ったキーボードの影響による ミスタイプ。小型でキー配列の一部が極めて特殊なものであることもあり、 かなりミスタイプが多くなったのですが、 肝心なところで気づかずにやらかしてしまいました。 手順内で /etc/fstab に追記する箇所がいくつかあるのですが、 クリティカルな場所で痛恨のミスタイプ。インストール後の再起動時にエラーが多く出て、通常起動に至りませんでした。
この状態では、/ が read only になったままで /etc/fstab が変更できず、 再度 インストールメディアから起動して途中で仮想コンソールに移動し、 / パーティション(にマウントする btrfs の subvolume をマウント) の /etc/fstab を書き換え。で再起動することで直るかと思ったのですが ……。エラーの出方は変わりましたが、/ が read only のままなのは 変わりません。
何か手順を間違えたのかと思い、一度ゼロから再インストールして みましたが、全く同じ状況になりました。
インターネットで様々な事例を調べ、同じ原因ではなかったのですが
ようやく原因に行き当たりました。
同じく /etc/fstab の編集で、/ のマウントオプションに余計な記述が
あると正常にマウントされない、というものです。
おかしなオプションではないのでまさか、とも思ったのですが、
再びインストールメディアからのブートで /etc/fstab を修正したところ、
今度はログインまで辿り着きました。
※ マウントのオプションの defaults に含まれる内容の一部を重複して
指定したら駄目でした。
該当のマウントオプションを消したら正常に起動するように
なりました。
これでようやく、と思ったら、ログインできない事態が。
grub での指定でレスキューモードで起動して確認したところ、
インストール中に指定した初期ユーザが作成されていませんでした。
ubuntu は通常だと root ログインができず初期ユーザの存在が
必須になります。
しょうがないので、レスキューモードでの手作業でユーザを
追加しました。
(groupadd して useradd した上で、vipw で調整。/home 下に
ホームディレクトを作成し、sudoできるように
vigr で sudo グループに作成したユーザを追加。)
何度目かの正直で、これでようやく普通にログインできるようになりました。
あとは、USB-SATA変換アダプタ+SSD経由で LIVA Z2 の /home 下を 丸ごとコピーし、主なデータの移行を終わらせました。
結局、2020.1.4には、基本的な設定を終えて家庭内サーバとして 最低限の稼働状態にすることができました。
と言っても、もう一つ大きなトラブルが。 LIVA Z2 でも使用していた RAID対応の外付 USB HDDケース、 RS-EC32-U31R 上の HDD へのアクセスで I/Oエラーが多発し、 まともに使用できなくなりました。
内蔵していた MN07ACA12T の保証期間が切れたこともあり、
同型番の HDD に 2本とも入れ替えてゼロから再構築しようと
したのですが、gdisk で作成したパーティションテーブルが
書き込まれない症状から始まりました。
Mac mini に繋ぎ直して RAID Manager から見ても問題なく、
ディスクユーティリティで普通に消去やパーティション作成が
可能でした。
再度 PN42 に繋いで smartctl で S.M.A.R.T 情報を見ても
self test(short) を実行しても問題はないように見えます。
色々調べていたのですが、RATOC SYSTEM の FAQに
「M1/M2 mac では Apple側が 5Gbps に制限している」という
記述があるのに思い当たりました。
言われてみれば、LIVA Z2 は USB3.0ポート。
lsusb でみても 5Gbps で接続されていました。
一方、PN42 は USB3.1Gen2ポート。lsusb でみると
uas ドライバで 10Gbps で接続されています。
試しに、手持ちの USB3.0 の USBハブを挟んで接続したところ、 5Gbps で接続され、I/Oエラーも生じなくなりました。
おそらく linux 側の uas ドライバとの相性問題なのでしょう。
どこかで何かオプション設定すれば 5Gbps での接続を強制できるので
しょうが、当面は USB3.0ハブ経由の運用でしのごうと思います。
なお、メーカーの対応OSには Linux の記載はありません。
自己責任、自己責任。
まず、サイズがわずかに大きくなりました。設置面積で言えば、
奥行きだけ1cm 伸びた程度。幅は同じです。高さの方は1mm程度
の差なのでほぼ同じです。
あと、設置してしまえば関係ないのですが、持った際の重量感の
差はそこそこ感じます。
公称の重量は 640g -> 1.0kg と増えているので、PN42の方は
持った際の重量感があります。
(LIVA Z2 は、持った際に逆に思ったより軽い印象を受けます。)
QNAP QNAP-UC5G1Tを使わなくなったこと、後面の USB3.1Gen2 コネクタに 外付 USB RAID HDDを接続できたことで、本体前面にこの2本のUSBケーブルが 刺さっていた LIVA Z2 の場合よりケーブルの取り回しはすっきりしました。
初期のCPUの性能チェックも行いました。 dhrystone-2.1で、LIVA Z2の約2.2倍の結果となっています。 また、
openssl speed -evp aes-128-ctr
の結果だと、LIVA Z2との比較で、約2.7倍の結果が出ています。
fitlet以来、運用上では常に気になっている点です。
CPUについては、アイドル時で室温+30℃、 これまでの(スパイク的な)ピーク時で室温+60℃といったところです。 このCPUの動作上限 Tjunktion が 105℃なので、CPU自体の動作温度は 真夏の室温を想定しても上限を超えることはギリギリなさそうです。 もちろん、際どくなってくるとサーマルスロットリングも働くでしょうし、 その辺りも含め、夏場の運用と温度が実際にどうなるか、 というところでしょうか。
内蔵SSDの方はアイドル時に室温+20℃前後、
これまでのピーク時で室温+30℃弱となっています。
これは LIVA Z2 の導入初期の温度状況とおおよそ同じぐらいになります。
WD Black SN770 シリーズの動作温度の
上限は 85℃ なので、夏場でもゆとりはありそうに思えます。
SSD単独でサーマルスロットリングもかかるようですし、
使用上の転送速度は LIVA Z2 に搭載していた Crucial MX500の
数倍。少々転送速度が下がったとしても運用上の影響は
大きくなさそうです。
もちろん、今後とも温度状況は引き続き確認を続け、
温度上昇が気になるレベルになるようなら、対策を考えます。
さて、今回のサーバ入れ替えに伴い、ネットワーク接続が USB接続の 5GbE アダプタからオンボードの 2.5GbE に速度低下することになりました。 念の為、iperf3 で通信速度を確認しておきます。PN42側は ubuntu server 22.04 LTS の HWEカーネルで r8169 ドライバで動いています。 MTU は 9000 に変更してあります。
結果、Mac mini <-> PN42 どちらの方向でも、2.47 Gbits/sec を 記録しています。ほぼ 2.5GbE の規格の速度が出ている状態で、 とりあえず通信速度に問題はないようです。
ちなみに、
だったので、PN42での結果は LIVA Z2(5GbE)の70%程ということに
なります。
※ 一番データ転送が多いのが Samba経由での HDDへのアクセスなのですが、
2.5GbE でも HDDの転送速度より広い帯域は確保できている
計算になります。
[「Linux関連のページ」に戻る] [karg's Home Page]