dhcp服务器是pxe自动化安装的必要条件,因此先搞定dhcp服务器,yum -y install dhcp,  rpm -ql dhcp查看安装了哪些包,less /etc/dhcp/dhcpd.conf  打开dhcp的主配置文件,如下图:

没有任何配置,但提示了去哪找主配置文件,cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf  覆盖

主配置文件,vim /etc/dhcp/dhcpd.conf 再次打开,default-lease-time 600; (默认租约时长)这个参数为600秒感觉短了一点,

改为3600。为了避免其他参数的干扰,把鼠标移动到29行,然后执行:.,$s@^[^#]@#&@命令(把当前行到最后一行以非#开头的

非空白行在行首加上#),接下来在subnet中定义要分配的网段,定义如下图所示:

保存退出! service dhcpd start 启动服务  ss -unl  查看67号服务器端口是否监听。

把网卡配置为172.16.0.199/16 的地址,作为客户端的默认网关。

启动另外一台客户端,使用dhclient -d命令 查看如何获取地址如图:

这样一台dhcp服务器就启动起来了,给客户端分配了172.16.100.29地址。

但有时我们需要固定分配一地址给某台客户端,vim /etc/dhcp/dhcpd.conf  如图:

添加一段配置,只需把该客户端的物理网卡地址写上就可以。

看下面这图:

多添加了filename,和next-server两个参数,filename表示告诉客户端获取了地址之后,去加载pxelinux.0文件,去哪加载,next-

server中指定的地址,此处为172.16.100.13。pxelinux.0是基于网卡引导时要加载的initial boot file 的文件名。而filename处指

定的文件必须放在tftp-server上。

第二个必要条件,另外启动一台虚拟机,搞定tftp-server,yum -y install tftp-server,  yum -y install syslinux。

syslinux 是一堆引导加载器,pxe 网络引导需要用到它。在/usr/share/syslinux/目录下就有pxelinux.0文件。

tftp-server是由xinetd这个超级守护进程管理的。因此vim /etc/xinetd.d/tftp  把disable=yes 改为 no, service xinetd restart。

ss -unl  查看是否69号端口已监听。

tftp服务器默认文件存储路径为/var/lib/tftpboot目录下。 cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

放入光盘挂载光盘,mkdir /media/cdrom  mount -r /dev/cdrom /media/cdrom 还得创建一个yum仓库放置光盘里面的文件,

我把它放在httpd上。安装httpd服务器,yum -y installl httpd,   mkdir /var/www/html/centos6 创建目录硬链接  mount --

bind /media/cdrom /var/www/html/centos6    ls /var/www/html/centos6 如图:

制作一个kickstart文件来定制如何安装系统,yum -y install system-config-kickstart,  system-config-kickstart 如图:

为了方便下面几项无需去配置。 可以使用ksvalidator命令检查是否有语法错误 ksvalidator centos6.cfg。 cp /root/centos6.cfg /var/www/html/

service httpd start

接下来复制几个必要的文件:cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img}  /var/lib/tftpboot/

cp /media/cdrom/isolinux/{boot.msg,splash.jpg,vesamenu.c32} /var/lib/tftpboot/

mkdir /var/lib/tftpboot/pxelinux.cfg  cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

ls /var/lib/tftpboot 如图:

vim /var/lib/tftpboot/pxelinux.cfg/default

加上  ks=http://172.16.100.10/centos6.cfg

启动一台虚拟机从网卡引导:

把centos6.cfg文件中的#Use graphic install 下的graphic 两行改为 #Use text install text,引导就不需要你点next选项:

全搞定!!!

补充:initrd.img是一个小的映象,包含一个最小的linux系统

vmlinux是未压缩的内核,vmlinuz是vmlinux的压缩文件,“vm”代表 “Virtual Memory”。Linux 支持虚拟内存,能够使用硬盘空间

作为虚拟内存,因此得名“vm”

系统内核vmlinuz被加载到内存后开始提供底层支持,在内核的支持下各种模块,服务等被加载运行。这样当然是大家最容易接受的方

式,曾经的linux就是这样的运行的。假设你的硬盘是scsi 接口而你的内核又不支持这种接口时,你的内核就没有办法访问硬盘,当然

也没法加载硬盘上的文件系统,怎么办?把内核加入scsi驱动源码然后重新编译出一个新的内核文件替换原来vmlinuz

initrd.img文件就是个ram disk的映像文件,内核加载这个ram disk作为伪根文件系统并开始执行其中的"某个文件"(2.6内核是 init

文件)来加载各种模块,服务等(这个ram disk包含各种驱动,比如包含真正根文件系统所在磁盘的驱动)。经过一些配置和运行后,

就可以去物理磁盘加载真正的root分区了,然后又是一些配置等,最后启动成功。也就是你只需要定制适合自己的 initrd.img 文件就

可以了。这要比重编内核简单多了

