目录
管理服务器搭建
管理服务器环境
kickstart配置
制作无盘与配置
制作无盘系统
配置启动文件
配置NFS服务启动无盘
centos 6.5 IP:192.168.56.150
1. SELINUX:disabled, 关闭iptables
vi /etc/selinux/config //SELINUX=disabled
setenfoce 0
iptables -F
2. 挂载iso镜像, 配置yum源
mount /dev/cdrom /mnt
vi /etc/yum.repos.d/CentOS-Base.repo 修改为:
baseurl=file:///mnt/
gpgcheck=0
enabled=1
3. 预装服务软件
dhcp-4.1.1-38.P1.el6.centos.x86_64 // 提供DHCP服务;指定TFTP地址及PXE启动文件
dhcp-common-4.1.1-38.P1.el6.centos.x86_64.rpm
tftp-server-0.49-7.el6.x86_64.rpm // 向无盘工作站传输系统启动文件等
vsftpd-2.2.2-11.el6_4.1.x86_64.rpm // 提供文件共享
system-config-kickstart-2.8.6.5-1.el6.noarch.rpm //制作kickstart配置文件,也可以直接从其他服务器拷贝配置文件
1. 配置dhcp
vi /etc/dhcp/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
subnet 192.168.56.0 netmask 255.255.255.0 {
option routers 192.168.56.1;
option subnet-mask 255.255.255.0;
option nis-domain "domain.org";
option domain-name "domain.org";
option domain-name-servers 192.168.56.1;
filename "pxelinux.0"; //预启动文件, 启动文件位置tftp的默认目录是 /tftpboot
next-server 192.168.56.150; //管理服务器ip
option time-offset -18000;
range dynamic-bootp 192.168.56.151 192.168.56.170; //给节点服务器分配的地址池151-170段
default-lease-time 21600;
max-lease-time 43200;
}
2. 配置tftp
vi /etc/xinetd.d/tftp
server_args = -s /tftpboot #启动文件的默认目录
将disable=yes改成disable=no
a. 创建tftpboot目录并复制启动所需文件
mkdir -pv /tftpboot/pxelinux.cfg
cp /usr/share/syslinux/pxelinux.0 /tftpboot/
cp /mnt/images/pxeboot/vmlinuz /tftpboot/
cp /mnt/images/pxeboot/initrd.img /tftpboot/
cp /mnt/isolinux/boot.msg /tftpboot/
cp /mnt/isolinux/vesamenu.c32 /tftpboot/
cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
修改default文件:
第一个append initrd=initrd.img 修改为
append ks=ftp://192.168.56.150/pub/ks.cfg ksdevice=eth0 initrd=initrd.img
b. 复制iso文件到ftp目录
cp -r /mnt/ /var/ftp/pub/
c. 创建ks.cfg文件(/var/ftp/pub):从安装完成的os系统/root/下面复制anaconda-ks.cfg后修改红色内容 user:root password:123456
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url="ftp://192.168.56.150/pub/mnt"
# Root password
rootpw --iscrypted $1$TpZ7Gjrt$LtO3xcH4OFR7Fq2QqwJGO/
# System authorization information
auth --useshadow --passalgo=sha512
# Use text mode install
text
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
# System bootloader configuration
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information # /boot 200MB ,swap 2G, 根目录 / 10G
part /boot --fstype=ext4 --size=200
part swap --fstype=swap --size=2048
part / --fstype=ext4 --size=10240
%packages --nobase
%end
3. 启动服务:先删除rm /var/lib/dhcpd/* -rf
service dhcpd restart
service vsftpd restart
service xinetd restart
需要安装系统的设备启动顺序设置为PXE网络启动:
1.单个服务器的eth0口网线连接管理服务器的eth0口
2.多个节点服务器批量安装需配置交换机IP 192.168.56.x . 节点服务器和管理服务器eth0口连接交换机lan口
节点服务器开机即可自动进入硬盘安装系统
注意:ks.cfg配置文件最好是在相同硬件配置的服务器系统/root/上面拷贝一份anaconda-ks.cfg文件,再自行根据需求修改成ks.cfg (如果硬件配置不一样,节点服务器在检查硬件是可能会有提示,需要手动确认.这样就达不到理想的自动安装效果)
无盘启动的原理及作用:把管理服务器里面制作好的镜像通过kickstart 自动加载到节点服务器的内存上面,节点关机后系统也消失。适用于节点服务器在不需要安装硬盘系统的情况下(同外设硬盘系统相似),对整体硬件进行初始化检测和其他故障诊断
1. 创建无盘系统文件路径: /netboot
mkdir /netboot // 无盘路径启动文件存放目录
mkdir /netboot/tftpboot // 无盘系统启动文件存放目录
mkdir /netboot/centos // 无盘系统结构文件目录
2. 使用rsync工具将整个"/"目录拷贝到/netboot/centos 目录下,去除不需要的文件目录
rsync -av --exclude='/proc' --exclude='/sys' --exclude='/tmp' --exclude='/var/tmp' --exclude='/etc/mtab' --exclude='/netboot' /* /netboot /centos
3. 重新创建被删掉的目录,还原系统模板的目录结构
cd /netboot/centos
mkdir proc sys tmp var/tmp
4. 修改设备挂载配置文件vi /netboot/centos/etc/fstab 删除所有的本地存储设备挂载信息(如:/和/boot)
# /etc/fstab
# Created by anaconda on Wed Aug 30 10:00:01 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
192.168.56.150:/netboot/centos / nfs defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
5. 在无盘系统路径下面:删除所有ifcfg-eth*网卡配置文件,只需保留ifcfg-lo
rm –rf /netboot/centos/etc/sysconfig/network-scripts/ifcfg-eth*
1.安装所需软件包:
syslinux-4.02-8.el6.x86_64 // 提供引导程序"pxelinux.0"
dracut-004-335.el6.noarch // 用来制作启动initrd 镜像
dracut-network-004-335.el6.noarch // 依赖包,否则将导致PXE无法启动
yum install syslinux dracut dracut-network
2. 拷贝PXE启动文件(由syslinux 程序提供)
cp /usr/share/syslinux/pxelinux.0 /netboot/tftpboot
3. 拷贝用linux内核文件vmlinuz
cp /boot/vmlinuz-2.6.32-431.el6.x86_64 /netboot/tftpboot
4. 创建用于系统启动 镜像文件initrd.img(先执行命令 uname -r 查看内核版本,如:2.6.32-431.el6.x86_64)
dracut initrd-2.6.32-431.el6.x86_64.img 2.6.32-431.el6.x86_64
chmod 644 initrd-2.6.32-431.el6.x86_64.img
mv initrd-2.6.32-431.el6.x86_64.img /netboot/tftpboot
5. 在/netboot/tftpboot/pxelinux.cfg/目录下创建默认的PXE引导配置文件"default"
vi /netboot/tftpboot/pxelinux.cfg/default
# prompt 0 表示工作站立即启动,1 表示工作站等待选择
# kernel 指定内核文件
# append 后面的加下划线的是一行内容,不能换行!!!
# append 附加参数值解释说明:
# initrd= 指定用于引导的initrd 镜像文件
# root= 指定工作站系统的nfs 路径(注意:“系统服务器B”设置成192.168.8.9)
# selinux= 设置selinux 开关,0 表示关闭,1 表示开启,默认为1
# rw 设置工作站系统为可读写
# nomodeset 这个参数是配合后面的vga=参数一起使用,设置分辨率
# vga= 这个参数值是设置分辨率,0x 表示十六进制,0314 表示800*600 16 位色;若无特殊需求,建议删除这2个参数
# 文件内容如下:
default auto
label auto
prompt 0
kernel vmlinuz-2.6.32-431.el6.x86_64
append initrd=initrd-2.6.32-431.el6.x86_64.img root=nfs:192.168.56.150:/netboot/centos selinux=0 ip=dhcp rw nomodeset vga=0x0314
6. 在/netboot/tftpboot目录下应该有下列几个文件/目录:
initrd-2.6.32-431.el6.x86_64.img // 用于引导的initrd 镜像文件 (由第4 步创建)
pxelinux.0 // PXE 引导文件 (由第2 步创建)
pxelinux.cfg/default // 默认的引导配置文件 (由第5 步创建)
vmlinuz-2.6.32-431.el6.x86_64 // 用于引导的内核文件 (由第3 步创建)
7. 编辑配置文件/etc/dhcp/dhcpd.conf :因前面已经配置好dhcpp.conf无需修改(根据IP地址池可以自行修改)
8. 编辑配置/etc/xinetd.d/tftp:前面有配置,但现在所使用的无盘路径和之前配置的有所不同,故需修改如下一项即可:
server_args = -s /netboot/tftpboot
1. 安装NFS服务软件包
nfs-utils-1.2.3-39.el6.x86_64.rpm // 共享发布工作站系统
rpcbind-0.2.0-11.el6.x86_64 // 为NFS 服务的依赖程序
2. 编辑配置文件/etc/exports,添加如下内容:
/netboot/centos 192.168.56.0/24(rw,async,no_root_squash)
所有配置都已完成了,最后检查下DHCP、TFTP、NFS服务是否都已启动
service dhcpd restart
service xinetd restart
service nfs restart (如报错则执行一下service rpcbind restart)
netstat –ntpl查看rpcbind rpc.mountd 端口是否启动
注意:
NFS挂载无盘对应的配置文件/etc/xinetd.d/tftp内容路径为:server_args = -s /netboot/tftpboot
Kickstart自动安装到硬盘对应的配置文件/etc/xinetd.d/tftp内容路径为:server_args = -s /tftpboot
节点服务器启动顺序设置为PXE网络启动:
1.单节点服务器的eth0口网线连接管理服务器的eth0口
2.多节点服务器批量安装需配置交换机IP 192.168.56.x . 节点服务器和管理服务器eth0口连接交换机lan口节点服务器开机即可自动进入挂载无盘
无盘在节点设备上启动成功实例如图: