Gentoo - LTSP Guide

1. 介紹

什麼是 LTSP?

LTSP 為 Linux Terminal Server Project 的縮寫. 安裝的目的是為了提供 多個工作站環境使用的伺服器 (也叫做 thin-clients). 伺服器的套件都可以 都可以使用在比較老舊的機器上為 XTerminal 的用途. 這個方法將減少成本 以及維修的費用. 特別是一些需要此項作法的廠所, 如, 公司或是學校.

2. 安裝

事前準備

這份文件所有的範例將假定您的伺服器 IP 為 192.168.0.254, 您的網域名稱 為 yourdomain.com 和網路為 192.168.0.0/24

安裝

首先, 您需要有一臺完好的 Gentoo 系統. 請參考 Gentoo 文件網站 的 Gentoo 安裝指南.

我們將由最簡單的步驟開始, 安裝 ltsp 套件:

原始碼 2.1: 安裝 LTSP

# emerge ltsp 

這將會依照依賴性安裝以下套件:

  • XFree: 他們也叫做 XTerminals, 猜猜看 :)
  • DHCP: DHCP 是一個自動設定電腦 TCP/IP 的通訊協定, ltsp 將使用它來分配工作站所需要的 IP.
  • NFS: NFS 是一種允許透過網路使用硬碟的通訊協定, ltsp 將使用他來幫工作站掛載基礎系統.
  • TFTP: TFTP 是一個簡單的檔案轉移的通訊協定, ltsp 將需要使用它來傳送核心(Kernel) 給工作站.
  • XINETD: Xinetd 是一個替換 inetd 的強大而且擁有許多高 階功能的套件, 我們將需要使用它來啟動 tftp.

注意: 如果您有在 USE 參數內設定 kde/gnome, 它也會安裝完整的 kde/gnome 到系統內.

3. 設定

安裝完成後, 所有的系統服務將需要進行設定:

系統記錄器

為了要更方便地分析問題,系統記錄器一定要允許遠端連線。 請參考您的系統記錄器文件完成此項設定。舉例來說,如果你使用的是 sysklogd, 你只需要編輯 /etc/conf.d/sysklogd 然後在 SYSKLOGD 那行加入 "-r":

原始碼 3.1: /etc/conf.d/sysklogd

SYSLOGD="-m 0 -r"
KLOGD="-c 3 -2"

NFS

下一個步驟就是編輯您的 /etc/exports 檔案, 這是為了要讓 其他工作站可以掛在根(root)檔案系統. 這個檔案一定要兩最少以下的兩行:

原始碼 3.2: /etc/exports

/opt/ltsp-4.1/i386         192.168.0.0/255.255.255.0(ro,no_root_squash,async)
/var/opt/ltsp/swapfiles 192.168.0.0/255.255.255.0(rw,no_root_squash,async)

注意: 您應該要將網路/網路遮罩改為您適用的設定.

啟動 NFS.

原始碼 3.3: 啟動 nfs

# rc-update add nfs default
# /etc/init.d/nfs start

xinetd/tftp

要使用 TFPT 之前需要先編輯一點他的設定檔。首先,編輯 /etc/conf.d/in.tftpd 設定 tfptd 正確的目錄和選項:

原始碼 3.4: /etc/conf.d/in.tftpd

INTFTPD_PATH="/tftpboot"
INTFTPD_OPTS="-s ${INTFTPD_PATH}"

-s 旗標指定 TFTP 以安全的 chroot 模式執行(建議你這麼做)。這代表你不用在 DHCP 設 定範例中包含 /tftpboot 路徑。

接著,設定 xinetd 讓 TFPT 可以接受遠端連線。首先,先檢查 /etc/xinetd.d/tftp 的檔案是否存在。預設的情況來說,xinetd 不會自動 啟動 TFTP,所以你將需要編輯 /etc/xinetd.d/tfpt 然後將 disable=yes 改為 disable=no

