ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

部署无人值守安装系统

2022-03-09 22:05:04  阅读:155  来源: 互联网

标签:http 部署 var -- master 无人 root 值守 0t0


 

主机名 操作系统 ip地址
无人值守系统 CentOS Linux release 7.9.2009 (Core) 192.168.71.128
客户端 未安装系统 -

 

1、环境部署

1.1 由于DHCP是用于为客户端主机分配可用IP地址,而且是客户端与服务端文件传输的基础,所以首先配置DHCP服务

yum install dhcp -y  
#配置DHCP服务
vim /etc/dhcp/dhcp.conf
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
allow booting;
allow bootp;  #这两行指定BIOS运行使用PXE启动
ddns-update-style interim; 
ignore client-updates;  #忽略客户端更新dns记录
subnet 192.168.71.0 netmask 255.255.255.0 {
        range dynamic-bootp 192.168.71.100 192.168.71.200;  #可分配的IP地址范围
        option subnet-mask 255.255.255.0;  #指定子网掩码
        option domain-name-servers 192.168.71.128;
        default-lease-time 21600;  #设置默认IP地址租用期限
        max-lease-time 43200;  #设置IP地址最长租用期限
        next-server 192.168.71.128; #告诉客户端TFTP服务器地址
        filename "pxelinux.0";  #告诉客户端从TFTP根目录下载pxelinux.0文件
}
[root@master alertscripts]# systemctl start dhcpd
[root@master alertscripts]# lsof -i :67    
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
dnsmasq 2595 nobody    3u  IPv4  35159      0t0  UDP *:bootps 
dhcpd   8811  dhcpd    7u  IPv4  95958      0t0  UDP *:bootps 
[root@master alertscripts]# netstat -lntup | grep dhcpd
udp        0      0 0.0.0.0:67              0.0.0.0:*                           8811/dhcpd          
[root@master alertscripts]# ps -ef | grep 8811
dhcpd      8811      1  0 13:16 ?        00:00:00 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid

 

在虚拟机上需要关闭虚拟机自带的DHCP服务

 

 

 

1.2 配置HTTP服务

[root@master ~]# yum install httpd -y
[root@master ~]# systemctl start httpd
[root@master ~]# lsof -i :80
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd   1221   root    4u  IPv6  29408      0t0  TCP *:http (LISTEN)
httpd   2922 apache    4u  IPv6  29408      0t0  TCP *:http (LISTEN)
httpd   2923 apache    4u  IPv6  29408      0t0  TCP *:http (LISTEN)
httpd   2924 apache    4u  IPv6  29408      0t0  TCP *:http (LISTEN)
httpd   2925 apache    4u  IPv6  29408      0t0  TCP *:http (LISTEN)
httpd   2926 apache    4u  IPv6  29408      0t0  TCP *:http (LISTEN)
httpd   4224 apache    4u  IPv6  29408      0t0  TCP *:http (LISTEN)
httpd   4232 apache    4u  IPv6  29408      0t0  TCP *:http (LISTEN)
httpd   4233 apache    4u  IPv6  29408      0t0  TCP *:http (LISTEN)
httpd   4274 apache    4u  IPv6  29408      0t0  TCP *:http (LISTEN)
httpd   4275 apache    4u  IPv6  29408      0t0  TCP *:http (LISTEN)

[root@master ~]# mkdir /var/www/html/centos7
#使用mount命令将光盘镜像文件挂载到对应目录
[root@master ~]# mount /dev/cdrom /var/www/html/centos7/
[root@master ~]# df -mh
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 894M     0  894M    0% /dev
tmpfs                    910M   17M  893M    2% /dev/shm
tmpfs                    910M   11M  900M    2% /run
tmpfs                    910M     0  910M    0% /sys/fs/cgroup
/dev/mapper/centos-root   15G  4.4G   11G   30% /
/dev/sda1               1014M  185M  830M   19% /boot
/dev/mapper/centos-var   2.0G  1.1G  977M   52% /var
tmpfs                    182M   36K  182M    1% /run/user/1000
/dev/sr0                 4.4G  4.4G     0  100% /var/www/html/centos7

 

1.3 配置简单文件传输协议TFTP

由于tftp协议是被xinetd服务所管理的,所以需要到/etc/xinetd.d/tftp配置文件中启动tftp协议

