LTSPを使って教室システムを作ったけれど失敗した・お金ください!

nogajun
nogajun

LTSP(github)というのは、Linuxデスクトップ環境をネットワークから起動して使うディスクレスシステムです。

以前、LTSPは「シンクライアント」として知られていましたが、その時代のものは破棄され、今はゼロから書き直されUEFIやWaylandといった新しい環境に対応した「ファットクライアント」のシステムに変わりました。

ファットクライアントなんでデカイです。リッチです。昔のように小資源では動きません。Windows 7時代のハードウェアでは、起動がしんどいです。ネットワークの速度もそれなりに必要です。そんなわけでLTSPでシステムを作って失敗しました \(^o^)/

ということで失敗ポイントを書きます。

失敗ポイント1。起動が遅い

とにかくブートが遅くて授業では使いづらいです。

最初にiPXEが起動してから読み込みの時間が本当に遅く、起動に5分くらいかかるのは授業のシステムとしては致命的。

起動が遅い原因を探していて、当初はネットワークの問題かと調べていたけれどiperfで教室内のネットワークを調べるとそれなりの速度が出てて余裕もありました。 となるとネットワークの転送に耐えられないクライアントPCの問題が1つ。

失敗ポイント2。ハードウェアがぶっ壊れている

「今のLTSPはリッチクライアントになっている」と書きましたが、今のLTSPはライブDVDをネットワーク起動しているようなシステムです。

そしてLTSPで配信するシステムは、配信用の別システムを作って配信するのではなく、デスクトップ環境上にLTSPをインストールして、そのデスクトップ環境をイメージ化して配信します。 そういうシステムなので、デスクトップ環境上でイメージに固める必要があります。

その前提を理解した上での話です。

イメージをビルドしていると親環境のファイルシステムをロックしてシステムをぶっ壊します。initramfsもぶっ壊すので起動できない状態になります(!!!)

さいわいLTSPは仮想環境上に作っていたので、イメージをビルドする前にスナップショットを取ってからビルドするということをしていました。

最初、こういうことは「LTSPは今使っているシステムをイメージ化する仕組みのせいでLTSPがバグっているから」と思っていましたが運用し始めて、やっぱり挙動がおかしい。

明らかにサーバーに使っているマシンのせいじゃないかと思い始めて別の同型機種に同じ環境を構築したところ、何もなくイメージが作成できる。

マジか…

LTSPの使用を止めます

ということで原因を追求してゴールデンウィーク前半が飛びました。 \(^o^)/

そして出した結論がLTSPの使用を止めるということです。

そもそもLTSPの導入を考えたのは、プログラミングの授業を始めてから教室のPC環境の酷さにキレまくってたからでした。

教室のPC環境は、インストールしっぱなしでメンテされてないUbuntuマシンに共有アカウントで入るような環境。そして共有アカウントなので他人のファイルが散らかりまくってて、環境を作っても別の授業の学生に環境を破壊されるような最悪の環境でした。(破壊する学生には、もちろん悪意はない)

それに業を煮やし「システムを入れ替える」と宣言してProxmox上にSamba ADのアカウント管理、OpenMediaVaultのNFS/SMBファイルサーバー、LTSPのシステムを作りました。

それで4月を迎えてトラブルだったわけですが、アカウント管理とNFSでホームをマウントできればLTSPをわざわざ使う必要なくない?ということに気づきました。

今、使っているPCはWindows 7時代のPCですが、SSDに載せ替えてあります。ネットワークから起動するよりOSをSSDに配信して、SSDから起動したほうが速いです。 OSの配信は、FOG ProjectDRBLを検討しましたが、せいぜい20台程度なのでClonezilla lite serverで全然問題ないです。

ということで、ClonezillaでOS配信する環境に切り替えます!

あー、なんで早く気がつかなかったんだろう。

それと、こういうシステムを組んでも大学から一銭もお金が出てません! しかも4月から授業時間減ったので給料減りました!だから仕事ください!