先のエントリに記載の通り、セカンダリPCとなった私のDell XPS 8700は短期のうちに何度も何度もWindows10をクリーンインストールされるという憂き目にあった。が、それと並行してLinuxの導入も試みられていた。そもそもサーバー用途での運用が目的だから、OSには堅牢性、特に原因不明の(嘘、アパート内に迷惑なパケットをばらまく連中がいる)変な通信負荷を喰らっても落ちない強さが求められる。この視点からは、何れかのLinuxディストリビューション(安定版とされるもの)の導入の検討は自然と言える。ただし現行のサーバー運用はあくまで短期的なものなので、いつでもWindows10運用に戻れる状態をPCとしては維持しておきたい。
なお、約20年程前にはRedhat Linuxベース、自作PCで数値計算用のベオウルフ型PCクラスター(6台構成)を職場で一人で組んだ経験もあるので、私自身のLinux歴自体はわりと長い。
と言う訳で、Linux Mint MateをUSBメモリベースで運用できないか色々試してみた。Linux Mintを選んだ理由は特に無いが、パステルグリーンは好きな色だ。まぁ数値計算に使う訳ではないので、個人使用での評判が良い印象のubuntu系が良いかなとはちょっと思っていた。具体的な理由は省略するが、”ベクトル化&MPI並列”ガチ派(地球シミュレータ全盛期に数値計算高速化を経験的に学んだ世代に多い)の生き残りなので、数値計算用ならCentOS一択だったろう(少なくとも3年前までの知識に基づけば。今はどうなんかね)。
さて、USBメモリベースと一言で言っても、具体的な運用形態として少なくとも以下の3つの方法がある。
- ライブUSBメモリとして使う(本来はインストールメディアなのだが、これからブートしてデスクトップ環境まで使える)
- 書き込み可能なライブUSBメモリとして使う
- USBメモリにインストールする
1.のライブUSBを使う方法の利点は動作の軽さだ。Linux Mint MateのライブUSB運用でのキビキビした動作は心底衝撃的だった。また後述するように、読み取り速度がそれなりならばUSBメモリの性能を選ばないのも一つの利点だ。USBメモリからの起動となるので別ドライブにインストール済のWindows10にもEFIシステム領域にも触らないし、別PCに刺しても使える。欠点は作成したデータや変更した設定が残せないことだ。直近のサーバー運用ではウェブブラウザと1つのアドオン、加えて1つのシェルスクリプトを使うだけなので、実のところブート後の10分もあれば必要な環境は構築できる。一旦稼働すれば数週間そのままと考えれば大した手間でもないのだが、それでもそこをなんとか・・・と言うところが人間やね。
3.はUSBメモリ自体をインストール先ドライブとして使い、既に別ドライブにインストール済のWindows10とデュアルブートできるようにする手だ。EFIシステム領域にはLinuxのブートローダー(Linux Mintではubuntuのブートローダー)が追加される。変更した設定や作成したデータは残るが、USBメモリを別のPCに指せばそのまま動く、と言う訳には当然いかない。またオチを書いてしまうと、パッケージを追加していくにつれて急激に動きがもっさりし始める。これはUSBメモリのランダム書き込み速度の影響が大きい様に思われる。別PCに刺しても動かせない、動作は重いとなると、USBメモリへインストールする旨味は実質的に無くなってしまう。要はHDDなりSSDなりにインストールしろと言うことだ。
で、結局2.を主案として、具体的な使い方を色々試すことにした。2.の方法の利点は1.の方法の利点に加えて、作成したデータや変更した設定が残せることである。他方パッケージの追加などは、3.の方法と同様に動作を重くする要因となる。だから、「色々試す」とは、動作を遅くすることなくどこまでパッケージが追加できるか、を探ることに等しいのが実態だった。ここでメディアの作成やフォーマットには、rufus Ver.3.7を使った。
最終結果から書くと、OS付属のウェブブラウザFirefoxにアドオンを1つ入れ、vimのパッケージをインストールして運用開始とし、それ以外は日本語環境パッケージすら入れなかった。まぁ良いんですよここまでで、現時点での利用に関してはね。とにかくキビキビ動作するところがミソで、常に開いているウィンドウはシステムモニタ、ブラウザ×2、ターミナル×1だけだ。いじった設定もファイアウォール、キーボードマッピング、電源管理(スリープ機能のオフ)、フォントサイズ(老眼対応)ぐらいだ。
とは言え、おそらく日本語環境パッケージの導入までは、キビキビ動作をスポイルしないものと考えている。ただし、書き込み速度が高いUSBメモリを使うことが前提っぽい。実は日本語環境パッケージの導入は3つのUSBメモリで試していて、キビキビを維持できたものと、耐えられないレベルでもっさりしたものがあった。あと例外なくもっさりを引き起こしたのは、Chromeリモートデスクトップの導入だ。セカンダリPCには専用モニタが無いのでリモートデスクトップが使えると運用が便利なのだが、パッケージ導入後は起動からデスクトップ表示までは早いものの、それ以降はうんともすんとも言わなくなってしまった。
なお、私の使ったLinux Mint
Mateでは「アイドル10分で画面スリープ」がGUIからは解除できなかったので、ネット上の情報に従ってxsetコマンドでこれを解除した。全くもって先人の知恵は有難い。このエントリを書いている時点で既に4日間連続稼働しており、地味で退屈なタスクを10秒単位でこなし続けている。
最後に検討時に用いた3本のUSBメモリの性能(CristalDiskMark測定結果)と使用感について簡単に触れておく。
1本目は容量32GB、USB3.1対応だが、ライブUSB以外では使い物にならなかった。理由はおそらく書き込みの遅さで、特にランダム書き込みの低速ぶりが致命的のようだ。下に示すCristalDiskMark測定結果の図中右下の数値がランダム書き込み速度だが、0.00MB/sって何ですか?このUSBメモリにはインストールも試みたが、ファイルのコピー(書き込み)が余りに遅いため、インストール開始から完了まで20時間程を要した。就寝前に開始したファイルのコピーが、起床時には未だ終わっていなかったのには正直驚かされた。繰り返すが、ライブUSBとしては全く問題を感じることは無く、動作は常にキビキビしていた。また同製品はWindows10の回復ツールを格納してクリーンインストールの際に何度も使っており、そちらでも特に問題や不満を感じたことは無かった。最初にisoイメージファイルをシーケンシャルで書き込み、基本読み出しでしか使わないから、ランダム書き込みが悪さする状況が無いんだわな。
2本目は容量16GBでUSB3.1対応で、インストール先にしてもインストール作業自体は2時間もあれば終わった。1本目との最大の違いはランダム書き込みが数百倍速いことだ。書き込み可能なライブUSBとしても速度的に使えるレベルだが、容量が小さめなのは微妙に問題。書き込み可能領域として8GBは確保できるので日本語環境のインストール(4GB程度必要)もできて2.の使い方でも容量は十分とする向きもあるが、作業内容によってはtmp下に8GBは欲しい場合もある。私の場合はtmp下に16GB欲しかったので、より容量の大きい3本目を使うこととした。
3本目は容量128GB、USB3.2対応で、書き込み可能なライブUSBとしては容量的にはオーバースペックかと思う。右上のシーケンシャル書き込みが3本の中で圧倒的に速いが、その差を実感したことは無い。2.の使い方では書き込み可能領域に64GB割り当てたが、tmp下の容量は要求ギリギリの16.7GBだった。まぁ不要ファイルの削除をシェルスクリプトで徹底的に処理するようにしたので、問題無いでしょ。3.の使い方のインストール先としても使ってみたが、Chromeリモートデスクトップの導入後は重いどころの騒ぎではなく使い物にならなかった。LinuxのUSBメモリでの運用では、ランダム書き込みの速度がOSの動作速度に明らかに影響するように見えるが、同レベルの別要素も有るようでイマイチすっきりしない。まぁ、書き込むばかり、読み込むばかりなんて状況は実用上はまず発生しないからねぇ・・・