LTSP:Linux上のターミナルサーバー







次に、ITインフラストラクチャでかなりの時間とお金を節約する方法について説明します。

エコシステムに大混乱を引き起こすことなく、多数のLinuxワークステーションを集中管理する方法。

では、LTSPとは何ですか?







LTSP-これはLinuxのターミナルソリューションです。

「ターミナル」と言えば、私は主にWindowsのようにリモートデスクトップに接続しないことを意味します。 ソフトウェア、構成、ホームディレクトリ、およびオペレーティングシステム自体をターミナルサーバーからクライアントワークステーションに配信するための、より柔軟で高度なシステムを意味します。







特に、LTSPは事前に設定されたプログラムとスクリプトのセットであり、これにより、新しくインストールしたUbuntuやその他のディストリビューションを、完全に動作可能な端末環境に簡単に変えることができます。 これは、ネットワーク上の任意のコンピューターに読み込まれ、ユーザーに完全なインターフェイスを提供します。







LTSPにはいくつかの動作モードがあります。









初心者にとって違いが何であるかを理解するために、LTSPの仕組みを理解する必要があります。







動作原理



サーバーと多数のコンピューター(ターミナルステーション)があり、それらがユーザーのために機能するようにユーザーに配布するとします。 これらのターミナルステーションは、通常サイズが非常に小さく、動作するためにハードドライブを必要としないことを除いて、通常のコンピューターとほとんど違いはありません。シンクライアントモード)。 ネットワークを介して起動できるコンピューターは、ターミナルステーションとして機能できることに注意してください。







既に述べたように、ターミナルステーションにはハードディスクがない場合があり、オペレーティングシステムがインストールされていない可能性があります。すべてのダウンロードは、LTSPサーバーからネットワーク経由で直接実行されます。

ターミナルサーバーにシステムがインストールされており、すべてのユーザーデータ、構成、およびソフトウェアもそこに格納されています。

ユーザーがコンピューターの電源を入れると、オペレーティングシステムがターミナルサーバーから読み込まれ、入力、作業、切断ができます。 さらに、すべてのデータは常にターミナルサーバーに残ります。







次に動作モードについて:









それでは、どのモードを選択する必要がありますか? -それはすべてあなたが何を得たいかに依存します。 シンクライアントモードの強力なサーバーと組み合わせて、クライアントで弱いステーションを使用することにより、少し節約できます。 または、より強力なターミナルステーションを購入して、ターミナルサーバーとローカルネットワークをアンロードし、プログラムの実行に対する責任をクライアントに移し、それらをシッククライアントモードで強制的に動作させます。







さらに、モードを組み合わせて、一部のアプリケーションを他のユーザーとは異なる動作にすることができます。 たとえば、クライアントでローカルにフラッシュを使用して「重い」ブラウザを起動し、サーバー自体でオフィスアプリケーションを実行します。







長所と短所



インフラストラクチャを構築するための標準的な原則と比較して、私たちが持っている利点を見てみましょう。









短所:









装置



最初に知っておくべきことは、サーバーを構成するコンポーネントです。









第二に、それがどのように機能するかを理解しましょう:







ltsp-server-standalone



パッケージをインストールすると、完全に構成されたサービスに対して、さらにいくつかのltspスクリプトを受け取ります。









これらを使用して環境をカスタマイズします。







ネットワーク負荷はどのように調整されますか?



ネットワーク上でのダウンロードの配置を理解することも非常に重要です。ダウンロードプロセスは次のようになります。









LDMは、ユーザーの認証と環境の起動を担当するLXDEログオンマネージャーです。







ログインウィンドウのスクリーンショット

画像







ユーザーがログインすると、次のことが発生します。









ネットワーク経由でLinuxをブートするための詳細な情報が必要な場合は、Roshalskyシリーズの記事を参照することをお勧めします。 最初のリンクはこちらです







設置



シッククライアントモードでのLTSPのインストールは、最も複雑で興味深いものとして説明します。

シンクライアントモードでの設定は、chrootではなくメインシステムに必要なソフトウェアをインストールする必要があることを除いて、少し違いはありません。その後、nbd-imageを再構築する必要はありません。







サーバーにとっては、ディストリビューションをより新鮮にした方が良いという小さな警告があります。 LTSPは標準パッケージの1つであり、ディストリビューションで更新されます。 ゲストOSの場合、実証済みのUbuntu 14.04 LTSを使用することをお勧めします。 ディストリビューションをより新しくすると、問題が始まり、パッケージの名前を変更してから他の何かを変更するため、ブートローダーがインストールされません。







UPD:検証済み。最新のUbuntu 16.04 LTSでは、このような問題はありません。







