centos的无人值守全自动安装

                              CentOS的无人值守安装[PXE]

实验环境:一台ftp服务器,并提供ks.cfg文件

         一台或若干台客户机

         VMware workstation 10

PXE简介:预启动执行环境)工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP或MTFTP协议下载一个启动软件包到本是机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。


我们知道在linux系统的安装过程,我们看到的交互式安装界面是anaconda安装程序提供的,而这款程序的

关键作用是产生ks.cfg文件,那么我们就将试着将PXE与ftp服务器接合器起来实现自动化安装,所以我们的第一步就是先在本地建成vsftpd服务器,

如图,安装vsftpd服务器,第一步挂载光盘并修改本地yum库的配置文件,将enable=1,意为启用本地yum源


wKioJlLEB0iTp4VGAABS-YA30G0696.jpg

wKioL1LFWh_R2S3FAAAwgMDEQzg973.jpg


再将暂时不用的网络yum配置文件先把他挪到一边去,比如新建一个old目录并把它挪进去



wKioOVLECK3hwS_iAAAwl38wUzU153.jpg



注意此时我们服务器的相关安全功能要把他关掉,比如,selinux功能,防火墙功能:

用setenforce把他设为0,然后用iptables -L 查看防火墙列表,如图

wKioOVLECIaSNBC4AABMEu4lVHw431.jpg


发现防火墙功能没有打开,那就可以先不用去设置他,接着安装:

wKioJlLECd-gSwkmAAA6wBKzbiY532.jpg

然后接着我们要做的就是用kickstart工具来产生ks.cfg文件,然后才能用于anoncond的安装使用,我们先搜索一下关于kickstart工具的安装信息,如图

wKioOVLECm7Q4Z0AAABP38uR-Zo122.jpg


发现有两个,而我们需要的就是关于系统配置的那个,然后把他安装,如图(noarch是一种那最为常见的二进制软件包文件后缀,可安装在任意平台)


wKiom1LFQdqB4gF_AAAdmAmZKSs187.jpg


相关提示,输入y


wKiom1LFQYTAO4_aAAAjPhb1Reo401.jpg

然后我们切换到ftp服务器所在的目录中去,发现有一个pub的目录,说明我们要把要用到的文件拷贝到他的同一级目录中去,即/var/ftp,如图


wKioOVLECiHDJPhDAAA0tE-btqA504.jpg

接着我们就要用到上面安装的kickstart了,(注意,因为kickstart需要图形界面的支持,所以使用xshell的同学应该先确认一下自己的xshell有没有该功能,建议使用Xmanager 4)

wKiom1LFQiGhzqnTAAA5C1eD44M367.jpg

耐心等待一会后,复制完成后我们就可以接着执行kickstart指令了,如图

wKiom1LFQknCKx-NAABKpz7ujJ4436.jpg



然后我们进行有关的选择,比如语言和键盘类型,然后时去改为asia/shanghai,然后在给出一个你自己的根口令,然后给口令加密那项也要选上,接着目标平台不用改,因为绝大多数pc都是这两种,然后再选择安装后重启,并选择下一项静默安装,注意,千万不能选交互安装,那样安装的步骤会很多,如图


wKiom1LFRG_j0jbYAAELMXEOJaI727.jpg

接着第二步,安装方法,选择执行新安装,然后选ftp服务器,之后输入你建立的服务器的ip地址和相关文件的存放目录,如图(我们的文件拷贝在根目录下),此时不必指定用户名和口令

wKiom1LFRYTyQ4yWAABlr0psESo523.jpg

然后接着第三项,我们选新安装一个启动加载项,然后给grub加上或不加口令,然后选在MBR上安装引导加载程序,再往下的内核参数中,我们选择静默模式,然后创建新分区,我们可以简单创建一下,如图创建一个/分区,给他20G,然后再建一个/boot引导分区,最后再建一个/wap交换分区

wKiom1LFRl6B_OCSAABp9rCM3S0787.jpg


wKiom1LFR5mR7-WQAACElGSnwvw042.jpg



wKiom1LFSdfye6aeAACAjtjJaOc121.jpg


