CentOS 6
Sponsored Link

ディスクレスクライアント
2011/07/15
 
ハードディスクを搭載していないクライアントマシンから、PXEサーバーに置いたOSイメージを読み込んでシステムを起動します。 クライアントとなるマシンはPXE対応のNICを搭載している必要があります。 PXEサーバーの基本設定は完了しているものとして進めます。
[1] PXEサーバーへ必要なものをインストールしておきます。
[root@pxe ~]#
yum -y install dracut-network
[2] PXEサーバー上にクライアント配信用システムを用意します。yum で必要に応じてグループパッケージをインストールしてください。 以下では「Base」と「Server Platform」のみインストールしています。 なお、yum でエラーが出る場合は リポジトリファイル[/etc/yum.repos.d/CentOS-Base.repo]中の「$releasever」を適切なバージョン番号に書き換えてください。 また、以下では配信用システムの rootパスワードはPXEサーバーの rootパスワードと同じものを設定しています。
[root@pxe ~]#
yum -y groupinstall "Base" "Server Platform" --installroot=/var/lib/tftpboot/centos6/root/
[root@pxe ~]#
cp -f -R /root /var/lib/tftpboot/centos6/root/

[root@pxe ~]#
chmod 600 /var/lib/tftpboot/centos6/root/etc/shadow

[root@pxe ~]#
grep ^root /etc/shadow | cut -d: -f2

$6$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[root@pxe ~]#
vi /var/lib/tftpboot/centos6/root/etc/shadow
# クライアント配信用システムの rootパスワードを設定

root:
$6$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
:14937:0:99999:7:::
[root@pxe ~]#
vi /var/lib/tftpboot/centos6/root/etc/fstab
none    /tmp        tmpfs   defaults   0 0
tmpfs   /dev/shm    tmpfs   defaults   0 0
sysfs   /sys        sysfs   defaults   0 0
proc    /proc       proc    defaults   0 0

[root@pxe ~]#
cp /boot/vmlinuz-2.6.32-71.29.1.el6.x86_64 /var/lib/tftpboot/centos6/

[root@pxe ~]#
dracut initramfs-2.6.32-71.29.1.el6.x86_64.img 2.6.32-71.29.1.el6.x86_64

[root@pxe ~]#
mv initramfs-2.6.32-71.29.1.el6.x86_64.img /var/lib/tftpboot/centos6/

[root@pxe ~]#
vi /var/lib/tftpboot/pxelinux.cfg/default
# 新規作成

default centos6

label centos6
   kernel centos6/vmlinuz-2.6.32-71.29.1.el6.x86_64
   append initrd=centos6/initramfs-2.6.32-71.29.1.el6.x86_64.img root=nfs:10.0.0.70:/var/lib/tftpboot/centos6/root rw selinux=0 
[3] 先ほどコピーしたクライアント配信用のファイルをネットワークで共有できるようNFSサーバーを起動しておきます。
[root@pxe ~]#
vi /etc/exports
/var/lib/tftpboot/centos6/root 10.0.0.0/24(rw,sync,no_root_squash,no_all_squash)
[root@pxe ~]#
/etc/rc.d/init.d/rpcbind start

Starting rpcbind:     [ OK ]
[root@pxe ~]#
/etc/rc.d/init.d/nfslock start

Starting NFS statd:     [ OK ]
[root@pxe ~]#
/etc/rc.d/init.d/nfs start

RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
Starting NFS services: [ OK ]
Starting NFS daemon: NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
NFSD: starting 90-second grace period
[ OK ]
Starting NFS mountd:     [ OK ]
Starting RPC idmapd:     [ OK ]
[4] 以上でサーバー側の準備は完了です。 後は、ディスクレスのクライアントマシンをネットワーク最優先で起動すると、 以下のようにPXEサーバーからシステムを読み込み、システムが起動します。 起動後は普通にシステムを使用することができます。
 
Tweet