使用netinstall進行無人值守安裝

一、什麼是netinstall?

Netinstall是一種通過網路進行安裝操作系統的方法。它可以讓你通過網路安裝各種不同的操作系統和軟體程序,並對其進行配置。

Netinstall使用Preboot Execution Environment(PXE)技術,這個技術可以讓伺服器通過網路引導安裝系統,而不需要使用物理媒介,例如光碟或USB。

二、準備工作

在使用netinstall之前,必須確保你的網路擁有一台DHCP伺服器和TFTP伺服器。DHCP伺服器會提供IP地址,TFTP伺服器會提供安裝文件。

為了更好的管理和使用netinstall,需要安裝一個DHCP伺服器,它將提供網路上所有計算機的IP地址。

同時需要安裝一個TFTP伺服器,該伺服器將提供所有需要安裝的文件。你可以使用以下命令來安裝這些伺服器:

yum install dhcp tftp-server -y

三、配置DHCP伺服器和TFTP伺服器

在安裝完成DHCP伺服器和TFTP伺服器後,需要配置它們的配置文件。這些文件分別為:

  • /etc/dhcp/dhcpd.conf
  • /etc/xinetd.d/tftp

請按照以下命令編輯DHCP伺服器的配置文件:

vi /etc/dhcp/dhcpd.conf

在打開的文件中,添加以下行:

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.100 192.168.0.200;
 
  option domain-name-servers 8.8.8.8, 8.8.4.4;
  option routers 192.168.0.1;
 
  filename "pxelinux.0";
  next-server 192.168.0.10;
}

上面的配置將DHCP伺服器配置為使用我們的TFTP伺服器。這將用於在客戶端計算機上引導安裝。以上ip地址和文件名根據實際情況需進行修改。

為了讓TFTP伺服器正常工作,請編輯TFTP伺服器配置文件,輸入以下命令:

vi /etc/xinetd.d/tftp

在該文件中,輸入以下內容:

service tftp
{
  socket_type             = dgram
  protocol                = udp
  wait                    = yes
  user                    = root
  server                  = /usr/sbin/in.tftpd
  server_args             = -s /tftpboot
  disable                 = no
  per_source              = 11
  cps                     = 100 2
  flags                   = IPv4 
}

以上配置表明使用tftp協議,tftp伺服器提供程序路徑為/tftpboot。當然,該路徑可以為任何你想放置文件的目錄。

四、準備安裝文件

由於netinstall使用的是PXE技術,因此需要準備一個文件將被用來引導客戶端計算機。因此,我們需要在客戶端計算機上安裝pxelinux.0程序。該程序位於syslinux軟體包中。

為此,輸入以下命令以下載並安裝syslinux軟體包:

yum install syslinux -y

在安裝完成後,進入pxelinux程序所在的目錄,並執行以下命令,將pxelinux.0拷貝到/tftpboot目錄下:

cd /usr/share/syslinux
cp pxelinux.0 /tftpboot/

五、配置netinstall

接下來我們需要準備PXE引導文件。在PXE引導文件中,需要定義使用的內核和安裝程序等信息。在本文中,我們將安裝CentOS操作系統。

在tftpboot目錄下創建一個新的目錄centos,並將下載的CentOS ISO文件拷貝到其中,並解壓openstack目錄:

mkdir /tftpboot/centos
cd /tftpboot/centos
wget http://mirrors.aliyun.com/centos/7/os/x86_64/images/boot.iso
mount -o loop boot.iso /mnt/
cp -r /mnt/images/ /tftpboot/centos/openstack/
chmod -R 755 /tftpboot/centos/openstack/

然後進入centos目錄,創建一個PXE引導配置文件,文件名為「default」,並輸入以下內容:

cd /tftpboot/centos/
vi default

在打開的文件中添加以下內容:

default vesamenu.c32
timeout 600
 
menu title Welcome to CentOS 7.0 Installation!
 
label linux-installer
  menu label Automated Installation - CentOS 7.0
  kernel openstack/images/pxeboot/vmlinuz
  append initrd=openstack/images/pxeboot/initrd.img inst.repo=http://192.168.0.10/centos/openstack ks=http://192.168.0.10/centos/ks.cfg ip=dhcp

在上述配置中,timeout 600表示引導菜單100秒超時;label linux-installer定義了安裝程序的名字;kernel和initrd指定了內核文件和initrd文件的路徑。最後的append語句指明了自動化安裝所需的kickstart配置文件的位置以及IP配置(可以自行修改IP地址配置)。

六、創建自動化安裝配置文件

最後一步是創建kickstart配置文件。kickstart文件是一個自動化安裝程序,它可以讀取一個已預定義的配置,然後安裝Linux操作系統。

在centos目錄下創建一個新文件,並將其命名為ks.cfg:

cd /tftpboot/centos
vi ks.cfg

按照以下格式編輯ks.cfg文件:

#version=DEVEL
# Install OS instead of upgrade
install
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$xxxxxxxxxxxxxx
# System language
lang en_US
# Hosts information
network --bootproto=dhcp --device=eno16777736
# Firewall configuration
firewall --enabled --service=ssh
selinux --disabled
# System timezone
timezone Asia/Shanghai --isUtc
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
autopart --type=lvm

%packages
@^minimal
@core
kexec-tools
%end

請注意,rootpw語句是加密的,需要將其替換為你自己的加密密碼。

七、啟動服務

啟動TFTP伺服器和DHCP伺服器的服務。

systemctl start tftp.socket
systemctl start dhcpd

接下來,在客戶端計算機上打開PXE引導菜單。選擇安裝CentOS並將所有配置正確填寫後,系統將開始自動安裝。完成安裝後,重啟計算機即可。

八、總結

Netinstall是一種快速,高效的系統安裝方法。為了使用netinstall,請確保你的網路擁有一台DHCP伺服器和TFTP伺服器。在經過準備工作後,需要按照特定格式編輯PXE引導文件和kickstart配置文件,以使系統能夠正確安裝(即後續的「五」和「六」步驟)。一旦準備完成,系統將開始自動安裝,使無人值守安裝成為可能。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/308344.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-03 14:48
下一篇 2025-01-03 14:48

發表回復

登錄後才能評論