配置pxe 自动化安装centos6.7的更多相关文章

  1. Linux PXE自动化安装centos6,centos7系统

    1.PXE是什么? pxe是Preboot Excution Environment的缩写,是intel公司研发,基于client/server的网络模式,支持远程主机通过网络从远端服务器下载镜,并由 ...

  2. PXE自动化安装CentOS6/7

    服务器为centos7 安装前准备:关闭防火墙和SELINUX 虚拟机准备第二块网卡,设置主机模式,关闭虚拟机网络配置中主机模式的DHCP功能,并设置静态IP nmcli c a con-name e ...

  3. 配置suse自动化安装

    配置suse自动化安装 作者:尹正杰   版权声明:原创作品,谢绝转载!否则将追究法律责任.       前言:不知道你习惯用那款虚拟器,我用的是VMware Workstation,别问我为什么,因 ...

  4. CentOS 6.5自动化运维之基于DHCP和TFTP服务的PXE自动化安装centos操作系统详解

    前言    如果要给很多台客户端主机安装操作系统,要是每一台都拿张安装光盘一台一台主机的去装系统那就太浪费时间和精力了.在生产环境中也不实际,要实现为多台主机自动安装操作系统,那我们怎么实现自动化安装 ...

  5. 使用Kickstart+pxe自动化安装部署无人值守的linux服务器

    Kickstart+pxe Kickstart无人职守安装RHEL5过程分享(详细图解版) 启动应用有:httpd.dhcpd.named.xinetd 无人职守自动批量安装linux系统超详细 参考 ...

  6. PXE自动化安装系统

    准备(以centos7为例) ①关闭防火墙 ②关闭selinux ③dhcp服务设置为静态IP ④安装软件包 http:充当yum源安装包仓库 tftp-server :在它的工作目录存在引导主机的工 ...

  7. Dnsmasq 配置PXE批量安装系统

    以下测试都是基于centos 7下的环境 需要安装的软件为 nginx 用来下载ks.cfg和系统镜像文件用的,也可以用ftp服务器来代替 dnsmasq 提供dhcp服务和tftp服务,也可以单独去 ...

  8. Pxe自动化安装

    Centos7环境 Systemctl stop firewalld Setenforce Yum本地源 cd /etc/yum.repos.d/ 进入/etc/yum.repos.d/ Ls 查看 ...

  9. kickstart自动化安装

    preboot execute environment预启动执行环境--intel开发的技术,计算机可以通过pxe协议从网络引导启动. 工作模式为客户端/服务器端的c/s模式 客户端从远端服务器下载镜 ...

随机推荐

  1. 使用Aspose.Words把 word转成图片

    Document doc = new Document("f:\\333.doc"); ImageSaveOptions iso = new ImageSaveOptions(Sa ...

  2. Aspose.Cells单元格转换为数字格式

    需要在两个地方设置 //Adding a numeric value to "A2" cell "; worksheet.Cells["A2"].Pu ...

  3. MongoDB相关资料收集

    MongoDB 入门教程http://www.runoob.com/mongodb/mongodb-tutorial.html .net 驱动程序下载:http://mongodb.github.io ...

  4. secureCRT如何远程桥接CentOS.

    1.将虚拟机的网络连接方式设置为桥接 2.关闭CentOS的防火墙,这里我是直接从页面上关闭的,没有使用命令 3.设置CentOS的ip为静态地址,不允许自动获取,这样远程连接不需要总修改地址.由于我 ...

  5. jQuery基础---filter()和find()

    这是jQuery里常用的2个方法.他们2者功能是完全不同的,而初学者往往会被误导. 首先 我们看.find()方法:现在有一个页面,里面HTML代码为;程序代码 <div class=" ...

  6. jdk集合常用方法分析之ArrayList&LinkedList&以及两者的对比分析

    集合使用注意事项: 1.集合当中只能放置对象的引用,无法放置原生数据类型,我们需要使用原生数据类型的包装类才能加入到集合当中去(JDK5之后会进行自动的装箱和拆箱操作,表面上看集合中是可以直接放置原生 ...

  7. cocos2d 3.0自定义事件答疑解惑

    疑惑一:在事件分发中修改订阅者 ,对于这个的理解. 事件的分发是可以嵌套的,cocos2dx使用_inDispatch来保存当前嵌套的深度,当调用第一个dispatchEvent的时候,_inDisp ...

  8. JNI_Android项目中调用.so动态库实现详解【转】

    转自 http://www.cnblogs.com/sevenyuan/p/4202759.html 1. 在Eclipse中创建项目:TestJNI 2. 新创建一个class:TestJNI.ja ...

  9. Missing artifact com.sun:tools:jar:1.5.0:system 补充

    转自:http://blog.csdn.net/sweblish/article/details/6662586 解决方案一: 原来,是${java.home}在作怪,eclipse 没有使用 JAV ...

  10. [工具] 如何利用Notepad++去除重复行

    问题: 需要去除重复数据, 例如: 解决方案: 1. 打开notepad++: 2. 如果没有找到"TextFx" 选项, 需要先安装该插件. 依次打开"插件" ...