1. 程式人生 > >無人值守AutoYaST安裝SUSE的服務器配置方法

無人值守AutoYaST安裝SUSE的服務器配置方法

SUSE AutoYaST 無人值守 自動安裝 PXE

AutoYaST

無人值守安裝SUSE的服務器配置方法和文件
參考網站:https://wsgzao.github.io/post/autoyast/
參考文件:https://github.com/yudigithub/AutoYaST
說明:本來是準備按HelloDog的文章來搭建SUSE下的安裝服務器,但是搭建失敗了,大家可以看到我在 [基於 AutoYaST 自動化安裝 SuSE 實踐](https://wsgzao.github.io/post/autoyast/) 下面的提問,提示file not found。後來自己根據SELS的部署文檔重新搭建了一次。大家可以直接拿來用。

準備好相關的配置文件,按實際的情況進行修改

  1. dhcpd.conf -- DHCP配置文件
  2. message -- Linux啟動引導鏡像顯示文件
  3. default -- 用於 x86 的 BIOS 啟動引導鏡像配置文件
  4. grub.cfg -- 用於 x86 的 UEFI 文件引導鏡像配置文件
  5. autoinst.xml -- AutoYast 配置成功後,生成控制操作系統安裝 XML 配置文件
    相關的配置文件我已經上傳至github,直接下載可用:
    https://github.com/yudigithub/AutoYaST

按Conf_AutoYaSH.sh文件中的說明來順利進行服務器配置

本來是想寫個shell把所有的命令整合一下的,但是因為時間原因,先這樣吧,以後有時間再寫:

安裝相關的模塊

instModule {
  zypper install -y dhcp*
  zypper install -y tftp
  zypper install -y vsftpd
#syslinux包提供了一個非常有用的文件:/usr/share/syslinux/pxelinux.0   
  zypper install -y syslinux
}

掛載ISO文件,mount完才能備份

MountISO{
  mkdir -p /srv/install/x86/sles12/sp0/cd1
  mount  -o loop -t iso9660 /install/iso/SLE-12-Server-DV.iso /srv/install/x86/sles12/sp0/cd1/
}

備份相關的文件系統

BackupFile {
  cp /etc/dhcpd.conf ./dhcpd.conf.$today.bak
  cp -f /srv/install/x86/sles12/sp0/cd1/boot/x86_64/loader/message ./message.$today.bak
  cp -f /srv/install/x86/sles12/sp0/cd1/boot/x86_64/loader/isolinux.cfg ./default.$today.bak
  cp -f /srv/install/x86/sles12/sp0/cd1/EFI/BOOT/grub.cfg ./grub.cfg.$today.bak
  cp -f /root/autoinst.xml ./autoinst.xml.$today.bak
}

配置DHCP服務

confDHCP {
  cp -f dhcpd.conf /etc/dhcpd.conf
#啟動DHCP服務
  yast dhcp-server
}

使用 YaST 設置NFS安裝服務器

confNFS {
#掛載目錄為/srv/install/x86/sles12/sp0/ + #掛載目錄為/srv/install/x86/sles12/sp0/cd1/
  yast instserver
  cp -f autoinst.xml /srv/install/x86/sles12/sp0/
  showmount -e localhost
}

使用 YaST 設置 TFTP 服務器

confTFTP {
  yast tftp-server
#在 /srv/tftpboot 中創建一個結構以支持各種選項
#采用 64 位 UEFI 固件的 PC,在 UEFI 開機模式下只能運行 64 位操作系統引導程序
#在 Legacy 開機模式(即 BIOS 兼容開機模式)下,通常不區分操作系統的比特數
#大多數 Linux 發行版已使用 GRUB 作為 UEFI 下的引導程序
  mkdir -p /srv/tftpboot/BIOS/x86
  mkdir -p /srv/tftpboot/BIOS/x86/pxelinux.cfg
  mkdir -p /srv/tftpboot/EFI/x86/boot
  mkdir -p /srv/tftpboot/EFI/aarch64/boot
  mkdir -p /srv/install/aarch64/sles12/sp0/cd1
}

復制BOOT引導所需文件

confBOOT {
#將 x86 BIOS 和 UEFI 引導所需的 kernel 、 initrd 和 message 文件復制到相應的位置
#Linux啟動引導鏡像:linux內核(linux二進制文件) + 根文件系統(initrd二進制文件)+啟動顯示信息(message)
  cd /srv/install/x86/sles12/sp0/cd1/boot/x86_64/loader/ && cp -a linux initrd message /srv/tftpboot/BIOS/x86/
  cd /srv/install/x86/sles12/sp0/cd1/boot/x86_64/loader/ && cp -a linux initrd /srv/tftpboot/EFI/x86/boot
  cp -f message /srv/tftpboot/BIOS/x86/message
}

用於 x86 的 BIOS

#PXE啟動引導鏡像(Bootstrap file:pxelinux.0)+啟動菜單配置項(pxelinux.cfg文件夾下的default文件)
#啟動菜單配置項default引用了 2 個重要的文件:linux和initrd。
#將 pxelinux.0 復制到 TFTP 文件夾並為配置文件準備一個子文件夾
confBIOS {
  cp /usr/share/syslinux/pxelinux.0 /srv/tftpboot/BIOS/x86/
# cp /srv/install/x86/sles12/sp0/cd1/boot/x86_64/loader/isolinux.cfg /srv/tftpboot/BIOS/x86/pxelinux.cfg/default
  cp -f default /srv/tftpboot/BIOS/x86/pxelinux.cfg/default
}

用於 x86 的 UEFI 文件

#復制 UEFI 引導所需的所有 grub2 文件(bootx64.efi + grub.efi + MokManager.efi)
#將內核和 initrd 文件復制到目錄結構(linux + initrd)
confUEFI {
  cd /srv/install/x86/sles12/sp0/cd1/EFI/BOOT && cp -a bootx64.efi grub.efi MokManager.efi /srv/tftpboot/EFI/x86/
# cp /srv/install/x86/sles12/sp0/cd1/EFI/BOOT/grub.cfg /srv/tftpboot/EFI/x86/grub.cfg
  cp -f grub.cfg /srv/tftpboot/EFI/x86/grub.cfg
}

用於 AARCH64 的 UEFI 文件

#復制 UEFI 引導所需的所有 grub2 文件(bootx64.efi + grub.efi + MokManager.efi)
#將內核和 initrd 文件復制到目錄結構(linux + initrd)
confAARCH64 {
  cd /srv/install/aarch64/sles12/sp0/cd1/EFI/BOOT && cp -a bootaa64.efi /srv/tftpboot/EFI/aarch64/
# cp /srv/install/x86/sles12/sp0/cd1/EFI/BOOT/grub.cfg /srv/tftpboot/EFI/x86/grub.cfg
  cp -f grub.cfg /srv/tftpboot/EFI/x86/grub.cfg
}

配置網絡引導

接下來為將要安裝系統的機器 配置網絡引導,配置將 PXE 選項包含在 BIOS 引導序列中

  1. 華碩主板:BIOS--高級--內置設備--Realtek PXE OPROM

無人值守AutoYaST安裝SUSE的服務器配置方法