无人值守安装centos系统
安装顺序:
1.安装nfs服务,用于存放linux操作系统
2.安装TFTP服务,用于提供pxe引导文件
3.安装DHCP服务,用于提供IP地址及其他信息
4.配置kickstart,用于自动应答安装,一般操作系统安装完成,在~目录下有anaconda-ks.cfg
5.新服务器用PXE启动
以上4步骤都是在已安装系统的服务器上操作,可以把应用分布在不同服务器,也可以全部(1-4)在一台
步骤:
1.1 安装软件
yum install nfs-utils rpcbind tftp* dhcp* -y
1.2 创建nfs共享目录,此目录随便
mkdir /opt/share -p
1.3 拷贝操作系统(linux)到/opt/share
---注:可以光盘挂载或者上传ISO文件到服务器然后挂载.
mount /dev/cdrom1 /mnt/ #挂载在mnt
mount -o loop /home/user/CentOS-6.9-x86_64-bin-DVD1.iso /mnt #挂载iso
cp -a /mnt/* /opt/share/ #文件大需要比较久,centos6不能用mnt作为nfs共享目录,权限禁止.
1.4 编辑NFS配置文件
cat /etc/exports #默认这个文件夹是空
/opt/share 172.21.100.0/24(ro,sync) #允许访问nfs网段
2.1 编辑tftp文件,centos7以前都是通过xinted管理
cat /etc/xinetd.d/tftp #删除了注释部分
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot #tftp目录
disable = no #原yes改成no
per_source = 11
cps = 100 2
flags = IPv4
}
2.2 拷贝引导文件到/var/lib/tftpboot
- -注释: 若是没有pxelinux.0,请yum安装syslinux,或者光盘
bin/cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
bin/cp /opt/share/images/pxeboot/initrd.img /var/lib/tftpboot/
bin/cp /opt/share/images/pxeboot/vmlinuz /var/lib/tftpboot/
2.3 创建pxelinux.cfg目录
mkdir /var/lib/tftpboot/pxelinux.cfg
cd /var/lib/tftpboot/pxelinux.cfg
cp /opt/share/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
2.4 编辑vim /var/lib/tftpboot/pxelinux.cfg/default
- -注释:配置文件删了注释#部分
default local
prompt 1
timeout 999999
display boot.msg
menu background splash.jpg
menu title Welcome to CentOS 6.9!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label linux
kernel vmlinuz
append initrd=initrd.img
label text
kernel vmlinuz
append ks=nfs:172.21.100.1:/opt/share/kickstart/ks.cfg ksdevice=ifcfg-eth1 initrd=initrd.img text
#ksdevice=ifcfg-eth1 多网卡指定网卡
3.1 编辑dhcp文件
--注:centos6安装的默认文件是空,需要自己手动或者拷贝它指定的配置实例
cat /etc/dhcp/dhcpd.conf
allow booting;
allow bootp;
default-lease-time 21600;
max-lease-time 43200;
option routers 172.21.100.1; #网关地址
subnet 172.21.100.0 netmask 255.255.255.0 {
range dynamic-bootp 172.21.100.2 172.21.100.10;
next-server 172.21.100.1; #nfs服务器地址
filename "/opt/share/kickstart/ks.cfg"; #kickstart文件目录
next-server 172.21.100.1; #tftp服务器地址
filename "pxelinux.0"; #不要指定绝对路径,不然pxe启动报错找不到file
}
4.1 配置自动应答kickstart
--注释若是没有这个配置文件,请先安装,一般安装完系统默认有
[[email protected] ~]# ll
-rw-------. 1 root root 1426 Apr 8 12:06 anaconda-ks.cfg
4.2 拷贝anaconda-ks.cfg 到/opt/share/
mkdir /opt/share/kickstart/ -p
ll /opt/share/kickstart/ #注意权限
-rw-r--r--. 1 root root 1727 Apr 27 14:30 ks.cfg
4.3 开始编辑ks.cfg
cat /opt/share/kickstart/ks.cfg
# Kickstart file automatically generated by anaconda.
#version=DEVEL
#安装不是升级
install
#cdrom
#启用nfs
nfs --server=172.21.100.1 --dir=/opt/share
lang en_US.UTF-8
keyboard us
network --onboot no --device eth0 --bootproto dhcp --noipv6
#root密码默认123456,下面是加密了
rootpw --iscrypted $6$FqdvZx1yCbKftY5W$VFDJa8ghR7drwyQnwufcUJsLzKPK4YV/iv37.r0IsSPtzwzwjfeV3lZbSl/7crgP8k15.pyzvfwjaFDrBtEMI0
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
firstboot --disable
logging --level=info
zerombr
#########分区配置########
clearpart --all
part /boot --fstype=ext4 --size=500 --asprimary
part swap --size=4096
part / --fstype=ext4 --size=1 --grow --asprimary
reboot
#repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100
#开始安装软件
%packages
@base
@console-internet
@core
@debugging
@directory-client
@hardware-monitoring
@java-platform
@large-systems
@network-file-system-client
@performance
@perl-runtime
@server-platform
@server-policy
@workstation-policy
@development-libs
@development-tools
pax
python-dmidecode
oddjob
sgpio
device-mapper-persistent-data
samba-winbind
certmonger
pam_krb5
krb5-workstation
perl-DBD-SQLite
%end
新安装服务器,启动选择pxe启动,然后输入text即可,需要选择一下同意安装development-tools包.