(注意,交换分区不需挂载点,我们要直接在文件类型中选择交换,然后指定大小,如图

wKiom1LFS56x0EomAACAyL-7iK4423.jpg


然后可以看到所有的具体分区信息;

wKiom1LFTSOgVeGqAAA9jeiPyRs885.jpg

然后再网络设备中,我们要给系统加一块网卡,比如图中的命名为eth0,为了方便地址管理,类型选择为dhcp

wKiom1LFTYeissXqAAAus60rkho970.jpg

接下来验证,下面那一行我们还用不到,所以只需选择加密方式为屏蔽口令和本地MD5类型即可,如图:

wKiom1LFTfzTv7X3AABKBcztChg523.jpg




接下来安全,我们为了后续的方便把本地的防火墙禁用掉,把selinux也关闭,如图

wKiom1LFTj2Aj_e0AAAtJWDSNXI849.jpg



然后是显示的有关选项,这个可以看自己的喜好而定,但首次启用时的代理服务要禁用掉,并且要选择有桌面系统,gnome 或kde,如图:



wKiom1LFTmaxrL1bAAAkmBFSRYY032.jpg


再然后是软件包的选择,我们可以在列表中选择自己想要安装的软件包


wKiom1LFTpGR2CEVAADBPaKuG7Y893.jpg

接着我们要进行预安装脚本的安装和安装后的脚本,我们暂时还不需要,接下来进行文件的生成:



wKiom1LFTsHis-K1AABVcE9XA8M719.jpg


然后我们进入相关的路径,可以看到我们的生成的文件,如图;



wKiom1LFTu6xI6RHAABCTKCwm7Q160.jpg


用vim打开后会开到他的配置文件内容,上半部分是安装选项,后半部分是数据包选择,以%package开头以%end结尾,如图


wKiom1LFT2PhfAVKAAEUopythPk259.jpg



然后用yum安装vsftpd,

接着把ftp服务器打开,用service vsftpd restart,如图


wKiom1LFT7Kjrzn8AAAr9gUEg4E262.jpg


因为pxe环境用的是tftp所以我们还要安装tftp-server软件包和安装并配置dhcp服务器

wKiom1LFUDqyGhtwAABBZF2cv14082.jpg


并且看一下他的文件信息,如图


wKiom1LFUI3Rj2B5AAB6y2l4UdE405.jpg


然后编辑/etc/xinetd.d/tftp这个文件,从这个文件可以看出他是一个后台运行常驻内存的超级守护进程

wKiom1LFUPHz589SAAA5_FtaV1M202.jpg

将第十四行的disable选项改为no,启动这个超级守护进程


然后重新启动这个超级守护进程


wKiom1LFUUyR3LsmAAAedebFHts685.jpg


接着再把ks.cfg文件拷贝到ftp所在的目录下,并且可以看到文件类型和大小,如图


wKiom1LFUZzxoAOGAABVp1XsgT4438.jpg


配置ftp服务器,将ftp中放入启动所需要的各种文件,拷贝光盘镜像,内核文件,初始化内存文件到/var/lib/tftpboot目录下,内容如下




wKiom1LFUeWQKNw7AAAhx5nE-jw988.jpg


wKiom1LFUpKC29k4AACsMbIHb5A662.jpg

wKiom1LFUxzg1tL2AAA2UeVT9OY821.jpg


然后安装syslinux命令

wKiom1LFU4bSY87sAAA4kwTckGE115.jpg


进入他的/usr/share/syslinux文件中,可以看到在目录下有一个pxelinux.0的驱动文件(注意是0(零)不是o),需要把他拷贝进/var/lib/tftpboot这样一个目录中,

wKioL1LFU9XTLo-RAAD9i48MwBY697.jpg


wKiom1LFVBbhk15XAAAf7-1DHkU929.jpg

如图,我们可以看到三条内容(前面拷过两个)


wKiom1LFVFLxhQB4AABjIVnaj90877.jpg

在次/var/lib/tftpboot/目录下新建一个pxelinux.cfg的目录,并进入光盘的镜像文件中,将isolinux中的isolinux.cfg文件拷贝到/var/lib/tftpboot/pxelinux.cfg目录中,并命名为default


wKioL1LFVKzxQ6jQAAAxDHMHJf8112.jpg

然后对这个文件进行修改,不过小编在这步编写的时候一直写不了,(因为权限,因为从光盘复制过来的原因。。。。)所以我们要用chmod 改一下他的权限,


然后改如下内容

wKiom1LFVWzDKYB-AAARBkoySvY865.jpg


并在第一个label项下的append追加项的后面加入ks.cfg=ftp://192.168.1.187/ks.cfg


wKioL1LFVZKDdzowAAA8iJwDg4Q967.jpg




进入dhcp的配置文件中,此时他是没有内容的,我们需要重新编写,可以读取他的样板文件,进行修改,进入/etc/dhcp/dhcpd.conf后在底行模式用r /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample读取样板文件

wKioL1LFVdCw4xzWAAAnHkSkqdI077.jpg


wKiom1LFVg6gwI6NAAARTs1tZgc005.jpg



将dhcp配置文件的编辑,将原有的样板文件中的地址池的例子删除,然后重新定义,既从34行以后的都删除,从33行开始改为以下内容,如图


wKioL1LFVkLhob4sAABrBZvY-C0552.jpg


wKioL1LFV5exwX5jAAA0aLkcRdk208.jpg

并将第8.9行多余的内容删除


wKiom1LFV3mjFayBAAAOOr1i4Mc375.jpg



在启用dhcp前一定要将虚拟机的dhcp关掉(如果有的话),否则,容易地址冲突


wKiom1LFV8WRgdXfAAAso9PMCEY141.jpg


重启dhcp服务器


wKioL1LFV9bDNpHYAAAYunFrxQY665.jpg

为了保证我们的dhcp服务的正常工作,我们可以查看一下系统的message日志,看dhcp是否工作证常,如图


wKiom1LFWGOij5MAAAFkNW9gzk8014.jpg



可以看到dhcp各项服务正常

(也可以将vsftpd也重新启动一下)


接着重新开启一个新的虚拟机,如图,选centos,并开机


wKioL1LFWImj0WlxAAAzjMQXM2s696.jpg

可以看到屏幕显示的从哪个服务器上获得的开机文件及地址信息,


wKiom1LFWO2RqgVFAAC-OG0LA5c253.jpg


看到安装正常进行,达到预期效果

wKioL1LFWQyiRXnaAAA83DnTyJM889.jpg



wKiom1LFWSvA90BaAABgeXxUJGE159.jpg

你可能感兴趣的:(网络,系统,centos安装)