批量部署linux系统,无人值守批量安装linux操作系统

无人值守批量安装linux操作系统(实验总结)

每天都看对着电脑的操作系统,有时候出现了什么问题实在解决不了,我们肯定会选择重做系统的,当然一台两台系统我们还是可以一一搞定,可是我们是否想过要是一次性需要我们安装10台,100台甚至更多台的操作系统的时候,我们还是会那样傻乎乎的一台一台机械性的重复着这样的工作吗?可想而知,答案是否定的,那我们能不能找到很好的方法来解决这个问题呢?答案是肯定的,我们的前辈们肯定都遇到过这种问题他们也使用了很好的方法来解决这个问题.那就是---通过网络批量安装操作系统!这样做的好处就是当你的计算机没有光驱或者光驱损坏时,或者是没有安装介质的时候都是可以安装上我们的linux操作系统的~超棒O(∩_∩)o 哈哈不过安装之前我们还是要了解一下相关知识

一.PXE

PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。协议分为client和server两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。

既然是通过网络传输,就需要IP地址;也就是说在其启动过程中,客户端请求服务器分配IP地址,之后PXE Client使用TFTP Client 通过TFTP(Trivial File Transfer Protocol)协议下载启动安装程序所需的文件。PXE技术与RPL技术不同之处为RPL是静态路由,PXE是动态路由。RPL是根据网卡上的ID号加上其他记录组成的一个Frame(帧)向服务器发出请求。而服务器中已有这个ID数据,匹配成功则进行远程启动。PXE则是根据服务器端收到的工件站MAC地址,使用DHCP服务为这个MAC地址指定一个IP地址。每次启动可能同一台工作站有与上次启动时不同的IP,即动态分配地址。

二.KickStart

KickStart是一种无人职守安装的方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。

三.实验过程中需要的rpm软件包

nfs-utils-lib-*

nfs-utils- *

xinetd-*

tftp-server-*

dhcp-*

dhcp-devel-*

pykickstart-*

system-config-kickstart-*

四.实验过程

配置本机ip地址

3483262d58d2c193378e8887256eeb71.png

图1

e3eff714de2732c95ece64f92d4bf035.png

图2

安装实验所需的所有安装包

1e2f87f34209a2c9f0f7da4a3dd5ae49.png

图3

809c9ab9e1fa5f31da2cf9810200e695.png

图4

f975f61319632102a1d7fe09e3799de8.png

图5

8780d48a9b55fcc8cf4d560e7b41567e.png

图6

3772edc59c2bdbb313aa2a73968e7f11.png

图7

将本实验所涉及的所有服务都设置成开机自动启动

e9015b2927a57b8eb11be3fa7582c9a8.png

图8

创建实验过程中所需要的文件夹

b221588f125f173880f52805b555e48f.png

图9

接下来就是实验的重点内容了,配置我们所需要的服务

1.dhcp服务

打开/etc/dhcpd.conf文件,由于我们是第一次配置该文件,我们可以将

/usr/share/doc/dhcp*/dhcpd.conf.sample复制成/etc/dhcpd.conf文件.也可以直接在vim编辑器的命令模式下输入:r /usr/share/doc/dhcp*/dhcpd.conf.sample这样可以直接进行编辑,这个就需要我们对vim编辑器使用的足够熟练哈

46c8ca2e453a1516280ad2085bd74d08.png

图10

3ddf6dde9d3491895ec63ae2d7592662.png

图11

如果是像图11那样的配置dhcpd.conf文件,我们在安装操作系统时是不会成功的,出现的错误提示如图12

8deef9da684dc17847fdca3cb97c261d.png

图12

正确的配置方法如图13:

1aa2323aa6037e00e1df58f5a62fee25.png

图13

2.tftp服务

配置tftp服务,只需要将该文件中的disable一行的yes改成no即可,这个服务的配置文件还算很简单的啊,呵呵

e83152278391018fd5c29de63a71cd36.png

图14

3.nfs服务

打开/etc/exports文件

配置内容如图15

d37f240a24f509dac583fb064a48f13a.png

图15

877f926804c8bbd1ba69359ee8aa74e9.png

图16

4.ks.cfg文件的自动生成

好了,以上服务都配置完成后就是我们的重点角色ks.cfg文件的生成工作了,这个还真有点麻烦,好在我们前面安装了图形化配置工具,可以将我们的工作变的简单一些,不过还有一些技巧性问题我们在后面详述

在终端输入:system-config-kickstart

be06377d175e499b841dc3d0e7b6680d.png

图17

c1d75d55811e839ca49d5f67f530e936.png

图18

0288eb50212d6b68bab2b830f903daab.png

图19

9c9544b02c30ad08a0e10a7bb16a66b4.png

图20

752eb6f52a2be6900912c7f65486ab56.png

图21

2bc3e8aa71747b50c11528e414d812f0.png

图22

a05764bfe5dd00c11d76956be89b02d9.png

图23

40e74d49196e93b579b63d3dddfd5c42.png

图24

50bf74f30b00ff66ee60ae29fcd3af06.png

图25