[root@master ~]# yum install tftp-server xinetd -y
[root@master ~]# vim /etc/xinetd.d/tftp
#default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no  #将yes改为no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
[root@master ~]# systemctl start xinetd
[root@master ~]# lsof -i :69
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
xinetd  9496 root    5u  IPv4 108864      0t0  UDP *:tftp 
[root@master ~]# netstat -lntup | grep xinetd
udp        0      0 0.0.0.0:69              0.0.0.0:*                           9538/xinetd         
udp        0      0 0.0.0.0:69              0.0.0.0:*                           9496/xinetd

 

1.4 配置syslinux,这是一个引导加载程序主要引导加载内核

initrd.img是一个内核文件

pxelinux.0是pxe系统的启动引导程序

isolinux目录存放的是系统的镜像文件

vmlinuz是启动过程中引导必要驱动时使用的虚拟内核

[root@master ~]# yum -y install syslinux
[root@master ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@master ~]# cp /var/www/html/centos7/isolinux/* /var/lib/tftpboot/
[root@master ~]# cp /var/www/html/centos7/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/

 

1.5 新建pxelinux.cfg目录,将系统光盘的开机选项菜单复制到该目录中,并命名为default,这个文件就是开机时的选项菜单

[root@master ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@master ~]# cd /var/lib/tftpboot/pxelinux.cfg
[root@master pxelinux.cfg]# cp /var/www/html/centos7/isolinux/isolinux.cfg ./default
[root@master pxelinux.cfg]# vim default
default linux  #将文件第一行默认值改为linux,这样系统在开机时就会默认执行名称为linux的选项了
#往下查找label linux选项,修改initrd参数
label linux
  menu label ^Install CentOS 7
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=http://192.168.71.128 ks=http://192.168.71.128/ksconfig/ks.cfg quiet

 

2、配置ks.cfg文件

root@master pxelinux.cfg]# cd /var/www/html/
[root@master html]# mkdir ksconfig
[root@master html]# cp /root/anaconda-ks.cfg ./ksconfig/ks.cfg
[root@master html]# cd ksconfig
[root@master ksconfig]# chmod 644 ks.cfg
[root@master ksconfig]# vim ks.cfg
#version=DEVEL
# System authorization information
install #告诉安装程序这是一次全新的安装
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
url --url=http://192.168.71.128/centos7  #将光盘镜像安装方式修改成http协议
text #使用文本模式安装
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --disabled #禁止系统第一次引导启动设置代理
firewalld --disabled #禁用防火墙
ignoredisk --only-use=sda  
# Keyboard layouts
keyboard --vckeymap=cn --xlayouts='cn' #键盘类型
# System language
lang zh_CN.UTF-8 #指定安装过程中的默认系统语言

# Network information
network  --bootproto=dhcp --device=ens32 --ipv6=auto --activate #网卡配置
network  --hostname=master #主机名

# Root password
rootpw 123456 #root的密码
# System services
services --enabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc #指定系统时区,这里是上海
# X Window System configuration information
xconfig  --startxonboot
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda  #指定引导记录写的位置
# Partition clearing information
clearpart --all --initlabel  #清空所有磁盘内容并初始化磁盘
# Disk partitioning information
part /boot --fstype="xfs" --ondisk=sda --size=1024  #分区
part pv.157 --fstype="lvmpv" --ondisk=sda --size=19455
volgroup centos --pesize=4096 pv.157
logvol /var  --fstype="xfs" --size=2044 --name=var --vgname=centos
logvol swap  --fstype="swap" --size=2047 --name=swap --vgname=centos
logvol /  --fstype="xfs" --size=15360 --name=root --vgname=centos
reboot #重启服务器
%packages  #指定安装软件包
@^gnome-desktop-environment  #@development格式指定安装那些命令或开发程序
@base
@core
@desktop-debugging
@development
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@x11
chrony

还可以可以通过yum软件仓库来安装system-config-kickstart软件包,这是一款图形化的kiskstart应答文件工具可以根据自己的需求生成自定的应答文件

3、创建客户端进行测试

 

 

 

 

 

 

 

 

标签:http,部署,var,--,master,无人,root,值守,0t0
来源: https://www.cnblogs.com/nnijia/p/15984601.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有