Chinaunix首页 | 论坛 | 博客
  • 博客访问: 17139
  • 博文数量: 6
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 57
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-10 16:38
文章分类

全部博文(6)

文章存档

2014年(5)

2013年(1)

我的朋友

分类: LINUX

2014-11-20 10:33:29

dhcp+tftp+vsftp+pxe

1. 安装dhcp服务(获取ip网络)
2. 安装tftp服务(提供引导资源)
3. 解包syslinux(提供pxe菜单项目文件)
4. 安装vsftpd服务 
5. 挂载镜像到vsftpd共享目录(提供系统安装文件)
6. 编写kickstart脚本到vsftpd共享目录(实现自动安装)


安装tftp服务(借助于xinetd启动)
[root@wch ~]# yum install tftp-server
设置tftp随xinetd启动(将disable设置为"no")
[root@wch ~]# vim /etc/xinetd.d/tftp
            disable = no                                                                                                                                                                                                            

安装dhcp服务
[root@wch ~]# yum install dhcp
复制模板配置文件
[root@wch ~]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
[root@wch ~]# vim /etc/dhcp/dhcpd.conf
修改项                                                                                                                                                                                                                                    
option domain-name "wch.com";                                                                                                                                                                                       
option domain-name-servers 8.8.8.8;                 #设置域名解析服务                                                                                                                                  
添加项                                                                                                                                                                                                                                    
subnet 192.168.168.0 netmask 255.255.255.0 {                                                                                                                                                                   
        allow booting;                                                                                                                                                                                                              
        allow bootp;                                                                                                                                                                                                                 
        range dynamic-bootp 192.168.168.150 192.168.168.200;              #分配地址范围                                                                                                     
        option broadcast-address 192.168.168.45                                                                                                                                                                  
        option routers 192.168.168.2;                       #设置网关                                                                                                                                               
        filename "pxelinux.0";                                                                                                                                                                                                  
}                                                                                                                                                                                                                                             

安装syslinux引导加载程序
[root@wch ~]# wget 
[root@wch ~]# tar zxf syslinux-6.02.tar.gz
复制dhcpd.conf中指定的"pxelinux.0"文件到tftp共享服务目录下
[root@wch ~]# find syslinux-6.02/ -name "pxelinux.0" -exec cp {} /var/lib/tftpboot/ \;
复制syslinux菜单项到tftp共享服务目录下
[root@wch ~]# cp syslinux-6.02/bios/com32/menu/menu.c32 /var/lib/tftpboot/
[root@wch ~]# cp syslinux-6.02/bios/com32/menu/vesamenu.c32 /var/lib/tftpboot/

[root@wch ~]# cp syslinux-6.02/bios/com32/cmenu/libmenu/libmenu.c32 /var/lib/tftpboot/
[root@wch ~]# cp syslinux-6.02/bios/com32/libutil/libutil.c32 /var/lib/tftpboot/
[root@wch ~]# cp syslinux-6.02/bios/com32/lib/libcom32.c32 /var/lib/tftpboot/
[root@wch ~]# cp syslinux-6.02/bios/com32/elflink/ldlinux/ldlinux.c32 /var/lib/tftpboot/

安装vsftpd服务
[root@wch ~]# yum install vsftpd
[root@wch ~]# mkdir /var/ftp/pub/rhel
[root@wch ~]# mkdir /var/ftp/pub/centos
[root@wch ~]# mkdir /var/ftp/pub/winserver
将镜像挂载到vsftp服务共享目录下
[root@wch ~]# mount centos-6.2-x86_64.iso /var/ftp/pub/centos/ -o loop
[root@wch ~]# mount rhel-6.0-x86_64.iso /var/ftp/pub/rhel/ -o loop
[root@wch ~]# mount win2008R2.iso /var/ftp/pub/winserver/ -o loop

复制系统的安装引导文件"initrd.img","vmlinuz"到tftp服务共享目录下
[root@wch ~]# mkdir /var/lib/tftpboot/centos 
[root@wch ~]# mkdir /var/lib/tftpboot/rhel
[root@wch ~]# mkdir /var/lib/tftpboot/winserver