それでは始めましょう。 最初にltsp-server-standalone



インストールしltsp-server-standalone









 apt-get update && apt-get install ltsp-server-standalone
      
      





ltsp-build-client



を使用して、クライアントシステムをインストールします。 LTSPはさまざまなDEをサポートしますが、LXDEの仕組みが気に入っています。 Unityとは異なり、リソースをほとんど消費せず、ベアXで動作するため、環境変数を使用してほぼ完全に構成できます。これは、メインのlts.conf構成で指定できるため、非常に便利です。







 ltsp-build-client --dist xenial --arch i386 --fat-client-desktop lubuntu-desktop
      
      





これらのオプションはすべて、 /etc/ltsp/ltsp-build-client.conf



configで指定できるため、手動で登録する必要はありません。







ltsp-build-client.conf
 # Distribution DIST=xenial # The chroot architecture. ARCH=i386 # ubuntu-desktop and edubuntu-desktop are tested. # If you test with [k|x]ubuntu-desktop, edit this page and mention if it worked OK. # kubuntu lucid (10.10) working okay. FAT_CLIENT_DESKTOPS="lubuntu-desktop" # Space separated list of programs to install. # The java plugin installation contained in ubuntu-restricted-extras # needs some special care, so let's use it as an example. #LATE_PACKAGES=" # ubuntu-restricted-extras # gimp # nfs-client #" # This is needed to answer "yes" to the Java EULA. # We'll create that file in the next step. DEBCONF_SEEDS="/etc/ltsp/debconf.seeds" # This uses the server apt cache to speed up downloading. # This locks the servers dpkg, so you can't use apt on # the server while building the chroot. MOUNT_PACKAGE_DIR="/var/cache/apt/archives/"
      
      





オプションが指定されていない場合、サーバーシステムと同じディストリビューションやアーキテクチャが使用されます。







debootstrap



を使用して、コマンドを完全自動モードで実行した後、システムは/opt/ltsp/i386



ディレクトリにdebootstrap



/opt/ltsp/i386









今後、同じシステムがすべてのLTSPコマンドで使用され、追加のソフトウェアがインストールされ、カーネルを備えたブートローダーとシステムのnbdイメージが生成されます。 原則として、適切なブートローダー設定でnfs



を介して提供することもできます。

インストール後、LTSPは自動的にnbdイメージを生成します。 この画像はお客様がアップロードします。







追加のソフトウェアをインストールするなど、ゲストOSに変更を加えるには、 ltsp-chroot



コマンドを使用します。

ゲストシステムに何かを変更または追加する場合は、 ltsp-choot



を実行すると、その中にいることがわかります。

次に、必要なアクションを実行し、exitコマンドで終了します。

変更を適用するには、 ltsp-update-image



コマンドでnbdイメージを再生成する必要があります







DHCPサーバー:



ltsp-server-standalone



メタltsp-server-standalone



とともに、 isc-dhcp-server



もインストールされました。

原則として、それはすでにあるべき状態ですでに動作していますが、必要に応じて、そのconfig /etc/default/isc-dhcp-server



を修正でき/etc/default/isc-dhcp-server





LTSPのセットアップのトピックに関する2010年のOpenNetに関するクールな記事があります。DHCPサーバーのセットアップ手順は、そこに詳しく説明されています。







ただし、DHCPサーバーが既にあると想定しているため、構成することを提案します。







isc-dhcp-server



削除しisc-dhcp-server









 sudo apt-get remove isc-dhcp-server
      
      





次に、dhcpサーバーに2つのオプションを追加する必要があります。







 next-server 192.168.1.2; # TFTP- filename "/ltsp/i386/pxelinux.0"; # 
      
      





これを行う方法については、DHCPサーバーの手順を参照してください。

ここでは、たとえば、Mikrotik機器でこれを行う方法に関する指示があります。







ソフトウェアのインストール





Firefox用PepperFlashをインストールする
 add-apt-repository -y ppa:skunk/pepper-flash add-apt-repository -y ppa:nilarimogard/webupd8 apt-get -y update apt-get -y install pepflashplugin-installer freshplayerplugin mkdir -p /opt/google/chrome/PepperFlash ln -s /usr/lib/pepflashplugin-installer/libpepflashplayer.so /opt/google/chrome/PepperFlash
      
      







