QA@IT

Virtual Box UEFI pxeboot 時の grub メニューファイルについて

610 PV

お世話になっております。
現在、CentOS7.5 にてCobbler サーバを構築しています。
目的は、特定NICに特定IPアドレスを付与してOSをインストールすることです。
(DHCPですがIPアドレスはMACアドレスに対し固定で割り当てます。)
インストール対象のサーバがUEFIのため、Virtualbox でUEFIモードでpxeboot を行ったのですが
text モードを指定したkickstart ファイルを割り当て、grub メニューでタイムアウトを0にしているにも関わらず
表示されるgrub メニューがタイムアウト60秒のもので、指定した defaultefi ファイルではないように見えます。
cheetah や python に詳しくないので詳細がわからないのですが、cobbler では grub メニューファイルは
どのように指定されているのでしょうか。
どのファイルを見に行っているのかわかれば、直しようがあると思い質問させていただきました。

■環境
サーバ環境: 仮想 (Virtualbox 5.2.20)
OS: CentOS Linux release 7.5.1804 (Core)
Cobbler: cobbler-2.8.3-2.el7.x86_64

■ファイル

[root@master cobbler]# cat /etc/cobbler/dhcp.template
# ******************************************************************
# Cobbler managed dhcpd.conf file
#
# generated from cobbler dhcp.conf template ($date)
# Do NOT make changes to /etc/dhcpd.conf. Instead, make your changes
# in /etc/cobbler/dhcp.template, as /etc/dhcpd.conf will be
# overwritten.
#
# ******************************************************************

ddns-update-style interim;

allow booting;
allow bootp;

ignore client-updates;
set vendorclass = option vendor-class-identifier;

option pxe-system-type code 93 = unsigned integer 16;

subnet 10.0.0.0 netmask 255.255.255.0 {
     option subnet-mask         255.255.255.0;
     range dynamic-bootp 10.0.0.2 10.0.0.10;
     default-lease-time 21600;
     max-lease-time 43200;
     next-server $next_server;
     class "pxeclients" {
        match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
        if option pxe-system-type = 00:02 {
              filename "ia64/elilo.efi";
        }
        else if option pxe-system-type = 00:06 {
                filename "grub/grub-x86.efi";
        }
        else if option pxe-system-type = 00:07 {
                filename "grub/grub-x86_64.efi";
        }
        else if option pxe-system-type = 00:08 {
                filename "grub/grub-x86_64.efi";
        }
        else if option pxe-system-type = 00:09 {
                filename "grub/grub-x86_64.efi";
        }
        else {
                filename "pxelinux.0";
        }
      }
}


#for dhcp_tag in $dhcp_tags.keys():
        ## group could be subnet if your dhcp tags line up with your subnets
        ## or really any valid dhcpd.conf construct ... if you only use the
        ## default dhcp tag in cobbler, the group block can be deleted for a
        ## flat configuration
# group for Cobbler DHCP tag: $dhcp_tag
group {
        #for mac in $dhcp_tags[$dhcp_tag].keys():
          #set iface = $dhcp_tags[$dhcp_tag][$mac]
        host $iface.name {
                #if $iface.interface_type == "infiniband":
                option dhcp-client-identifier = $mac;
                #else
                hardware ethernet $mac;
                #end if
                #if $iface.ip_address:
                fixed-address $iface.ip_address;
                #end if
                #if $iface.hostname:
                option host-name "$iface.hostname";
                #end if
                #if $iface.netmask:
                option subnet-mask $iface.netmask;
                #end if
                #if $iface.gateway:
                option routers $iface.gateway;
                #end if
                #if $iface.enable_gpxe:
                if exists user-class and option user-class = "gPXE" {
                filename "http://$cobbler_server/cblr/svc/op/gpxe/system/$iface.owner";
                } else if exists user-class and option user-class = "iPXE" {
                filename "http://$cobbler_server/cblr/svc/op/gpxe/system/$iface.owner";
                } else {
                filename "undionly.kpxe";
                }
                #else
                filename "grub/grub-x86.efi";
                #end if
                ## Cobbler defaults to $next_server, but some users
                ## may like to use $iface.system.server for proxied setups
                next-server $next_server;
                ## next-server $iface.next_server;
        }
                #end for
}
#end for
[root@master cobbler]# cat /etc/dhcp/dhcpd.conf
# ******************************************************************
# Cobbler managed dhcpd.conf file
# generated from cobbler dhcp.conf template (Tue Dec 11 18:44:28 2018)
# Do NOT make changes to /etc/dhcpd.conf. Instead, make your changes
# in /etc/cobbler/dhcp.template, as /etc/dhcpd.conf will be
# overwritten.
# ******************************************************************

