设为首页 收藏本站
查看: 581|回复: 0

[经验分享] 利用pex实现centos的自动安装

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-4-19 20:43:01 | 显示全部楼层 |阅读模式
1、实现环境:Centos 64位
2、网络拓扑图:
使用亿图工具绘制出拓扑图如图1所示:
wKioL1NQ5srAW7d0AAEN2vAByQM907.jpg
图1:网络拓扑图
3、实施:
(1)配置FTP服务器
第一步:为了便于后面操作先对yum进行操作,具体操作如下:
[iyunv@server1 Packages]# cd /etc/yum.repos.d/
[iyunv@server1 yum.repos.d]# ll
total 8
-rw-r--r--. 1 root root 1926 Apr 17 02:48 CentOS-Base.repo
-rw-r--r--. 1 root root  638 Apr 17 02:48 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  630 Apr 17 02:48 CentOS-Media.repo
-rw-r--r--. 1 root root 3664 Apr 17 02:48 CentOS-Vault.repo
//删除其余三个只留CentOS-Media.repo
[iyunv@server1 yum.repos.d]# rm *
rm: remove regular file `CentOS-Base.repo'? y
rm: remove regular file `CentOS-Debuginfo.repo'? y
rm: remove regular file `CentOS-Media.repo'? n
rm: remove regular file `CentOS-Vault.repo'? Y
//然后编辑CentOS-Media.repo,操作如下:
[iyunv@server1 yum.repos.d]# vim CentOS-Media.repo
//打开文件后编辑以下操作:
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
       file:///media/cdrom/
       file:///media/cdrecorder/
gpgcheck=1
enabled=1
第二步:先安装开发工具,在安装FTP服,以及FTP客户端,具体操作如下:
//安装开发工具
[iyunv@server1 Packages]# yum groupinstall 'Development tools'
//安装FTP
[iyunv@server1 ~]# yum install vsftpd
//安装FTP客户端
[iyunv@server1 ~]# yum install ftp lftp
第三步:开启vsftpd服务,并查看端口
//开启vsftpd服务
[iyunv@server1 ~]# service vsftpd start
Starting vsftpd for vsftpd:                                [  OK  ]
[iyunv@server1 ~]# chkconfig vsftpd on   //永久开启
//查看FTP端口
[iyunv@server1 ~]# netstat -tupln |grep 21
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      2567/vsftpd
第四步:验证登录ftp,并把/media/cdrom目录下的所有文件拷贝到/var/ftp目录下
//验证登录ftp
[iyunv@server1 ~]# ftp 192.168.2.100
Connected to 192.168.2.100 (192.168.2.100).
220 (vsFTPd 2.2.2)
Name (192.168.2.100:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
227 Entering Passive Mode (192,168,2,100,100,159).
150 Here comes the directory listing.
drwxr-xr-x    2 0        0            4096 Mar 01  2013 pub
//把/media/cdrom目录下的所有文件拷贝到/var/ftp目录下,在后台执行
[iyunv@server1 ~]# cp -r /media/cdrom /var/ftp &
[1] 2578                //后台执行的进程号
(2)配置DHCP服务器
第一步:安装dhcp服务,具体操作如下:
//安装dhcp
root@server1 ~]# yum install dhcp
Loaded plugins: fastestmirror, refresh-packagekit
Loading mirror speeds from cached hostfile
* c6-media:
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package dhcp.x86_64 12:4.1.1-34.P1.el6.centos will be installed
--> Finished Dependency Resolution

第二步:安装完成后进行编辑dhcp配置文件,操作如下:

# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample
#   see 'man 5 dhcpd.conf'
#
进入后看到以上信息,上面说明让我们参考文件
/usr/share/doc/dhcp*/dhcpd.conf.sample,因此在底行模式下执行以下命令:
:r /usr/share/doc/dhcp*/dhcpd.conf.sample
//接下来进行编辑,编辑内容如下:
第8行不要
//DNS服务器
9 option domain-name-servers 202.102.224.68, 202.102.227.68;  
第27 、28不要
第34到最后都不要  命令:在底行模式下输入:34,$d
接下来配置Ip地址范围:
30 subnet 192.168.2.0 netmask 255.255.255.0 {
31   range 192.168.2.10 192.168.2.50;
32   option routers 192.168.2.254;
33  next-server 192.168.2.100;
34   filename  “pxelinux.0”;
}
编辑完后保存退出,然后启动dhcp服务器:
[iyunv@server1 ~]# service dhcpd start
Starting dhcpd:                                          [  OK  ]
[iyunv@server1 ~]# chkconfig dhcpd on
[iyunv@server1 ~]# chkconfig dhcpd on    //永久关闭
然后关闭防火墙和SELinux
[iyunv@server1 ~]# service iptables stop
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Unloading modules:                             [  OK  ]
[iyunv@server1 ~]# setenforce 0
(3)配置TFTP服务器
//安装tftp、tftp-server
[iyunv@server1 ~]# yum install tftp tftp-server
//查看安装后的tftp-server
[iyunv@server1 ~]# rpm -ql tftp-server    //查看安装过的tftp-serverr
/etc/xinetd.d/tftp       //这是一个依赖于超级守护进程的tftp
/usr/sbin/in.tftpd

/var/lib/tftpboot
//切换到超级守护进程下查看tftp并修改
[iyunv@server1 ~]# cd /etc/xinetd.d/   
[iyunv@server1 xinetd.d]# ll       //查看tftp
[iyunv@server1 xinetd.d]# vim tftp     //打开tftp编辑
server_args             = -s /var/lib/tftpboot
disable           = no (一定注意空格)    //找到这一行并修改
       per_source              = 11
//修改后退出保存,然后启动超级守护进程xinetd,并查看端口
[iyunv@server1 xinetd.d]# service xinetd   start
Starting xinetd:                     [  OK  ]
[iyunv@server1 xinetd.d]# netstat -tupln |grep 69
udp     0     0  0.0.0.0:69   0.0.0.0:*       2872/xinetd //依赖于超级守护进程的
[iyunv@server1 xinetd.d]# chkconfig xinetd on   //永久启动
//进入目录/var/lib/tftpboot/查看
[iyunv@server1 xinetd.d]# cd /var/lib/tftpboot/
[iyunv@server1 tftpboot]# ll
total 0
//然后把内核和驱动都要拷贝到该目录下,而内核和驱动都在/media/cdrom/isolinux/目录下
[iyunv@server1 tftpboot]# cp /media/cdrom/isolinux/
TRANS.TBL     grub.conf     isolinux.cfg  vesamenu.c32
boot.cat      initrd.img   memtest       vmlinuz
boot.msg      isolinux.bin  splash.jpg   
[iyunv@server1 tftpboot]# cp /media/cdrom/isolinux/vmlinuz ./  
[iyunv@server1 tftpboot]# cp /media/cdrom/isolinux/initrd.img .
在配置DHCP服务器是用到了一个网络安装的驱动文件pxelinux.0,因此这个文件也要拷贝到当前目录下,这个文件占时还没有需要安装一个syslinux的软件包
[iyunv@server1 tftpboot]# yum install syslinux         //安装
[iyunv@server1 tftpboot]# cp /usr/share/syslinux/pxelinux.0 ./   
//查看该目录文件是否都有了
[iyunv@server1 tftpboot]# ll
total 34940
-r--r--r--. 1 root root 31742048 Apr 17 04:36 initrd.img
-rw-r--r--. 1 root root    26828 Apr 17 04:45 pxelinux.0
-r-xr-xr-x. 1 root root  4002656 Apr 17 04:35 vmlinuz
//网络安装驱动有但是没有配置文件,因此先要创建一个配置目录
[iyunv@server1 tftpboot]# mkdir pxelinux.cfg
[iyunv@server1 tftpboot]# cd pxelinux.cfg/
[iyunv@server1 pxelinux.cfg]# cp /media/cdrom/isolinux/isolinux.cfg default            //拷贝isolinux.cfg改名为default(在后面会提到)
[iyunv@server1 pxelinux.cfg]# ll        //查看拷贝的文件
total 4
-r--r--r--. 1 root root 936 Apr 17 04:55 default
到此tftp所需的都已做完了。
(4)编辑脚本
//打开一个脚本1.sh进行编辑如下:
[iyunv@server1 ~]# vim 1.sh
#!/bin/bash
STRING=`ifconfig eth0 |grep "inet>" |awk '{print $2}'`
NUM=${STRING##*.}
sed -i -e "s@HOSTNAME.*@HOSTNAME=station$NUM.a.com@" /etc/sysconfig/network
sed -i  -e "s@BOOTPROTO.*@BOOTPROTO=staticIPADDR=192.168.2.$NUMNETMASK=255.255.255.0@" /etc/sysconfig/network-scripts/ifcfg-eth0
(5)Kickstart的安装和配置
kickstart的具体安装和实现请参考上一篇《kickstart实现的系统自动安装》一文,然后只需要在最后一步添加如下图所示的操作步骤:
wKiom1NQ5w-DXfeFAAKZ27z-m8w470.jpg
图上显示了填写的脚本也就是上一步编辑的脚本,填写完后点击保存弹出如下对话框:
wKioL1NQ5vjCvOEwAAC-v0iMnlg936.jpg
这里把它保存到了管理员家目录下,然后点击save
(6)进行后续操作
//首先把刚生成的ks.cfg文件拷贝到/var/ftp目录下
[iyunv@server1 ~]# cp ks.cfg /var/ftp
客户端获取到IP地址后会去找tftp-server,因此还要编辑/var/lib/tftpboot/pxelinux.cfg/目录下的default文件:
[iyunv@server1 ~]# cd /var/lib/tftpboot/
[iyunv@server1 tftpboot]# cd pxelinux.cfg/
[iyunv@server1 pxelinux.cfg]# ll
total 4
-r--r--r--. 1 root root 936 Apr 17 04:55 default
[iyunv@server1 pxelinux.cfg]# vim default
//编辑的内容如下:
1 default linux
2 prompt 1
3 timeout 5
18 label linux
19   menu label ^Install or upgrade an existing system
20   menu default
21   kernel vmlinuz
22   append initrd=initrd.img ks=ftp://192.168.2.100/ks.cfg    //一定要写到一行上
然后保存退出。
5、测试验证
(1)安装虚拟机,具体操作如下:
//上面都已配置完成后,所以只需修改一下新创建虚拟机的网络连接方式不需要再加载光盘直接启动电源就可以了,网络连接方式如下图所示:

修改网络连接后启动电源,具体结果如下图所示
wKioL1NQ57XBGk4CAADRu5yCu9Y470.jpg

上图表明已经找到启动程序起来了。
wKiom1NQ5-3S7unMAADZDsQ2Sl8649.jpg
上图显示正在安装程序,说明已经正在安装,表明已经成功。
(2)查看客户机获取IP地址的日志文件信息,结果如下:
[iyunv@server1 ~]# tail -f /var/log/messages
Apr 17 11:37:45 server1 kernel: eth0: link up
Apr 17 11:40:57 server1 dhcpd: DHCPDISCOVER from 00:0c:29:bf:ca:98 via eth0
Apr 17 11:40:58 server1 dhcpd: DHCPOFFER on 192.168.2.11 to 00:0c:29:bf:ca:98 via eth0
Apr 17 11:40:59 server1 dhcpd: DHCPREQUEST for 192.168.2.11 (192.168.2.100) from 00:0c:29:bf:ca:98 via eth0
Apr 17 11:40:59 server1 dhcpd: DHCPACK on 192.168.2.11 to 00:0c:29:bf:ca:98 via eth0
Apr 17 11:40:59 server1 in.tftpd[3709]: tftp: client does not accept options
Apr 17 11:41:24 server1 dhcpd: DHCPDISCOVER from 00:0c:29:bf:ca:98 via eth0
Apr 17 11:41:24 server1 dhcpd: DHCPOFFER on 192.168.2.11 to 00:0c:29:bf:ca:98 via eth0
Apr 17 11:41:24 server1 dhcpd: DHCPREQUEST for 192.168.2.11 (192.168.2.100) from 00:0c:29:bf:ca:98 via eth0
Apr 17 11:41:24 server1 dhcpd: DHCPACK on 192.168.2.11 to 00:0c:29:bf:ca:98 via eth0
Apr 17 11:41:29 server1 dhcpd: DHCPDISCOVER from 00:0c:29:bf:ca:98 via eth0
Apr 17 11:41:29 server1 dhcpd: DHCPOFFER on 192.168.2.11 to 00:0c:29:bf:ca:98 via eth0
Apr 17 11:41:29 server1 dhcpd: DHCPREQUEST for 192.168.2.11 (192.168.2.100) from 00:0c:29:bf:ca:98 via eth0
Apr 17 11:41:29 server1 dhcpd: DHCPACK on 192.168.2.11 to 00:0c:29:bf:ca:98 via eth0
(3)系统安装完后进行查看主机的IP地址、主机名等信息是否正确,其结果如下。
//查看客户机安装好后的IP地址,如下图所示:
wKioL1NQ59jDBTo2AAKH7vp4vs4696.jpg
//查看主机名,如下图所示:
wKiom1NQ6BHBNheDAAAlcWgzX-c554.jpg
//查看地址,如下图所示:
wKiom1NQ6DODOiUzAAArOu9Dn54655.jpg
wKioL1NQ6ArB5Q02AADtkipw4mM098.jpg
从上面的验证信息可以看出全部正确,因此PEX实现的系统自动安装也就到此结束了。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-17799-1-1.html 上篇帖子: CentOS 下wireless搭建 下篇帖子: PXE网络安装Linux系统
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表