[root@wch ~]# cp /var/ftp/pub/centos/images/pxeboot/initrd.img /var/lib/tftpboot/centos/
[root@wch ~]# cp /var/ftp/pub/centos/images/pxeboot/vmlinuz /var/lib/tftpboot/centos/
[root@wch ~]# cp /var/ftp/pub/rhel/images/pxeboot/initrd.img /var/lib/tftpboot/rhel/
[root@wch ~]# cp /var/ftp/pub/rhel/images/pxeboot/vmlinuz /var/lib/tftpboot/rhel/

菜单页面背景(像素:640x480)
[root@wch ~]# mv ap.jpg /var/lib/tftpboot/

[root@wch ~]# vim /var/lib/tftpboot/pxelinux.cfg/defualt
UI vesamenu.c32                                                                                                      
TIMEOUT 600                                                                                                           
MENU BACKGROUND ap.jpg                                                                                  
MENU TITL this is wch pxe install test!                                                                    
label centos                                                                                                              
        menu defualt                                                                                                    
        menu label install a new cenos6.2 system                                                      
        kernel centos/vmlinuz                                                                                      
        append initrd=centos/initrd.img  ks=ftp://192.168.168.250/pub/centos.cfg
label rhel                                                                                                                    
        menu label install a new redhat6.0 system                                                      
        kernel rhel/vmlinuz                                                                                           
        append initrd=rhel/initrd.img  ks=ftp://192.168.168.250/pub/rhel.cfg         
                                     

对特定机子通过MAC地址绑定指定不同的菜单页面
例:mac地址为00:0c:29:62:e2:70
[root@wch pxelinux.cfg]# cp default 01-00-0c-29-62-e2-70     (特别注意:要在mac地址前以"01"开头,并且mac地址的链接符都改成"-"
修改“01-00-0c-29-62-e2-70”文件配置,该机子就会读入到此菜单

kickstart自动化脚本文件
[root@wch ~]# vim /var/ftp/pub/centos.cfg
#platform=x86, AMD64, or Intel EM64T                                                                                                                                                                              
#version=DEVEL                                                                                                                                                                                                                   
# Firewall configuration                                                                                                                                                                                                      
firewall --disabled                                                                                                                                                                                                               
# Install OS instead of upgrade                                                                                                                                                                                         
install                                                                                                                                                                                                                                   
# Use network installation                                                                                                                                                                                                  
url --url="ftp://192.168.168.250/pub/centos/"                                                                                                                                                                  
# Root password                                                                                                                                                                                                                 
rootpw --iscrypted $1$6VdFpf9D$bkU4Zx0awWmSupS.RKPfO1           #如果不使用加密就直接跟密码:“rootpw  password”                                   
# 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 --enforcing                                                                                                                                                                                                               
# Installation logging level                                                                                                                                                                                                  
logging --level=info                                                                                                                                                                                                             
# Reboot after installation                                                                                                                                                                                                   
reboot                                                                                                                                                                                                                                  
# System timezone                                                                                                                                                                                                               
timezone --isUtc Asia/Shanghai                                                                                                                                                                                        
# Network information                                                                                                                                                                                                       
network --bootproto=dhcp --device=eth0 --onboot=on                                                                                                                                               
# System bootloader configuration                                                                                                                                                                                   
bootloader --location=mbr                                                                                                                                                                                               
# Clear the Master Boot Record                                                                                                                                                                                        
zerombr                                                                                                                                                                                                                               
# Partition clearing information                                                                                                                                                                                       
clearpart --all --initlabel                        #初始化磁盘                                                                                                                                                        
# Disk partitioning information                                                                                                                                                                                        
part / --fstype="ext4" --size=70000               #分区部分                                                                                                                                                   
part swap --fstype="swap" --size=2048                                                                                                                                                                            
%packages                                                                                                                                                                                                                          
@base                                                                                                                                                                                                                                  
@network-file-system-client                                                                                                                                                                                              
%end                                                                                                                                                                                                                                    

通过“system-config-kickstart”工具创建kickstart自动脚本

安装桌面
[root@wch ~]# yum groupinstall "X Window System" "KDE Desktop"

安装编译kickstart脚本工具
[root@wch ~]# yum install system-config-kickstart.noarch

[root@wch ~]# system-config-kickstart        (要在图形界面下运行)
......过程略

###欢迎各位提出宝贵意见,并提出错误,以便及时更改###
阅读(644) | 评论(0) | 转发(0) |
0

上一篇:mongod 参数

下一篇:没有了

给主人留下些什么吧!~~