使用TFTP、DHCP、NFS,网络PEX批量部署Linux

[root@ ~]# yum install tftp-server -y 安装tftp服务 安装完启动

[root@ mnt]# vi /etc/xinetd.d/tftp 修改tfpt配置
 service tftp
{
        disable = no
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -u nobody -s /tftpboot
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
 
 
[root@ ~]# netstat -tunlp |grep 69 确保69端口打开状态
 
[root@ ~]# yum install dhcp -y 安装dhcp服务(安装过程出错,卸载dhclient安装成功)
 
[root@ ~]# vi /etc/dhcp/dhcpd.conf 修改dhcp配置文件
 
 option domain-name "cnnb.com";
 option domain-name-server 220.189.220.67;
 filename "pxelinux.0";
 net-server 192.168.0.241;
 default-lease-time 600;
 max-lease-time 7200;
 
 subnet 192.168.0.0 netmask 255.255.255.0{
  range 192.168.0.242 192.168.0.243;
  option broadcast-address 192.168.0.0;
}
 
 
 
[root@ mnt]# mkdir -p /tftpboot 创建dhcp服务指定目录
[root@ tftpboot]# cd /tftpboot/ 进入目录
[root@localhost tftpboot]# yum install syslinux -y
[root@ tftpboot]# cp /usr/share/syslinux/pxelinux.0  ./ 复制pxelinux.0配置文件到/tftpboot
 
 
[root@ tftpboot]# mount -t iso9660 /dev/cdrom /mnt/cdrom/ 挂载CentOS系统镜像
[root@localhost tftpboot]# cp /mnt/cdrom/isolinux/vmlinuz ./
[root@localhost tftpboot]# cp /mnt/cdrom/isolinux/initrd.img  ./
[root@ tftpboot]# mkdir -p pxelinux.cfg 创建PXE服务的配置文件夹
[root@ tftpboot]# cp /mnt/cdrom/isolinux//isolinux.cfg pxelinux.cfg/default 复制ISO镜像中的isolinux.cfg 并重命名为default
[root@ tftpboot]# vi pxelinux.cfg/default  配置默认的配置
 default linux
 #prompt 1
 timeout 10
 
 display boot.msg
 
 menu background splash.jpg
 menu title Welcome to CentOS 6.0!
 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
 
 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.0.241:/centosinstall/ks.cfg  ksdevice=eth0 initrd=initrd.img
 
 
 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
 
 配置好后重启tftp
 
[root@ tftpboot]# mkdir -p /centosinstall 创建NFS的ISO镜像目录
[root@ tftpboot]# cp -rf /mnt/cdrom/* /centosinstall/ 复制镜像中的文件到/centosinstall/
 
[root@ mnt]# vi /etc/exports 设置共享
 /centosinstall *(rw,sync)
 
[root@ mnt]# cd /centosinstall/ 进入/centosinstall/文件夹
[root@ centosinstall]# vi ks.cfg 创建ks.cfg配置文件
 #ckstart file automatically generated by anaconda.
 install
 text
 nfs --server=192.168.0.241 --dir=/centosinstall
 key --skip
 lang en_US.UTF-8
 keyboard us
 network --device eth0 --bootproto=dhcp --noipv6
 rootpw 87688768
 firewall --disabled
 authconfig --enableshadow --enablemd5
 selinux --disabled
 timezone Asia/Shanghai
 bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
 # 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 --all --initlabel
 part /boot --fstype ext4 --size=100
 part swap --size=8196
 part / --fstype ext4 --size=100 --grow
 
[root@ centosinstall]# chmod 777 ks.cfg  将ks.cfg文件权限设置为777
 
service    xinetd  restart  &&  service nfs restart  && service  dhcpd restart 重启所有相关服务

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/22054.html