PXE装机服务搭建(安装ubuntu18及以下版本)
这⾥是⼯作中对⼀个pxe装机需求测试记录,所有操作都是在笔记本电脑上VMware虚拟机中实现,内容仅供参考。
环境介绍:
1、PXE测试服务器为⼀台1c2g的VMware虚拟机,⽹络模式为NAT模式,操作系统为CentOS7.9,IP地址为192.168.1.11。
2、需要准备⼀个ubuntu-14.04.6-server-amd64.iso的ISO镜像包。
3、PXE服务其实是通过http/ftp、TFTP、DHCP服务来实现,这⾥安装在⼀台服务器上,可以分开部署。
4、准备⼀个ubuntu的⽹络引导器,注意版本问题。
PXE安装ubuntu填坑:
1、 ubuntu的PXE安装它会要求ubuntu镜像的版本、⽹络引导器版本和⽣成ks⽂件的系统版本必须⼀致,不然就是各种问题。所以上⾯介绍环境,我写清楚了镜像⽂件的全名。
length的意思中文翻译
2、ubuntu版本过⾼,安装kickstart可能会出现依赖问题,所以这⾥选择14版本进⾏安装(18版本测试了也没问题)。
google翻译停止服务
3、如果需要⽆⼈值守安装系统,必须要划分swap分区。
搭建PXE服务器
1、安装httpd,pxe装机需要⽤到httpd服务的功能。这⾥使⽤httpd,ftp跟httpd⼏乎⼀样。
yum -y install httpd
3、创建⼀个存放系统镜像⽂件⽬录,然后把镜像⽂件cp到该⽬录中。
mkdir /var/www/html/ubuntu
cp -a /mnt/cdrom/* /var/www/html/ubuntu
4、启动httpd,设置开机启动。
systemctl start httpd
systemctl enable httpd幻灯片放映
5、安装TFTP服务,修改配置⽂件并启动。这⾥修改⼀下tftp的根⽬录,因为还需要测试centos系统,这⾥做⼀个区分,如果只安装⼀个系统,可以不⽤修改。
yum -y install tftp-server
vim /etc/xinetd.d/tftp
#将disable=yes 修改为
disable=no
#将 server_args = -s /var/lib/tftpboot 修改为
server_args = -s /var/lib/tftpboot/ubuntu -c
vim /usr/lib/systemd/system/tftpd.service
#将 ExecStart=/usr/sbin/in.tftpd -s /var/lib/tftpboot  修改为
ExecStart=/usr/sbin/in.tftpd -s /var/lib/tftpboot/ubuntu
systemctl daemon-reload
systemctl restart tftp
systemctl enable tftp
6、把准备好的ubuntu⽹络引导器解压到tftp根⽬录下
tar zxf -C /var/lib/tftpboot/ubuntu
7、修改启动菜单⽂件,将timeout的值从0改为1,是为了让ubuntu安装界⾯出现会超时,⾃动选择安装。
vim /var/lib/tftpboot/ubuntu/pxelinux.cfg/default
#将  timeout 0 修改为
timeout 1
8、修改⽹络引导器中的txt.cfg⽂件
零度易语言教程vim /var/lib/tftpboot/ubuntu/ubuntu-installer/amd64/boot-screens/txt.cfg
#在append后添加以下内容
ks=192.168.1.11/ubuntu/ks.cfg preseed/url=192.168.1.11/ubuntu/ubuntu-server.seed netcfg/get_nameservers=192.168.1.11
修改后⽂件内容如下:
9、挂载ISO镜像,把镜像⽂件cp到/var/www/html/ubuntu⽬录下。
mount /dev/cdrom /mnt/cdrom
cp -a /mnt/cdrom/* /var/www/html/ubuntu/
10、复制镜像⽂件中的ubuntu-server.seed⽂件到/var/www/html/ubuntu⽬录下并添加配置。
cp /var/www/html/ubuntu/preseed/ubuntu-server.seed /var/www/html/ubuntu/
vim /var/www/html/ubuntu/ubuntu-server.seed
#在⽂件最后加⼊以下配置
d-i live-installer/net-image string 192.168.1.11/ubuntu/install/filesystem.squashfs
d-i pkgsel/include string openssh-server
11、安装DHCP服务器,并且添加配置,启动。客户端会请求到dhcp服务器,dhcp服务器会提供给客户端IP信息、tftp信息、pxe引导⽂件信息等。所以,在客户端⽹络环境中,不要配置其他的dhcp服务器了。
yum -y install dhcp
cat <<EOF >> /etc/f
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;        #dhcp服务为客户端分配的ip范围
option domain-name-servers 8.8.8.8;        #dns
option domain-name "";
option routers 192.168.1.1;                #⽹关
option broadcast-address 192.168.1.255;    #⼴播
default-lease-time 21600;                  #租约时间,默认值是600,单位是秒
max-lease-time 43200;                      #最⼤租约时间
next-server 192.168.1.11;                  #指定TFTP服务器的地址
filename "pxelinux.0";                    #指定PXE引导程序的⽂件名
}
EOF
systemctl start dhcpd
systemctl enable dhcpd
数据库nn是什么意思
12、准备ks.cfg⽂件(test⽤户密码是1q2w3e4r)。
cat <<EOF > /var/www/html/ubuntu/ks.cfg
#Generated by Kickstart Configurator
#platform=x86
#System language
lang en_US
#Language modules to install
centos和ubuntulangsupport en_US
#System keyboard
keyboard us
#System mouse
mouse
#System timezone
timezone America/New_York
#Root password
rootpw --disabled
#Initial user
user test --fullname "test" --iscrypted --password $1$923Ky0S9$dRr5NVm9eitEibM3EE1a/.
#Reboot after installation
reboot
#Use text mode install
text
#Install OS instead of upgrade
install
#Use Web installation
url --url 192.168.1.11/ubuntu/
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr yes
#Partition clearing information
clearpart --all --initlabel
#Disk partitioning information
part /boot --fstype ext4 --size 200
part swap --size 2048
part / --fstype ext4 --size 15800
#System authorization infomation
auth --useshadow --enablemd5
#Network information
network --bootproto=dhcp --device=eth0
#Firewall configuration
firewall --disabled
#Do not configure the X Window System
skipx
EOF
图形界⾯配置ks⽂件这⾥就不做介绍了,跟centos的⼀样,先安装kickstart,然后⽤软件做配置后保存即可。可以参考:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。