原始碼 3.5: /etc/xinetd.d/tftp

service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
}

編輯 /etc/xinetd.conf 然後使用 #only_from = localhost 註解使起來。最後,啟動 xinetd。

原始碼 3.6: 啟動 xinetd

# rc-update add xinetd default
# /etc/init.d/xinetd start

解析網域名稱

為了要讓所有的工作站使用各方面的資源, 您需要設定一個正確的網域解析. 其中一個簡單的方法就是為區域網路設定一個網域名稱(DNS)伺服器, 另一個更簡單的方法就是在 /etc/hosts 放入所有的系統. 這也是我們待會會用的方式.

所有的工作站都需要被列入 /etc/hosts. 請查看下面的範例:

原始碼 3.7: /etc/hosts

127.0.0.1        localhost
192.168.0.254 server server.yourdomain.com
192.168.0.1 ws001 ws001.yourdomain.com

DHCP 設定

這個步驟是這份文件中最難的部份, 您將需要建立一個有效的 DHCP 設定. (/etc/dhcp/dhcpd.conf). 以下為範例:

原始碼 3.8: dhcpd.conf

一些通用選項
default-lease-time 21600;
max-lease-time 21600;
use-host-decl-names on;
ddns-update-style ad-hoc;

Bootp 選項
allow booting;
allow bootp;

網路選項
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.254;
option domain-name-servers 192.168.0.254;
option log-servers 192.168.0.254;
option domain-name "yourdomain.com";

LTSP 目錄選項
option root-path "192.168.0.254:/opt/ltsp-4.1/i386";
filename "/lts/vmlinuz-2.4.26-ltsp-2";

如果您的工作站有 ISA 網路卡, 請拿掉以下註解
和驅動程式的 IO
#option option-128 code 128 = string;
#option option-129 code 129 = text;
#option option-128 e4:45:74:68:00:00;
#option option-129 "NIC=ne IO=0x300";

shared-network WORKSTATIONS {
subnet 192.168.0.0 netmask 255.255.255.0 {
分配動態性 IP 給工作站
range dynamic-bootp 192.168.0.1 192.168.0.16;
工作站的 PXE 開機設定
#host ws001 {
# hardware ethernet 00:E0:06:E8:00:84;
# fixed-address 192.168.0.1;
#}
}
}

如果您的工作站支援 PXE,您應該按照以上的 host ws001 的方式 將每個都編寫進去 (別忘記拿掉註解)。記得不要分配動態型的 IP 給它們, 這是為了防止 IP 重複。請注意,如果你複製以上的範例,記得將任何 "//" 的 註解方式更改為 "##",不然 dhcp 將無法啟用。

關於更多官方 dhcp 的文件可以到 http://www.dhcp-handbook.com/ 找到.

現在啟動 DHCP:

原始碼 3.9: 啟動 dhcp

# rc-update add dhcp default
# /etc/init.d/dhcp start

注意: DHCPD 需要啟動核心(kernel) 內的 CONFIG_PACKET 和 CONFIG_FILTER.

LTSP 設定

關於更多的工作站設定, 請參考 http://www.ltsp.org/documentation/ltsp-3.0-4-en.html#AEN903/opt/ltsp/i386/etc/lts.conf 內的詳細說明

在你開始前我們有幾建議,你將需要先 /opt/ltsp/i386/etc/lts.conf.example 複製到 /opt/ltsp/i386/etc/lts.conf 然後從那邊開始編輯。或許你也需要將 SCREEN_01 的選項設定為 SCREEN_01 = startx。要在遠端的用戶端使用 USB 華數,請加入類似以下的模組:

原始碼 3.10: /opt/ltsp/i386/etc/lts.conf

 MODULE_01          = usb-uhci
MODULE_02 = mousedev
MODULE_03 = usbmouse
X_MOUSE_PROTOCOL = "IMPS/2"
X_MOUSE_DEVICE = "/dev/input/mice"

顯示管理員

