Tag: Thinclient

シンクライアントのメモ

nfs-rootを用いてPXEブートで起動するシンクライアント環境を構築する。

Ubuntu

下記ディレクトリにnfs-root用のOSファイル群が設置されているとする。

/usr2/exports/nfs_root/ubuntu_1110_desktop_i386

まずはバックアップ

cd /usr2/exports/nfs_root && cp -rp ubuntu_1110_desktop_i386 ubuntu_1110_desktop_i386.20120209/

シンクライアント用ディレクトリ作成スクリプト

下記のスクリプトを作成した 2012/02/10

#!/bin/bash

MASTER_DIR="./ubuntu_1110_desktop_i386.20120210/"
DISTRIBUTION_PREFIX="ubuntu_client"
NUMBER_OF_CLIENT=10

# よくマスターのディレクトリの中身が消えてしまう事があったのでバックアップ
[ -d ${MASTER_DIR%\/}-`date +%Y%m%d` ] || cp -rp ${MASTER_DIR} ${MASTER_DIR%\/}-`date +%Y%m%d`

for num in `seq -w 1 ${NUMBER_OF_CLIENT}` ; do
echo "${DISTRIBUTION_PREFIX}_${num}"
for master_dir in `find ${MASTER_DIR}/ -maxdepth 1 -type d | grep -v etc` ; do
client_dir=${master_dir##*\/}
# ${hoge##*\/}の形で親ディレクトリを消すようにしたところ、${MASTER_DIR}自体を処理するタイミングで空の要素ができてしまい
# 親ディレクトリ自体をマウントする(子ディレクトリがマウントされない)ので、要素がある時だけ処理するようにした
if [ -n "${client_dir}" ] ; then
[ -d ${DISTRIBUTION_PREFIX}_${num}/${client_dir} ] || mkdir -p ${DISTRIBUTION_PREFIX}_${num}/${client_dir}
echo "  mount \"${master_dir}\" to \"${DISTRIBUTION_PREFIX}_${num}/${client_dir}\""
mount --bind ${master_dir} ${DISTRIBUTION_PREFIX}_${num}/${client_dir}
fi
done
cp -rp ${MASTER_DIR}/etc ${DISTRIBUTION_PREFIX}_${num}/
done

# これで作成したディレクトリを消すとき
# umount ubuntu_client_*/*/
# sleep 3
# rm -rf ubuntu_client_*/etc
# とすること umountしないとキケン
# あと umount するときは、最後の/を忘れずにつけること。 でないとデバイスがビジーと表示されてアンマウントできない事があった

IPアドレスとPXEブートメニューを紐付け

/etc/dhcpd.confでIPアドレスレンジを下記のように設定した

Read more...