d16cec18b3365c2dae498901dd317205.png

图26

525b33686c3c68a7fe0c42d310788cd7.png

图27

1029aa2372dd5fc2bef8e233ccc7bf54.png

图28

4141ffd7ce770f2f87e8e94387ad3191.png

图29

17c2cc497700fdf803c4e51e6672c8ce.png

图30

图31是我自己的ks.cfg文件,我已经修改过了

2531d3dedd7308ef4785506c3af7d516.png

图31

终于配置完成,记得要将我们的配置文件保存到/kickstart文件夹,这个要与dhcpd.conf文件中定义的文件夹对应,不然肯定还是会出错的

好了,我们将一些后续工作完成就可以进行测试了,挂载上我们的光盘

使用一下几条命令来完成

mount /dev/cdrom /mnt/

cp /usr/lib/syslinux/pxelinux.0 /tftpboot

cp /mnt/p_w_picpaths/pxeboot/initrd.img /tftpboot

cp /mnt/p_w_picpaths/pxeboot/vmlinuz /tftpboot

mkdir /tftpboot/pxelinux.cfg

cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

0a6e7374746dcae252a44400968bd3c8.png

图32

编辑我们的/tftpboot/pxelinux.cfg/default文件

将timeout 修改成5(只要小一点就可以了)

然后就是将label linux后面的文件修改成:

kernel vmlinuz

append ksdevice=eth0 load_ramdisk=1 initrd=initrd.img network ks noipv6即可

不过这个文件是只读文件我们修改完成后要强制保存退出使用命令:wq!

f67a704fc66dcc8df53679fcdd3c7486.png

图33

0e0a755933799aa97e188ff2bbc6481e.png

图34

我们还要将光盘里面的所有文件都复制到/install文件夹里面

cp –Rv /mnt/* /install

b8074453ad3d240f9039ad9991a11cef.png

图35

可是这样做实在是太耗费时间了,我们可以直接将光盘挂载到/install文件夹里面

647bab66b7dbda4cbef26fedfc7f7939.png

图36

好了,一切配置工作都已经完成了.我们重新启动所以服务

cede2b0346287eb82750161c55747064.png

图37

五.测试安装过程

打开我们的测试机器,将其设置成从网络启动

6b6da3253c25afbbccfb859857d9202f.png

图38

出现这个画面可想而知我们的实验成功了

以下是安装过程中的截图

049c35ca7420154a5eb3308de31fb1b3.png

图39

f32d775e43a522e25367f491e7f5c3cf.png

图40

b953e2e5515d995b90553c5faed1ea12.png

图41

d4eb647afd608a7978c341651d3475be.png

图42

b3836480053055487d3d09547797f593.png

图43

1961d828563e409d2b9ad0337da5ef76.png

图44

f87c48d42169f785e4218f13d144b57a.png

图45

安装完成自动重启计算机

dcb07c43e328ad78fd4bf434c8707352.png

图46

成功进入安装完成的操作系统

1500076fb86ead264aa7ee41bd76c4ad.png

图47

六.安装过程及配置文件出错解决方案

问题一:我们的tftp服务器无法打开,这个错误困扰了我n久,就是这一个小小的错误导致我来来回回重新做了n次测试,最后终于找到解决方法了,原来是我的服务器的防火墙打开了,我将防火墙关闭,一切问题得以解决,汗….

8bcaf4e2000ddd3ccd9bda19c2d2b343.png

图48

316e4c3499877d8164469cc8c653d7da.png

图49

2a61e3d8dd6b1587bfe42604f54b8e70.png

图50

问题二:tftp服务器无法连接,解决方案就是我们的dhcpd.conf文件中的next-server配置一定要指向我们的tftp服务器

e96e530f5637afde701db64fe99222ad.png

图51

问题三:无法下载我们的ks.cfg文件,这个错误的解决方法就是将我们的ks.cfg文件的权限修改一下,让它具有读写执行的权限

e75b5bf4c88b86cb19e387733f0c0a3f.png

图52

56f02852b7a72fea96c475da74e3359e.png

图53

问题四:我们5版的光盘是需要填写序列号的,可是通过图形界面生成的ks.cfg文件是没有跳过序列号的,怎么解决呢?我们自己添加一条记录让它自动跳过就行了啦

# Skip the key number

key –skip

868e71268eca9b690b1f77138826e950.png

图54

问题五:不能自动初始化磁盘,我们可以在ks.cfg文件中添加一条记录

zerombr yes

79b35f8fc17ca55a12b3258e047b9075.png

图55

问题四和问题五的解决方案截图

c05d82007f729228196ba01c4bfebdcb.png图56

七.实验总结

笔者最大的心得就是,出错并不可怕,大不了从头在来,多做几次从中找出其中的问题.为了测试,我前前后后重启系统足有四五十次,来来回回从新搭建服务器足有十几次之多!这样更能让我体会到实验的细节问题,更能加深我以后排错的能力~由于翻阅查找了n多的blog和文档,如有雷同,纯属巧合……共同学习!

LinuxButler

2010年9月26日

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值