2007年8月15日 星期三

無磁碟 Linux 工作站安裝筆記

無磁碟 Linux工作站具有維護容易,新增設備簡便的優點,因此有不少的 Cluster,或是電腦教室採用這個方式建置。

建置和安裝方式有很多種,以下使用 DHCP Server + TFTP Server + NFSROOT + PXELinux 方式建置。

環境說明

OS:SUSE Linux Enterprise 9.0

Master-Server及Node1有相同的硬體規格,提供網路PXE的開機功能,唯一的差異是Node1上沒有任何的硬碟。

Master-Server:提供Node1開機及所需的任何資源,已安裝 SUSE Linux 9 Enterprise 所有軟體。

Node1:透過網路開機的設備,網卡MAC為 00:0C:29:7D:A2:CD

安裝步驟

1.設定 NFS Server 及準備 Node1 所需檔案

mkdir /remote

mkdir /remote/node1

cp -rpi /bin/ /remote/node1/

cp -rpi /dev/ /remote/node1/

cp -rpi /etc/ /remote/node1/

cp -rpi /lib/ /remote/node1/

cp -rpi /sbin/ /remote/node1/

cp -rpi /var/ /remote/node1/

cp -rpi /root/ /remote/node1/

mkdir /remote/node1/proc

mkdir /remote/node1/sys

mkdir /remote/node1/tmp

chmod a+rwx /remote/node1/tmp

mkdir /remote/node1/home

mkdir /remote/node1/usr

編輯 /remote/node1/etc/fstab 檔案 內容如下

192.168.120.128:/remote/node1 / nfs

編輯/etc/exports 檔案 內容如下

/home *(rw,root_squash,sync)
/usr *(ro)
/remote/node1 *(rw,no_root_squash)

重新啟動 nfs /etc/initd./nfs restart

2.安裝設定 tftp server

mkdir /tftpboot

mkdir /tftpboot/pxelinux.cfg

cp /usr/share/syslinux/pxelinux.0 /tftpboot

vi /tftpboot/pxelinux.cfg/01-00-0c-29-7a-a2-cd 內容如下

default linux

label linux
kernel bzImage
append ip=dhcp root=nfs nfsroot=192.168.120.128:/remote/node1

設定 tftp server 相關設定檔:/etc/xinetd.d/tftp 內容如下

# default: off
# description: tftp service is provided primarily for booting or when a
# router need an upgrade. Most sites run this only on machines acting as
# "boot servers".
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
}

重新啟動 /etc/init.d/xinetd restart

3.建立適合 Node1 開機的核心

cd /usr/src/linux

make menuconfig --> 產生 .config 檔案 可直接編輯 .config

核心必須包含的選項

網路卡的驅動程式

# Networking options

# Kernel level IP autoconfiguration
CONFIG_IP_PNP=y
# DHCP support
CONFIG_IP_PNP_DHCP=y

# Network File Systems

# NFS file system support
CONFIG_NFS_FS=y
# Provide NFSv3 client support
CONFIG_NFS_V3=y
# Root file system on NFS
CONFIG_ROOT_NFS=y

make bzImage

cp /usr/src/linux/arch/i386/boot/bzImage /tftpboot

4.設定 DHCP Server

dhcpd相關設定檔 /etc/sysconfig/dhcpd

/etc/dhcpd.conf 內容如下

allow booting;
allow bootp;

option domain-name-servers 168.95.1.1;
option routers 192.168.120.2;
ddns-update-style none;
subnet 192.168.120.0 netmask 255.255.255.0 {
host node1 {
# option root-path "192.168.120.128:/remote/node1,v3,tcp,hard";
hardware ethernet 00:0C:29:7D:A2:CD;
fixed-address 192.168.120.20;
option broadcast-address 192.168.120.255;
filename "pxelinux.0";
}
}

重新啟動 /etc/init.d/dhcpd restart

5.將 Node1 開機設定為網路 PXE 開機,即完成

6.其他

大部份相關的安裝說明文件會提到NIS或是LDAP的安裝,作為帳號管理使用,在此文件就略過了,因為所有安裝過程中最關鍵的部份都在上面了。

沒有留言: