Pxe网络引导安装CentOS-6.5与CentOS-7操作系统

Pxe网络引导安装CentOS-6.5与CentOS-7操作系统
Pxe网络引导安装CentOS-6.5与CentOS-7操作系统

Pxe网络引导安装CentOS-6.5与CentOS-7操作系统

关于CentOS-6.5的网络安装,互联网上有很多详细介绍的文章,但对于CentOS-7的网络引导安装却是寥寥无几,即便是有,也几乎没有完整的成功的案例!笔者由于工作需要,计划pxe网络安装这两种操作系统,虽然CentOS-6.5已经有很多人介绍了,但笔者还是决定将它再重复叙述一遍。当然,本文最有价值的内容是pxe网络安装CentOS-7,且可以启动并使用。本文的很多截图都是笔者在安装两种操作系统的过程中用手机拍下来的,画面并不是特别清晰(还是可以看的),请读者见谅。

由于工作原因,需要在一台服务器上给所有用户提供Linux操作系统的网络安装服务,即pxe网络安装。因为物理服务器资源紧张,所以我就使用了Dell OPTIOLEX台式机来提供这种服务,该台式机的配置如下:

实际使用时,我给台式机添加了一块网卡(详见我的另外一篇总结《CentOS-6.5 添加第二块网卡》),该台式机运行 CentOS-6.5 的 Workstation 版本,SELinux 与 iptables 均关闭,IP地址参数如下所示:

因为办公网络已经有一个DHCP服务器,为避免冲突,使用端口 p4p1 做为 DHCP 服务的监听端口,即需要安装操作系统的终端机必须与端口 p4p1 同属于一个网段,而这个网段原则上要与办公网络互相隔离,端口 em1 连入正常使用的办公网络。下面我们就开始安装各种服务了哈:

1. 安装下面的服务:dhcp、tftp-server、vsftpd、xinetd、syslinux 与 httpd。Dell台式机用 dhcp 服务给各个终端分配IP地址(通过端口 p4p1 分配),tftp-server 提供 tftp下载服务,vsftpd 提供 Security 的 ftp下载服务,httpd 提供 http下载服务。执行的命令

是:yum -y install dhcp tftp-server vsftpd xinetd syslinux httpd。

2. 指定DHCP服务只在端口 p4p1 上启用,即只有该端口监听各个终端机的 dhcp 服务请求。修改配置文件 etc/sysconfig/dhcpd,如下所示:

3. 将网络端口 p4p1 的 IP 地址固定设置为 10.20.20.1,以后该端口分配的IP地址范围是 10.20.20.2 ~ 10.20.20.254。

4. 配置DHCP服务,更改配置文件 /etc/dhcp/dhcpd.conf 如下:

以上指定 dhcp 网段为10.20.0.0,自动分配的 IP 范围是10.20.20.2~10.20.20.254,网关为10.20.20.1(请重视此处默认网关的设置,必须设置为端口p4p1的IP地址,目的是通过该端口与默认路由的功能使终端机可以与em1通信,访问192.168.10.208),子网掩码为255.255.0.0。若终端安装完系统,则域名"https://www.360docs.net/doc/447521621.html,"会出现在终端的 /etc/hosts 文件中。启动dhcp服务:service dhcpd start,可

设置成开机启动,即 chkconfig dhcpd on,如下所示:

5. 配置TFTP服务,更改配置文件 /etc/xinetd.d/tftp,将disable的值设为 no ,如下所示:

重启TFTP所在的服务 xinetd,即执行命令 service xinetd restart,可设置成开机启动,即 chkconfig xinetd on,如下所示:

6. 配置FTP服务,确定配置文件 /etc/vsftpd/vsftpd.conf 文件中 anonymous_enable 项是 YES,如下所示:

重启FTP服务,即执行命令 service vsftpd restart,可设置成开机启动,即 chkconfig vsftpd on,如下所示:

7. 配置HTTP服务,确定配置文件 /etc/httpd/conf/httpd.conf 中的 DocumentRoot 的值是 /var/www/html,如下所示:

重启HTTP服务,即执行命令 service httpd restart,可设置成开机启动,即 chkconfig httpd on,如下所示:

确保防火墙已经关闭,在浏览器里输入 192.168.10.208,可以访问如下的界面:

到此为止,基本配置完毕,往下就是上传各种 Linux 操作系统的镜像文件了。

8. 创建目录 /var/ftp/pxe/CentOS/6.5/x86_64,将 CentOS-6.5 的镜像文件内容全部拷贝到该目录之下,拷贝之前要做一个超级坑爹的修改,步骤如下:

(1) 先在Win7环境下安装 DAEMON Tools Lite 类似的虚拟光驱工具软件,然后打开 CentOS-6.5 的 ISO 镜像文件,将其内容拷贝到任意工作目录下,如下所示:

(2) 进入文件夹 repodata,打开文件 repomd.xml,如下所示:

在 rempmd.xml 文件里搜索 0dafccfdbf892f02acca8267ade4bdcee7280a682e65dc7e29145f3341fd7a8c 会有两个结果,如下所示:

请注意红线框内的后缀名“-primary.sqlite.bz2”,要将此后缀名补充到

0dafccfdbf892f02acca8267ade4bdcee7280a682e65dc7e29145f3341fd7a8c 之后才是一个完整的名字,否则在安装 CentOS6.5 的过程中,系统会提示找不到 0dafccfdbf892f02acca8267ade4bdcee7280a682e65dc7e29145f3341fd7a8c-primary.sqlite.bz2 文件!

(3) 对 repodata 文件夹下的所有文件名做出修改,依照 rempmd.xml 里的内容添加后缀,最后的结果如下图所示:

(4) 此时可将镜像文件拷贝到目录 /var/ftp/pxe/CentOS/6.5/x86_64 下(也拷贝 CentOS7 的镜像文件),为了使能 http 下载源文件,这里我做了一个软连接,即执行命令:

ln -s /var/ftp/pxe/CentOS/6.5/x86_64 /var/www/html/CentOS6.5

ln -s /var/ftp/pxe/CentOS/7/x86_64 /var/www/html/CentOS7

安装操作系统时我再详细说明。

(5) 对于CentOS-7的 ISO 镜像文件,也要做出前面4个步骤的修改,否则在安装的过程中就会出现下面的画面:

即找不到安装源文件,翻译成英文就是 Error setting up base repository。如果使用互联网上的安装源(例如163镜像网站的),就不会出现这个问题,如果是在局域网内用 ISO 解压出来的文件做源则必须改!

9. 使用同样的方法上传 CentOS-7 的镜像文件内容。但是CentOS7又出现一个极其超级坑爹的地方:镜像中的文件名后缀不全。进入目录 Packages,可以看到后缀是 R 或是 RP 的文件,如下:

实际上真正的后缀名是 rpm!也就是说,上图中红线框内的所有文件的后缀名都要更改为rpm。部分CentOS-6.5的镜像文件内容也存在相同的问题!!!如果你不更改这些文件的后缀名,那么会发生什么可怕的结果吗?嘿嘿,看看下面的图片就知道了:

安装遇到挫折时,我用手机拍的,并不清晰,尚请读者原谅。

10. 配置 tftpboot 目录:

(1) 将文件 pxelinux.0 拷贝到 /var/lib/tftpboot 目录,即执行命令 cp /usr/share/syslinux/pxelinux.0 . ,如下所示:

/var/lib/tftpbootimages/CentOS/6.5/x86_64 之下,如下所示:

(3) 配置 bootstrap 文件,创建目录 /var/lib/tftpboot/pxelinux.cfg,在该目录下创建 default 文件,如下所示:

需要注意的是,对于 CentOS7 的安装来说,必须写成红线框内的 inst.repo 的形式,否则安装的时候会出现下面的错误:

dracut-initqueue[673]: Waring: Could not boot.

dracut-initqueue[673]: Waring: /dev/root does not exist

.........

dracut:/#

这也是我安装 CentOS7 的时候遇到的一个超级坑爹的东东呢!!!至于 inst.repo 后面的内容,可以写成 ftp 的形式,也可以写成 http 的形式哈。

(4) 拷贝文件 vesamenu.c32 到目录 /var/lib/tftpboot 下,执行命令 cp /usr/share/syslinux/vesamenu.c32

/var/lib/tftpboot,

11. 配置其它操作系统时,将内核、根文件系统拷贝到 tftpboot 目录,然后修改default文件即可,到此步骤,PXE服务器已经可以完成部署系统操作,只是安装时需要手动进行,步骤类似光盘安装。

12. 好了,现在我们可以给终端机安装Linux操作系统了,大概的的网络拓扑应该是下面的样子:

13. 确定终端机从网卡启动,若启动正常的话,那么会出现下面的情况:

14. 假设我们安装 CentOS-6.5 操作系统,那么在界面上就选择“Install CentOS6.5 X86_64 Everything”,之后按下面的步骤执行:

(1) 安装语言的选择界面,没什么好说的,直接回车;

(2) 键盘类型选择界面,也没什么好说的,直接回车就是了;

URL;

(4) 终端机需要从DHCP服务器处获取 IP 地址,所以都是动态获取 IP 的方式;

(5) 可以看到终端机正在获取 IP;

(6) 指定 CentOS6.5 的源文件在 pxe 服务器的哪个位置,此处我们指定使用 http 的方式下载安装源文件。还记得上面第 8 步骤当中的第 (4) 小步设置的软连接吗?机关就在那里哟;

如果你想使用 ftp 的方式下载安装源文件的话,那么就写成下面的这个样子:

(7) CentOS6.5 的安装界面终于出现了;

再往下就与光盘安装无异了哈。

15. 假设我们安装 CentOS-7 操作系统,那么在界面上就选择“Install CentOS7 X86_64 Everything”,之后按下面的步骤执行:

(1) 安装语言的选择界面,没什么好说的,直接回车;

Mini 方式的安装;

(3) 这里我想使用 http 方式下载安装源文件,点击 INSTALLATION SOURCE 看到下面的界面;

将红线框内的 ftp 下载更改为 http 下载,如下所示:

点击 Done 之后回到下面的界面:

可以看到 INSTALLATION SOURCE 已经变成 http 的方式了,安装的版本与硬盘尚未设置正确。

(4) 此处我想安装最庞大的 Workstation 开发版本,所以点击 SOFTWARE SELECTION,并选择最后面的 Workstation。如下所示;

点击 Done,回到下面的界面:

(5) 点击 INSTALLATION DESTINATION,设置将CentOS-7安装到哪一块硬盘,如下所示;

点击 Reclaim space,进入下面的界面:

可以看到终端机的硬盘大概是 1 TGB,点击 Delete all,回收所有硬盘空间:

点击 Reclaim space,回收硬盘成功:

点击 Done,回到下面的界面:

可以看到,已经没有感叹号了,耶!之后直接安装就是了。

(6) 记得设置 root 用户密码哈,如下所示;

点击 ROOT PASSWORD 设置根用户密码,成功之后继续安装直到结束:

面:

电源管理没有关闭的原因。于是乎重启终端机,进入 grub 界面,如下所示:

相关主题
相关文档
最新文档