現在您將需要將您設定顯示管理員讓它接受遠端連線.

首先, 將您的 /etc/X11/xdm/Xaccess 檔案內的幾行註解按照以下拿掉:

原始碼 3.11: /etc/X11/xdm/Xaccess

#*                   #任何主機都可以取得登入視窗

現在請設定您所選擇的顯示管理員:

XDM: 在 /etc/X11/xdm/xdm-config 拿掉 DisplayManager.requestPort: 0 的註解.

KDM: 在 /usr/kde/3.1/share/config/kdm/kdmrc 尋找 [Xdmcp] 然後將 Enable = false 改為 Enable = true.

GDM: 在 /etc/X11/gdm/gdm.conf 尋找 [xdmcp] 然後將 Enable = false 改為 Enable = True.

接著啟動顯示管理員 (displaymanager):

原始碼 3.12: Starting xdm

# rc-update add xdm default
# /etc/init.d/xdm start

警告: 目前的 XDM 和 GDM 會有問題. 作者使用 KDM 來取代.

請注意,如果你的顯示管理員已經執行了,使用 CTRL-ALT-BACKSPACE 不會重新啟動 顯示管理員。

建立開機磁片

如果您的工作站沒有支援 PXE 開機, 您可以建立一個開機磁片 來啟動您的工作站並且連上終端機。請到 http://www.rom-o-matic.net/5.0.9/ 選擇您的網路卡, 然後按下 Get ROM 來建立磁片的印象.

原始碼 3.13: 寫入磁碟映像檔

# cat nicfile.zdsk > /dev/fd0 

4. 解決問題

各種狀況都會為問題的來源, 但是也有一些可以幫助您解決問題的資源:

5. FAQ

Q: 我的工作站是用 Pentium II 處理器, 但是我的伺服器是編譯為 march=athlon-xp 這樣可行嗎?

A: 沒問題, 因為所有的程式都是在伺服器上執行.

Q: 伺服器應該要使用那種處理器和多少記憶體才夠呢?

A:http://ltsp.org/documentation/server_suggestions.html 內有很好的建議.

Q: 有更多關於 PXE 的資料嗎?

A: 有的, 請查看 http://ltsp.org/documentation/eproms.txthttp://ltsp.org/documentation/pxe.howto.html.

Q: 有辦法在工作蘸上使用 3D加速軟體嗎?

A: 如果您使用 NVidia 的顯示卡, 請參考: http://ltsp.org/documentation/nvidia.txt.

Q: 有些軟體的字型看起來很醜, 該怎麼辦呢?

A: You have to setup the XFontServer, 您將需要設定 XFontServer, 將 USE_XFS=Y 加到 lts.conf, 編輯 /etc/X11/fs/configno-listen: tcp 註解起來, 在 /etc/conf.d/xfsXFS_PORT="-1" 更換為 XFS_PORT="7100" 然後啟動 xfs: /etc/init.d/xfs start。然後請確定 /etc/X11/XF86Config (或是 /etc/X11/xorg.conf) 內的 Files 部份包含著 FontPath "unix/:7100"

Q: 我如何在我的工作站使用音效卡?

A: Gentoo 有提供 ltsp-sound 的套間,關於更多步驟請參考裡面的 README 檔。

Q: 我如何使用我的工作站上的音效卡呢?

A: Gentoo 內有 ltsp-sound 的套件, 關於詳細資料, 請參考裡面的 README 檔.

6. 詞彙

LTSP "LTSP 提供了一個讓低成本的工作站可以透過 GNU/Linux 伺服器 使用圖形和特別的基礎終端機."

PXE "PXE 為 Pre-Boot Execution Environment 的縮寫. 發音為 pixie. PXE 為 Intel 的 WfM 規格. 此規格可以讓一個工作站透過網路開機, 然後使用伺服器 的資源. 一個可以使用 PXE 開機的工作站利用它的網路卡連到區域網路然後 會在機器啟動時一直連接著伺服器."

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章