CentOS 7
Sponsored Link

PXE Boot : ディスクレスクライアント2015/06/26

 
ハードディスクを搭載していないクライアントコンピュータから、PXE サーバーに配置した OS イメージを読み込んでシステムを起動します。
[1]
[2] PXE サーバーへ追加でパッケージをインストールします。
[root@dlp ~]#
yum -y install dracut-network nfs-utils
[3] PXE サーバー上にクライアント配信用システムを用意します。インストールパッケージは必要に応じて変更ください。
[root@dlp ~]#
mkdir -p /var/lib/tftpboot/centos7/root

[root@dlp ~]#
yum groups -y install "Server with GUI" --releasever=7 --installroot=/var/lib/tftpboot/centos7/root/
# rootパスワード生成 (後で入力するのでメモしておく)

[root@dlp ~]#
python -c 'import crypt,getpass; \
print(crypt.crypt(getpass.getpass(), \
crypt.mksalt(crypt.METHOD_SHA512)))'
Password:
$6$EC1T.oKN5f3seb20$y1WlMQ7Ih424OwOn.....
[root@dlp ~]#
vi /var/lib/tftpboot/centos7/root/etc/shadow
# クライアント配信用システムの rootパスワードを設定

root:
$6$EC1T.oKN5f3seb20$y1WlMQ7Ih424OwOn.....
:16372:0:99999:7:::
[root@dlp ~]#
vi /var/lib/tftpboot/centos7/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@dlp ~]#
wget -P /var/lib/tftpboot/centos7/ \
http://mirror.centos.org/centos/7/os/x86_64/images/pxeboot/vmlinuz \
http://mirror.centos.org/centos/7/os/x86_64/images/pxeboot/initrd.img
[root@dlp ~]#
vi /var/lib/tftpboot/pxelinux.cfg/default
# 新規作成

default centos7

label centos7
    kernel centos7/vmlinuz
    append initrd=centos7/initrd.img root=nfs:10.0.0.30:/var/lib/tftpboot/centos7/root rw selinux=0 
[4] クライアント配信用のファイルをネットワークで共有できるよう NFS サーバーを起動します。
[root@dlp ~]#
vi /etc/exports
/var/lib/tftpboot/centos7/root 10.0.0.0/24(rw,no_root_squash)
[root@dlp ~]#
systemctl start rpcbind nfs-server

[root@dlp ~]#
systemctl enable rpcbind nfs-server

[5] 以上でサーバー側の設定は完了です。
後は、ディスクレス 且つ ネットワークブートが有効な BIOS 設定のクライアントコンピュータを起動すると、以下のように PXE サーバーからファイルを読み込み、システムが起動します。
関連コンテンツ