tech_memo / linux / cobbler / setup_ESXi6.0_for_EUFI


tech_memo/linux/cobbler

概要

  • ESXi6.0をcobbler + kickstartファイルで自動インストールする方法
  • kickstartファイルを使わず、手動でインストールする場合は、後述のboot.cfgから、ks=<KickstartファイルURL>のオプションを削除すればよい
  • cobblerサーバのOSはRHEL7.2

参考サイト

手順

  1. まず、下記を実施しておく。(ESXiのISOファイルのcobblerへのimportと、kickstartファイル等の各種設定)
    • tech_memo/linux/cobbler/add_esxi_distro
      • cobbler sync時点で、<TFTP_HOME>/images/<ESXi_distro名>が作成される。ここでは、/var/lib/tftp/images/ESXi6.0-x86_64として説明していく
  2. 必要なサービスの起動
    [root@testserver07 ~]# systemctl start rsyncd
    [root@testserver07 ~]# systemctl start tftp
    [root@testserver07 ~]# systemctl start httpd
  3. TFTPホームに移動
    [root@testserver07 ~]# cd /var/lib/tftpboot/
  4. cobbler syncで作成された、ESXiのイメージディレクトリに、mboot.efiが存在するか確認
    [root@testserver07 tftpboot]# ls images/ESXi6.0-x86_64/mboot.efi
    images/ESXi6.0-x86_64/mboot.efi
    • もしなければ、ks_mirrorからコピーする
      [root@testserver07 tftpboot]# cp -p /var/www/cobbler/ks_mirror/ESXi6.0/efi/boot/bootx64.efi images/ESXi6.0-x86_64/mboot.efi
  5. 上記ファイルをNBP(Network Bootstrap Program)ファイルとして設定
    [root@testserver07 tftpboot]# vim /etc/cobbler/dhcp.template
    
         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";
    
             # ★ Added by shishimaru
             } else if option pxe-system-type = 00:07 or option pxe-system-type = 00:09 {
                     #PXE over EFI firmware. Under /var/lib/tftpboot/
                     filename "images/ESXi6.0-x86_64/mboot.efi";
             } else {
                     filename "pxelinux.0";
             }
        }
  6. 上記テンプレートファイルをdhcpd.confに適用
    [root@testserver07 ESXi6.0-x86_64]# cobbler sync
  7. PXEブート時に、NBPファイルと同階層のboot.cfgが読み込まれる。同じ階層にcobbler-boot.cfgがあるので、これで上書いておく
    [root@testserver07 tftpboot]# cp -p images/ESXi6.0-x86_64/cobbler-boot.cfg images/ESXi6.0-x86_64/boot.cfg
    • ちなみに、上書きで正しく設定されるのは以下。 UEFIだと、kickstartファイルでのインストールは、インストール後に、WARNがでる(画面レイアウトが乱れて、メッセージ内容は不明)ので、kickstartファイル指定なしの手動インストールを推奨
      bootstate=0
      title=Loading ESXi installer
      prefix=/images/ESXi6.0-x86_64 # 上書き前は、distro名(ESXi6.0)
      kernel=tboot.b00
      kernelopt=runweasel ks=http://cobblerserver:80/cblr/svc/op/ks/profile/ESXi6.0-x86_64 # ksオプションが追加される
      # 下記モジュール群から、「/」が削除される。もしされていなければ、手動で削除すること
      modules=b.b00 --- jumpstrt.gz --- useropts.gz --- k.b00 --- chardevs.b00 --- a.b00 --- user.b00 --- uc_intel.b00 --- uc_amd.b00 --- sb.v00 --- s.v00 --- mtip32xx.v00 --- ata_pata.v00 --- ata_pata.v01 --- ata_pata.v02 --- ata_pata.v03 --- ata_pata.v04 --- ata_pata.v05 --- ata_pata.v06 --- ata_pata.v07 --- block_cc.v00 --- ehci_ehc.v00 --- elxnet.v00 --- emulex_e.v00 --- weaselin.t00 --- esx_dvfi.v00 --- esx_ui.v00 --- ima_qla4.v00 --- ipmi_ipm.v00 --- ipmi_ipm.v01 --- ipmi_ipm.v02 --- lpfc.v00 --- lsi_mr3.v00 --- lsi_msgp.v00 --- lsu_hp_h.v00 --- lsu_lsi_.v00 --- lsu_lsi_.v01 --- lsu_lsi_.v02 --- lsu_lsi_.v03 --- lsu_lsi_.v04 --- misc_cni.v00 --- misc_dri.v00 --- net_bnx2.v00 --- net_bnx2.v01 --- net_cnic.v00 --- net_e100.v00 --- net_e100.v01 --- net_enic.v00 --- net_forc.v00 --- net_igb.v00 --- net_ixgb.v00 --- net_mlx4.v00 --- net_mlx4.v01 --- net_nx_n.v00 --- net_tg3.v00 --- net_vmxn.v00 --- nmlx4_co.v00 --- nmlx4_en.v00 --- nmlx4_rd.v00 --- nvme.v00 --- ohci_usb.v00 --- qlnative.v00 --- rste.v00 --- sata_ahc.v00 --- sata_ata.v00 --- sata_sat.v00 --- sata_sat.v01 --- sata_sat.v02 --- sata_sat.v03 --- sata_sat.v04 --- scsi_aac.v00 --- scsi_adp.v00 --- scsi_aic.v00 --- scsi_bnx.v00 --- scsi_bnx.v01 --- scsi_fni.v00 --- scsi_hps.v00 --- scsi_ips.v00 --- scsi_meg.v00 --- scsi_meg.v01 --- scsi_meg.v02 --- scsi_mpt.v00 --- scsi_mpt.v01 --- scsi_mpt.v02 --- scsi_qla.v00 --- uhci_usb.v00 --- vsan.v00 --- vsanheal.v00 --- vsanmgmt.v00 --- xhci_xhc.v00 --- tools.t00 --- xorg.v00 --- imgdb.tgz --- imgpayld.tgz
      build=
      updated=0