ddns-update-style interim;

allow booting;
allow bootp;

ignore client-updates;
set vendorclass = option vendor-class-identifier;

option pxe-system-type code 93 = unsigned integer 16;

subnet 10.0.0.0 netmask 255.255.255.0 {
     option subnet-mask         255.255.255.0;
     range dynamic-bootp 10.0.0.2 10.0.0.10;
     default-lease-time 21600;
     max-lease-time 43200;
     next-server 10.0.0.1;
     class "pxeclients" {
        match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
        if option pxe-system-type = 00:02 {
              filename "ia64/elilo.efi";
        }
        else if option pxe-system-type = 00:06 {
                filename "grub/grub-x86.efi";
        }
        else if option pxe-system-type = 00:07 {
                filename "grub/grub-x86_64.efi";
        }
        else if option pxe-system-type = 00:08 {
                filename "grub/grub-x86_64.efi";
        }
        else if option pxe-system-type = 00:09 {
                filename "grub/grub-x86_64.efi";
        }
        else {
                filename "pxelinux.0";
        }
      }
}


# group for Cobbler DHCP tag: default
group {
        host generic2 {
                hardware ethernet 08:00:27:A2:7A:D1;
                fixed-address 10.0.0.8;
                option subnet-mask 255.255.255.0;
                filename "grub/grub-x86.efi";
                next-server 10.0.0.1;
        }
        host generic1 {
                hardware ethernet 08:00:27:CA:93:C3;
                fixed-address 10.0.0.3;
                option host-name "repo-test02";
                option subnet-mask 255.255.255.0;
                filename "grub/grub-x86.efi";
                next-server 10.0.0.1;
        }
}
[root@master cobbler]# ls -l /etc/cobbler/pxe
total 140
-rw-r--r--. 1 root root  294 May  4  2018 bootcfg_esxi51.template
-rw-r--r--. 1 root root  284 May  4  2018 bootcfg_esxi55.template
-rw-r--r--. 1 root root  294 May  4  2018 bootcfg_esxi5.template
-rw-r--r--. 1 root root  284 May  4  2018 bootcfg_esxi60.template
-rw-r--r--. 1 root root  284 May  4  2018 bootcfg_esxi65.template
-rw-r--r--  1 root root   69 Dec 12 02:06 efidefault.template
-rw-r--r--. 1 root root  194 May  4  2018 gpxe_system_esxi5.template
-rw-r--r--. 1 root root  194 May  4  2018 gpxe_system_esxi6.template
-rw-r--r--. 1 root root  167 May  4  2018 gpxe_system_freebsd.template
-rw-r--r--. 1 root root  184 May  4  2018 gpxe_system_linux.template
-rw-r--r--. 1 root root  112 May  4  2018 gpxe_system_local.template
-rw-r--r--. 1 root root  674 May  4  2018 gpxe_system_windows.template
-rw-r--r--. 1 root root   69 May  4  2018 grublocal.template
-rw-r--r--. 1 root root   98 May  4  2018 grubprofile.template
-rw-r--r--. 1 root root  118 May  4  2018 grubsystem.template
-rw-r--r--. 1 root root   39 May  4  2018 nexenta_grub_menu.template
-rw-r--r--. 1 root root   86 May  4  2018 nexenta_profile.template
-rw-r--r--  1 root root  239 Dec 12 03:05 pxedefault.template
-rw-r--r--. 1 root root   40 May  4  2018 pxelocal_ia64.template
-rw-r--r--. 1 root root    0 May  4  2018 pxelocal_ppc64le.template
-rw-r--r--. 1 root root    6 May  4  2018 pxelocal_s390x.template
-rw-r--r--. 1 root root   99 May  4  2018 pxelocal.template
-rw-r--r--. 1 root root   89 May  4  2018 pxeprofile_arm.template
-rw-r--r--. 1 root root  133 May  4  2018 pxeprofile_esxi.template
-rw-r--r--. 1 root root  168 May  4  2018 pxeprofile_ppc64le.template
-rw-r--r--. 1 root root  287 May  4  2018 pxeprofile_s390x.template
-rw-r--r--. 1 root root  108 May  4  2018 pxeprofile.template
-rw-r--r--. 1 root root  101 May  4  2018 pxesystem_arm.template
-rw-r--r--. 1 root root  295 May  4  2018 pxesystem_esxi.template
-rw-r--r--. 1 root root  107 May  4  2018 pxesystem_ia64.template
-rw-r--r--. 1 root root  175 May  4  2018 pxesystem_ppc64le.template
-rw-r--r--. 1 root root  240 May  4  2018 pxesystem_ppc.template
-rw-r--r--. 1 root root  287 May  4  2018 pxesystem_s390x.template
-rw-r--r--. 1 root root  114 May  4  2018 pxesystem.template
-rw-r--r--. 1 root root 2547 May  4  2018 s390x_conf.template
-rw-r--r--. 1 root root  679 May  4  2018 s390x_parm.template
[root@master cobbler]# ls -l /var/lib/tftpboot/pxelinux.cfg/
total 12
-rw-r--r-- 1 root root  99 Dec 12 03:44 01-08-00-27-a2-7a-d1
-rw-r--r-- 1 root root 253 Dec 12 03:44 01-08-00-27-ca-93-c3
-rw-r--r-- 1 root root 997 Dec 12 03:44 default
[root@master cobbler]# ls -l /var/lib/tftpboot/grub
total 484
-rw-r--r--  1 root root     69 Dec 12 03:44 01-08-00-27-A2-7A-D1
-rw-r--r--  1 root root    227 Dec 12 03:44 01-08-00-27-CA-93-C3
-rw-r--r--  1 root root    693 Dec 12 03:44 efidefault
-rw-r--r--. 2 root root 243679 Nov 23 19:11 grub-x86_64.efi
-rw-r--r--. 2 root root 237224 Nov 23 19:11 grub-x86.efi
lrwxrwxrwx. 1 root root      9 Nov 26 15:54 images -> ../images

↓これは見に行っていない気がします。。。

[root@master cobbler]# cat /var/lib/tftpboot/grub/efidefault
default=0
timeout=0
splashimage=(nd)/splash.xpm.gz

title centos7.5-x86_64
    root (nd)
    kernel /images/centos7.5-x86_64/vmlinuz  ksdevice=bootif lang=  kssendmac text  ks=http://10.0.0.1/cblr/svc/op/ks/profile/centos7.5-x86_64
    initrd /images/centos7.5-x86_64/initrd.img

title test
    root (nd)
    kernel /images/centos7.5-x86_64/vmlinuz  ksdevice=bootif lang=  kssendmac text  ks=http://10.0.0.1/cblr/svc/op/ks/profile/test
    initrd /images/centos7.5-x86_64/initrd.img

title test-x86_64
    root (nd)
    kernel /images/test-x86_64/vmlinuz  ksdevice=bootif lang=  kssendmac text  ks=http://10.0.0.1/cblr/svc/op/ks/profile/test-x86_64
    initrd /images/test-x86_64/initrd.img

他に必要な情報があれば追加いたします。
どなたかご回答お願いいたします。

ウォッチ

この質問への回答やコメントをメールでお知らせします。