UbuntuでLTSPサーバを作ってみた
クライアントをLinuxでネットワークブートする環境として、LTSP(Linux Terminal Server Project)を見つけた。
クライアントとしてはまだまだWindowsを使わざるを得ないけど、メンテナンスフリーなクライアントとして、用途によっては使えるかもしれない。
…ということで、評価してみた。
ちなみにこれは、LTSPサーバにXDMで接続するためのクライアント環境をネットワークブートする。ユーザーがLTSPクライアント画面からログインすると、(ネットワークしたLTSPクライアントの環境ではなく)LTSPサーバの環境を使うことになる。
WindowsのArdenceのように、ネットワークブートしたクライアント環境にログインしてそのまま使うというものではない。(←これが希望だったのに残念)
ただし、LTSPクライアントのブートイメージをカスタマイズすれば、クライアント環境にログインすることもできた。
さてさて評価には、サーバ・クライアント共に、VirtualPCを使ってみた。これなら、1台のPCでどちらも動かせる。ただし、クライアントの起動はすんなりいかずハマった。
#以降、サーバとはLTSPサーバ、クライアントとはLTSPクライアントを意味する。
参考情報
- http://cyclops.ddo.jp/recent/0707/ltsp/
- 大変参考になりました。ありがとうございました。
- https://wiki.edubuntu.org/HardyClassroomServer
- このURLでは、(通常のdesktop CDではなく)Alternate install CDからLTSPをインストールする方法が紹介されている。
- https://help.ubuntu.com/community/UbuntuLTSP/LTSPQuickInstall#Installing%20on%20top%20of%20an%20already%20running%20desktop%20system
- このURLでは、インストール済みのdesktop systemにLTSPをインストールする方法が紹介されている。(参考にしたのはこっち)
Virtual PC 2007でサーバ用バーチャルマシンを作成
- とりあえず、↓で作成
- メモリ256MB
- ディスク10GB
Ubuntu 8.04.1 desktopをインストール
- http://www.ubuntulinux.jp/products/JA-Localized/download から ubuntu-ja-8.04.1-desktop-i386.iso をダウンロード
- ubuntu-ja-8.04.1-desktop-i386.iso をmd5sumで検証
% md5sum ubuntu-ja-8.04.1-desktop-i386.iso bad97b6b6249cebd3b51dd8e776c116f ubuntu-ja-8.04.1-desktop-i386.iso
- Virtual PCを起動して、[CD]→[ISOイメージのキャプチャ...]を選択
- ubuntu-ja-8.04.1-desktop-i386.iso を開く
- …とubuntuのインストールCDでVirtual PCを起動すると「回復できないプロセッサエラーが発生しました」というエラーが発生。
- これを回避しても、その後のX Windowの起動が画面が乱れてしまう。
- これらを回避するためには、起動時のメニューで[F6]キーを押して、カーネルオプションに次のオプションを追加する。
noreplace-paravirt xforcevesa
- あとは、インストーラにしたがって、インストール。
LTSPサーバの構築
- LTSPサーバをインストール
$ sudo apt-get install ltsp-server-standalone openssh-server
- クライアント用のディスクイメージを作成
$ sudo ltsp-build-client
-
- PCのスペックにもよるけど、今回のケース(Intel Core 2 Duo 1.83GHz/メモリ1.25GB)では約50分かかった。
DHCPサーバの構築
$ sudo vi /etc/ltsp/dhcpd.conf
- DHCPサーバをを起動。
- 状況によっては再起動(restart)
$ sudo /etc/init.d/dhcp3-server start * Starting DHCP server dhcp3 [ OK ]
-
- [fail]になった場合は、/var/log/syslogを見て原因を探りましょう。*2
Virtual PC 2007でクライアント用バーチャルマシンを作成
- とりあえず、↓で作成
- メモリ256MB
- ディスク4GB*3
LTSPクライアントの起動
- クライアントに普通のPCを使うなら、ここでネットワークブートすればよい。
- クライアントにVirtual PCを使う場合、バーチャルマシンの起動時には通常のPCと同じように起動デバイスが検索され、その中にネットワークブートが含まれているので、そのままの状態でネットワークブート可能。
- 起動デバイスの順番を確認したい場合は、Virtual PCの起動時に[DEL]キーを押してBIOS設定画面で確認。
- ただし、ネットワークブートができるようになっても、このままでは2つ問題がある。
- (問題1)Virtual PC にUbuntuをインストールする際に発生した問題、「回復できないプロセッサエラーが発生しました」が発生する。
- (問題2)X Windowの画面が乱れてしまい正常に表示されない。
- これらを回避するために、次の設定を行う。
- (問題1の回避方法)起動時のカーネルオプションにnoreplace-paravirtを追加
- /var/lib/tftpboot/ltsp/i386/pxelinux.cfg/defaultを編集して、末尾に"noreplace-paravirt"を追加する。
uname@ubuntu-desktop:/var/lib/tftpboot/ltsp/i386/pxelinux.cfg$ more default DEFAULT vmlinuz ro initrd=initrd.img quiet splash noreplace-paravirt
-
- ついでに、vga=788というオプションも追加しておくと、「いいこと」があるかも。
- (おまけ)defaultファイルに記述するとデフォルトで使用されてしまうので、このオプションの追加をVirtual PCのマシンのみにしたい場合は、MACアドレスまたは16進数表記のIPアドレスをファイル名とする設定ファイルを用意する。どういうファイル名にすればよいかは、ネットワークブートしたクライアントの起動画面を見れば分かるはず。
- (問題2の回避方法)X Windowをデフォルトの色数を16bitに変更
- /var/lib/tftpboot/ltsp/i386/内にlts.confというファイルを作成し、次のような記述をする。
uname@ubuntu-desktop:/var/lib/tftpboot/ltsp/i386$ more lts.conf [default] X_COLOR_DEPTH=16
-
- これにより、ネットワークブートしたクライアントのX Windowが16bitで起動するようになり、Virtual PCで正常に表示される。
- 以上で準備OK。クライアントをネットワークブートできる。
- クライアントが起動したら、サーバに登録済みのアカウントでログイン。
以上、ってなもんだ。
小規模な勉強会では、十分使えそうだな。