クライアントがホスト名を認識しない

【症状】
/tftpboot/DIR/snapshotの下にクライアント毎のサブディレクトリが作られるが、system-config-netbootで明示的にクライアント名でサブディレクトリを指定しても、ディスクレスを立ち上げると(ディスクレスがホスト名を認識できないため)IPアドレス名のディレクトリ(例えば /tftpboot/DIR/snapshot/192.168.0.128 )が作られてしまう。
また、ディスクレスが立ち上がってhostnameコマンドで確かめると"localhost"になっている。

【解決策】
DHCPで"use-host-decl-names"オプションを"on"にするか、"option host-name"オプションでホスト名を指定しておかないとディスクレス・クライアントがホスト名を識別できない場合がある。(必ずしも認識できないわけではない。現在、実運用系と実験系の2つの環境でディスクレスを実現しているが、実運用系ではこのオプションを指定してないないが問題ない。ディスクレスの雛形となるOSの設定に依るのかも知れないが、基本的には(ディスクレスDHCPを使うわけなので)これらのオプションを設定するのが正論だろう。)

/etc/dhcpd.config で次のように設定する:

#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample  
#
ddns-update-style       none;
ignore                  client-updates;
use-host-decl-names     on;

もしくは:

host client-01 {
        hardware ethernet       00:0C:29:EB:31:F6;
        fixed-address           client-01;
        option host-name        "client-01";
        next-server             server-01;
        filename                "/linux-install/pxelinux.0";
        default-lease-time      1296000; # 2 weeks
        max-lease-time          2592000; # 4 weeks
}

(前者の解が正解だろう。後者はホスト名を変更した場合、あちこちで修正が必要となり設定ミスの原因になりかねない。)

【参考】