vm下pxe+dhcp+tftp+kickstart全自动网络安装系统
经过一周的研究,终于知道了怎么来网络安装linux系统了.也许你会对此不屑一顾,但没有安装过才不知道这个的麻烦,好了,来看教程吧.
系统:centos 5.5
ip:192.168.1.155 用来搭建环境
另外一台用dhcp自动获取IP
1.配置前准备
yum -y install tftp* dhcp* nfs* syslinux
2.配置tftp
vi /etc/xinetd.d/tftp
我们只需要修改
server_args = -u nobody -s /tftpboot
disable = no
这两项就可以了,先不用启动起来
3.配置dhcp
cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
vi /etc/dhcpd.conf
ddns-update-style interim; ##dhcp支持的dns动态更新方式
ignore client-updates; ##忽略客户端DNS动态更新
authoritative; ##授权 这个我没有加
allow booting; ##支持PXE启动
allow bootp; ##支持boottp
subnet 192.168.1.0 netmask 255.255.255.0 ##作用域
option routers ##网关地址
range dynamic-bootp 192.168.1.10 192.168.1.20 ##分配给客户端的IP地址范围
default-lease-time 21600 ##租期,以秒为单位
max-lease-time 43200 ##最大租期,以秒为单位
next-server 192.168.1.155 ##TFTPServer的IP
filename "/pxelinux.0" ##
3.配置pxe
mount /dev/cdrom /media/
mkdir /tftpboot ##如果已经有文件夹了,就不用创建
cp /usr/lib/syslinux/pxelinux.0 /tftpboot ##这就是为什么要装syslinux的原因,不装的话,找不到/usr/lib/syslinux目录
cp /media/images/pxeboot/{vmlinuz,initrd.img} /tftpboot/
mkdir /tftpboot/pxelinux.cfg
cp /media/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
vi /tftpboot/pxelinux.cfg/default
chmod 777 /tftpboot/pxelinux.cfg/default
4.配置nfs
mkdir /osinstall
cp -fr /media/* /osinstall/
echo "/osinstall *(rw,sync)" >> /etc/exports
service nfs start
service nfslock start
5.配置kickstart
vi /osinstall/ks.cfg
#使用文本方式安装
text
# 使用NFS服务器安装
nfs --server=192.168.1.155 --dir=/osinstall
# 英文语言
lang en_US
# 美国英语键盘
keyboard us
# 网卡配置为DHCP并禁止ipv6
network --device eth0 --bootproto=dhcp --noipv6
# root 密码
rootpw --iscrypted $1$xF.t618z$mf7KoqRu5htkuiywjfEJF/
安装后重新引导系统
reboot
# 开启防火墙并允许SSH端口
firewall --enabled --port=22:tcp
# 使用屏蔽口令和使用MD5
authconfig --enableshadow --enablemd5
# 关闭selinux
selinux --disabled
# 系统时区
timezone Asia/Chongqing
# 在主引导记录(MBR)上安装引导装载程序
bootloader --location=mbr --driveorder=sda
# 删除所有分区
clearpart --all --drives=sda --initlabel
# 分区
part /boot --fstype ext3 --size=100 --ondisk=sda
part pv.2 --size=0 --grow --ondisk=sda
volgroup VolGroup00 --pesize=32768 pv.2
logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=512 --grow --maxsize=1024
logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
# 最小化安装(所有安装包不选)
%packages --nobase
因为我这里是虚拟机,并且环境都一样,可以拷贝/root/anaconda-ks.cfg下的来进行修改.
6.重启服务
service iptables stop
先停止防火墙,或者去根据服务一个一开放端口,因为目前是测试,所以我直接停止的防火墙,然后再新建个虚拟机,这里不要选iso镜像了哦,我们要网络全自动安装,做完之后,走开会再回来就可以看到已经安装好了.
参考资料:
http://fallenleaves.blog.51cto.com/1383716/590869
http://www.xtgly.com/2011/07/23/xen%E4%B9%8Bdhcpnfstftppxekickstart%E5%85%A8%E8%87%AA%E5%8A%A8%E7%BD%91%E7%BB%9C%E5%AE%89%E8%A3%85linux.htm
系统:centos 5.5
ip:192.168.1.155 用来搭建环境
另外一台用dhcp自动获取IP
1.配置前准备
yum -y install tftp* dhcp* nfs* syslinux
2.配置tftp
vi /etc/xinetd.d/tftp
我们只需要修改
server_args = -u nobody -s /tftpboot
disable = no
这两项就可以了,先不用启动起来
3.配置dhcp
cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
vi /etc/dhcpd.conf
ddns-update-style interim; ignore client-updates; allow booting; allow bootp; subnet 192.168.1.0 netmask 255.255.255.0 { # --- default gateway option routers 192.168.1.1; option subnet-mask 255.255.255.0; # option nis-domain "domain.org"; # option domain-name "domain.org"; option domain-name-servers 192.168.1.155; option time-offset -18000; # Eastern Standard Time # option ntp-servers 192.168.1.1; # option netbios-name-servers 192.168.1.1; # --- Selects point-to-point node (default is hybrid). Don't change this unless # -- you understand Netbios very well # option netbios-node-type 2; range dynamic-bootp 192.168.1.10 192.168.1.20; default-lease-time 21600; max-lease-time 43200; next-server 192.168.1.155; filename "pxelinux.0"; # we want the nameserver to appear at a fixed address # host ns { # next-server marvin.redhat.com; # hardware ethernet 12:34:56:78:AB:CD; # fixed-address 207.175.42.254; # } }
ddns-update-style interim; ##dhcp支持的dns动态更新方式
ignore client-updates; ##忽略客户端DNS动态更新
authoritative; ##授权 这个我没有加
allow booting; ##支持PXE启动
allow bootp; ##支持boottp
subnet 192.168.1.0 netmask 255.255.255.0 ##作用域
option routers ##网关地址
range dynamic-bootp 192.168.1.10 192.168.1.20 ##分配给客户端的IP地址范围
default-lease-time 21600 ##租期,以秒为单位
max-lease-time 43200 ##最大租期,以秒为单位
next-server 192.168.1.155 ##TFTPServer的IP
filename "/pxelinux.0" ##
3.配置pxe
mount /dev/cdrom /media/
mkdir /tftpboot ##如果已经有文件夹了,就不用创建
cp /usr/lib/syslinux/pxelinux.0 /tftpboot ##这就是为什么要装syslinux的原因,不装的话,找不到/usr/lib/syslinux目录
cp /media/images/pxeboot/{vmlinuz,initrd.img} /tftpboot/
mkdir /tftpboot/pxelinux.cfg
cp /media/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
vi /tftpboot/pxelinux.cfg/default
default linux prompt 1 timeout 10 display boot.msg F1 boot.msg F2 options.msg F3 general.msg F4 param.msg F5 rescue.msg label linux kernel vmlinuz append ks=nfs:192.168.1.155:/osinstall/ks.cfg ksdevice=eth0 initrd=initrd.img #append initrd=initrd.img label text kernel vmlinuz append initrd=initrd.img text label ks kernel vmlinuz append ks initrd=initrd.img label local localboot 1 label memtest86 kernel memtest append -
chmod 777 /tftpboot/pxelinux.cfg/default
4.配置nfs
mkdir /osinstall
cp -fr /media/* /osinstall/
echo "/osinstall *(rw,sync)" >> /etc/exports
service nfs start
service nfslock start
5.配置kickstart
vi /osinstall/ks.cfg
# Kickstart file automatically generated by anaconda. text nfs --server=192.168.1.155 --dir=/osinstall lang en_US.UTF-8 keyboard us network --device eth0 --bootproto=dhcp --noipv6 #network --device eth0 --bootproto static --ip 192.168.10.6 --netmask 255.255.255.0 --gateway 192.168.10.2 --nameserver 8.8.8.8,61.139.2.69 --hostname slave rootpw --iscrypted $1$xF.t618z$mf7KoqRu5htkuiywjfEJF/ reboot firewall --enabled --port=22:tcp authconfig --enableshadow --enablemd5 selinux --disabled timezone --utc Asia/Chongqing bootloader --location=mbr --driveorder=sda # The following is the partition information you requested # Note that any partitions you deleted are not expressed # here so unless you clear all partitions first, this is # not guaranteed to work #clearpart --linux --drives=sda #autopart clearpart --all --drives=sda --initlabel part /boot --fstype ext3 --size=100 --ondisk=sda part pv.2 --size=0 --grow --ondisk=sda volgroup VolGroup00 --pesize=32768 pv.2 logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=512 --grow --maxsize=1024 logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow %packages --nobase
#使用文本方式安装
text
# 使用NFS服务器安装
nfs --server=192.168.1.155 --dir=/osinstall
# 英文语言
lang en_US
# 美国英语键盘
keyboard us
# 网卡配置为DHCP并禁止ipv6
network --device eth0 --bootproto=dhcp --noipv6
# root 密码
rootpw --iscrypted $1$xF.t618z$mf7KoqRu5htkuiywjfEJF/
安装后重新引导系统
reboot
# 开启防火墙并允许SSH端口
firewall --enabled --port=22:tcp
# 使用屏蔽口令和使用MD5
authconfig --enableshadow --enablemd5
# 关闭selinux
selinux --disabled
# 系统时区
timezone Asia/Chongqing
# 在主引导记录(MBR)上安装引导装载程序
bootloader --location=mbr --driveorder=sda
# 删除所有分区
clearpart --all --drives=sda --initlabel
# 分区
part /boot --fstype ext3 --size=100 --ondisk=sda
part pv.2 --size=0 --grow --ondisk=sda
volgroup VolGroup00 --pesize=32768 pv.2
logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=512 --grow --maxsize=1024
logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
# 最小化安装(所有安装包不选)
%packages --nobase
因为我这里是虚拟机,并且环境都一样,可以拷贝/root/anaconda-ks.cfg下的来进行修改.
6.重启服务
service dhcpd restart service netfs restart service portmap restart service nfs restart service nfslock restart service xinetd restart7.验证
service iptables stop
先停止防火墙,或者去根据服务一个一开放端口,因为目前是测试,所以我直接停止的防火墙,然后再新建个虚拟机,这里不要选iso镜像了哦,我们要网络全自动安装,做完之后,走开会再回来就可以看到已经安装好了.
参考资料:
http://fallenleaves.blog.51cto.com/1383716/590869
http://www.xtgly.com/2011/07/23/xen%E4%B9%8Bdhcpnfstftppxekickstart%E5%85%A8%E8%87%AA%E5%8A%A8%E7%BD%91%E7%BB%9C%E5%AE%89%E8%A3%85linux.htm
附件下载:
我的pxe配置文件.rar 1.7KB
评论: