网上众多文章,但是自己搭建起来却很少又能用的。
总结下自己的
原理+单系统的实验
这里说明下,最好使用kickstart工具来生成ks.cfg文件(网上参数实在太多,不同系统还要不同的参数)
实验
系统:CentOS Linux release 7.2.1511 (Core)
内核:3.10.0-327.el7.x86_64
准备工作:关闭 防火墙 和 SELINUX
IP:192.168.10.17
yum -y install dhcp
cp -f /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf(根据自己dhcp的版本来,不一定是4.1版本的)
vim /etc/xinetd.d/tftp
disable=no#将yes修改no
vi /etc/dhcp/dhcpd.conf
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.200;
option domain-name-servers pxeserver;
option domain-name "1.1.1.1";
option routers 192.168.10.1;
option broadcast-address 192.168.10.255;
next-server 192.168.10.17;
filename "pxelinux.0";
default-lease-time 60000;
max-lease-time 720000;
}
systemctl enable dhcpd
systemctl start dhcpd
yum -y install nfs*
vim /etc/exports
/rhel6 192.168.10.0/24(rw,sync)
/rhel7 192.168.10.0/24(rw,sync)
mkdir /rhel6 /rhel7
虚拟机添加一个光驱(一定点击连接cd-rom设备目录下应该有sr0和sr1两个光驱文件,sr0连接6系统iso sr1连接7系统iso)
[root@pxeserver ~]# df -h(这里我先连接了,所以umount掉)
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 14G 4.5G 75% /
devtmpfs 475M 0 475M 0% /dev
tmpfs 489M 156K 489M 1% /dev/shm
tmpfs 489M 14M 476M 3% /run
tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda1 297M 145M 153M 49% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sr1 4.1G 4.1G 0 100% /mnt
tmpfs 98M 12K 98M 1% /run/user/1000
/dev/sr0 4.2G 4.2G 0 100% /run/media/ding/CentOS_6.5_Final
[root@pxeserver ~]# umount /run/media/ding/CentOS_6.5_Final/
[root@pxeserver ~]# umount /mnt/
mount /dev/sr0 /mnt/6
mount /dev/sr1 /mnt/7
cp -a /mnt/6/* /rhel6
cp -a /mnt/7/* /rhel7
vim /etc/exports
/dev/sr0 4.2G 4.2G 0 100% /rhel6
/dev/sr1 4.1G 4.1G 0 100% /rhel7
systemctl restart nfs-server.service
systemctl enable nfs-server.service
yum -y install tftp-server tftp xinetd
systemctl restart xinetd.service
systemctl restart tftp.service(7里面是tftp)
systemctl enable xinetd.service
systemctl enable tftp.service
yum -y install syslinux-tftpboot
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /rhel6/isolinux/initrd.img /var/lib/tftpboot/Cent6/
cp /rhel6/isolinux/vmlinuz /var/lib/tftpboot/Cent6/
cp /rhel7/isolinux/initrd.img /var/lib/tftpboot/Cent7/
cp /rhel7/isolinux/vmlinuz /var/lib/tftpboot/Cent7/
mkdir /var/lin/tftpboot/pxelinux.cfg
cp /rhel6/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
cp /rhel6/isolinux/* /var/lib/tftpboot/
vim /var/lib/tftpboot/pxelinux.cfg/default
default vesamenu.c32
#prompt 1
timeout 600
display boot.msg
menu background splash.jpg
menu title Welcome to CentOS ! (把6.5删去)
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
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img
label vesa
menu label Install system with ^basic video driver
kernel vmlinuz
append initrd=initrd.img xdriver=vesa nomodeset
label rescue
menu label ^Rescue installed system
kernel vmlinuz
append initrd=initrd.img rescue
label local
menu label Boot from ^local drive
localboot 0xffff
label memtest86
menu label ^Memory test
kernel memtest
append -
label 7
kernel Cent7/vmlinuz
append initrd=Cent7/initrd.img inst.ks=nfs:192.168.10.17:/rhel7/ks.cfg
label 6
kernel Cent6/vmlinuz
append initrd=Cent6/initrd.img ks=nfs:192.168.10.17:/rhel6/ks.cfg
vim /rhel6/ks.cfg
#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade 指明是安装系统还是升级系统
install
# Use network installation 使用网络安装系统,指明包安装路径
nfs --server=192.168.10.17 --dir=/rhel6
# Root password 设定root密码
rootpw --iscrypted $1$YQ5HiIDI$A82NuasWauRzCl8GWkqn10(这个是加密后的散列值字符,这里我是从/root/anaconda-ks.cfg提取出来用的,下面也会讲下怎么生成自己想要的密码)
# System authorization information 密钥加密算法启用shadow文件
auth --useshadow --passalgo=sha512
# Use text mode install 使用文本模式或者图形模式安装系统
text
# System keyboard 键盘设定
keyboard us
# System language 语言设定
lang en_US
# SELinux configuration selinux是否关闭
selinux --disabled
# Do not configure the X Window System 是否安装图形界面
skipx
# Installation logging level 日志级别
logging --level=info
# Reboot after installation 声明安装完成后重启系统
reboot
# System timezone 设置时区(可以改成亚洲上海)
timezone Africa/Abidjan
# System bootloader configuration 设定BootLoader
bootloader --location=mbr
# Clear the Master Boot Record 清除mbr记录
zerombr
# Partition clearing information 清除全部分区
clearpart --all --initlabel
# Disk partitioning information 分区设定
part /boot --fstype="ext4" --size=200
part / --fstype="ext4" --size=16000
part swap --fstype="swap" --grow --size=2048
%packages 安装的包设定(这里仅仅最小化安装)
@core
vim /rhel7/ks.cfg
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use FTP installation media
nfs --server=192.168.10.17 --dir=/rhel7
# Root password
rootpw --iscrypted $1$YQ5HiIDI$A82NuasWauRzCl8GWkqn10
# System authorization information
auth useshadow passalgo=sha512
# Use graphical install
graphical
firstboot disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux disabled
# Installation logging level
logging level=info
# System timezone
timezone Europe/Amsterdam
# System bootloader configuration
# Reboot afer installing
reboot ##一定要有此 选项否则操作系统安装完后不会自动重启。
######
bootloader location=mbr
clearpart --all --initlabel
part swap --asprimary --fstype="swap" --size=1024
part /boot --fstype xfs --size=300
part pv.01 --size=1 --grow
volgroup root_vg01 pv.01
logvol / --fstype xfs --name=lv_01 --vgname=root_vg01 --size=1 --grow
%packages ###要安装的包
@^minimal
@core
acpid
iputils
man
net-tools
ntp
ntpdate
parted
vim-enhanced
wget
%end ###以%end结尾
#%addon com_redhat_kdump --disable --reserve-mb='auto'
#%end
%post #--nochroot --log=/mnt/sysimage/var/log/ks.post01.log
mkdir /root/test
%end
*(7也是最小化安装)
*(修改rootpw的方法
[root@pxeserver rhel6]# perl -e 'print crypt("1234abcdefg",q($1$password)),"\n"'
$1$password$kMAjDeCG9NGsvGpYFaqE21 1234abcdefg就是密码
)
yum -y install system-config-kickstgart
system-config-kickstart #图形化配置应答文件
也可以使用我下面生成的一键安装应答文件,rhel7.0里面没有图像化的安装包选择可以到/root/anaconda-ks.cfg里面
进行拷贝安装图形化的命令到你自己手动创建的ks.cfg文件末行并保存,也可以直接编写,这里直接编写。
将本机机器改成vmnet2,其他要通过17服务器安装的机器也选择vmnet2
第一次启动选择从网络启动
安装完毕后选择从硬盘启动
有问题留言区,共同解决。。