X11vncのインストール
 #   apt-get -y install x11vnc #    cat > /usr/bin/x11vncd <<EOT #!/bin/bash x11vncd () { XAUTH=\`ls -1td /var/run/ldm-xauth-* | head -n1 | sed 's|$|/Xauthority|'\` logger -f /var/log/x11vnc "Starting with \$XAUTH" /usr/bin/x11vnc -display :7 -rfbauth /etc/x11vnc.pass -logfile /var/log/x11vnc -xauth \$XAUTH sleep 1 x11vncd } x11vncd EOT #  init- cat > /etc/init.d/x11vnc <<EOT #!/bin/sh ### BEGIN INIT INFO # Provides:x11vnc # Required-Start:\$remote_fs \$syslog # Required-Stop:\$remote_fs \$syslog # Default-Start:2 3 4 5 # Default-Stop:0 1 6 # Short-Description:Start X11VNC # Description:Start VNC server X11VNC at boot ### END INIT INFO case "\$1" in start) start-stop-daemon --start --oknodo --pidfile /var/run/x11vnc.pid --background --nicelevel 15 --make-pidfile --exec /usr/bin/x11vncd ;; stop) logger -f /var/log/x11vnc "Stopping" start-stop-daemon --stop --oknodo --pidfile /var/run/x11vnc.pid ;; restart) logger -f /var/log/x11vnc "Restarting" \$0 stop \$0 start ;; status) PID=\`cat /var/run/x11vnc.pid\` if [ -e /proc/\$PID ]; then echo "Process \$PID is running" else echo "No process matching" fi ;; *) echo "Usage: \$0 start|stop|restart|status" exit 1 ;; esac exit 0 EOT #   chmod +x /usr/bin/x11vncd /etc/init.d/x11vnc #     update-rc.d x11vnc defaults #   x11vnc -storepasswd /etc/x11vnc.pass
      
      







chrootを終了してnbdイメージを更新することを忘れないでください:







 exit ltsp-update-image
      
      





ユーザー作成





構成lts.conf



それで、最も重要な設定に到達しました

/var/lib/tftpboot/ltsp/i386/lts.conf



あり、グローバル変数の説明以外の何かを表します。







構成はセクションに分かれており、デフォルトセクションはすべてのクライアントに共通の設定を説明しています。







 [Default] #  LXDE LDM_XSESSION = /usr/bin/dbus-launch --exit-with-session /usr/bin/lxsession -s Lubuntu -e LXDE #      LOCALE = Europe/Moscow LC_ALL = ru_RU.UTF-8 LANG = ru_RU.UTF-8 LDM_LANGUAGE = ru_RU.UTF_8 #      XKBLAYOUT = "us,ru" XKBOPTIONS = "grp:ctrl_shift_toggle,terminate:ctrl_alt_bksp" X_NUMLOCK = true KEYTABLE = ru LDM_NUMLOCK = true #   HOTPLUG = True #    LOCALDEV = true #     SOUND = True MIC_VOLUME = 0 CAPTURE_VOLUME = 100 CAPTURE_SWITCH = toggle #   SSH RCFILE_01 = "ssh-keygen -A ; /usr/sbin/sshd" #    SYSLOG_HOST = server
      
      





ホスト名、IP、またはMACアドレスに基づいて個々のクライアントのセクションを追加することもできます。







 #   [oldmachine] X_COLOR_DEPTH=8 X_MODE_0=800x600 #   [192.168.1.123] LDM_AUTOLOGIN = True LDM_USERNAME = user LDM_PASSWORD = password # - [00:11:25:93:CF:00] PRINTER_0_DEVICE=/dev/usblp0 SCREEN_07=shell # FreeRDP,    [00:11:25:93:C:11] SCREEN_07=xfreerdp RDP_SERVER=192.168.100.10 RDP_OPTIONS="/f /sec:rdp /cert-ignore /multimon:force"
      
      





一般に、オプションの完全なリストは、 このページで見つけることができます







 man lts.conf
      
      





まとめ



その結果、柔軟で安全かつ管理しやすいシステムの両方が得られます。

標準的な方法を使用して任意のソフトウェアをインストールし、ユーザー権限を制限し、各ユーザーの一般的な構成を個別に編集できます。データ損失を恐れることはありません。







さらに、無料ライセンスのおかげで、これらはすべて完全に無料です。







LTSPは、教育機関と通常のオフィスの両方で、Windowsへのリモート接続と通常の仕事の両方に使用できます。







UPD:コメントのワイドストリームは、同様のスキームを使用してレンダーファームを作成することに成功したと書いています。







現代では、ほとんどの従業員にとって、職場では基本的なオフィスプログラムのセットを備えたブラウザーだけで十分であることは、秘密ではありません。







いくつかの興味深いリンク:









ロシア語を話すコミュニティ



ご質問がある場合は、私たちのグループに電報で参加してください。

https://t.me/ltsp_ru








All Articles