Redhat/CentOS全自动网络安装

    机房经常需要安装系统, 之前搭了个Windows上运行的tftpd32+httpd的网络安装环境, 可以用; 但是需要我的PC经常开着tftpd程序. 于是今天改进了一下, 将网络安装服务器搭在某个常年运行的Linux服务器上...

    先介绍一下, 我们使用的网络安装服务器的IP是192.168.1.14, 系统是32位Redhat5. 准备安装的系统是64位Redhat6.4; 安装64位CentOS6.3也是可以的, 测试过了. 服务器需要用到的软件包有dnsmasq, syslinux, httpd. 可以通过yum或者系统盘安装. 


以下是操作步骤:

1. 用httpd共享安装盘.
我们的安装盘是/home/rhel-server-6.4-x86_64-dvd.iso, 要挂载到/var/www/html/rhel6.4方便共享.
mkdir /var/www/html/rhel6.4
mount -o loop,mode=0555 /home/rhel-server-6.4-x86_64-dvd.iso /var/www/html/rhel6.4
弄完测试一下:
curl http://192.168.1.14/rhel6.4/GPL

2. 配置DHCP. 打开并按照下面的样例编辑/etc/dnsmasq.conf:
dhcp-range=192.168.1.170,192.168.1.240,255.255.255.0,12h
dhcp-boot=pxelinux.0
enable-tftp
tftp-root=/var/tftpd
tftp-secure
其中dhcp-range需要根据自己的网段修改. 修改完执行service dnsmasq restart使配置生效.

3. 准备启动文件
mkdir /var/tftpd
cd /var/tftpd
cp /var/www/html/rhel6.4/images/pxeboot/initrd.img .
cp /var/www/html/rhel6.4/images/pxeboot/vmlinuz .
cp /usr/lib/syslinux/pxelinux.0 .
mkdir pxelinux.cfg

新建一个文件pxelinux.cfg/default, 内容如下:

prompt  1
default linux
timeout 100 


label linux
  kernel vmlinuz
  append initrd=initrd.img ramdisk_size=9216 noapic acpi=off ide0=noprobe ide1=noprobe

里面添加ide0=noprobe ide1=noprobe是因为经常遇到找不到驱动而无法安装的情况.



最后改下权限:
chown -R nobody /var/tftpd


好了, 可以开始网络安装了. 


Redhat/CentOS全自动网络安装_第1张图片

直接按Enter继续. 


Redhat/CentOS全自动网络安装_第2张图片

选择URL.


Redhat/CentOS全自动网络安装_第3张图片

直接选OK就行, 由DHCP服务分配IP. 


Redhat/CentOS全自动网络安装_第4张图片

这里填之前通过httpd共享的安装盘的网址. 之后就跟光盘安装一样了.


如果要做到无人值守全自动网络安装, 还需要一个Kickstart文件. 这个文件可以从已有的redhat机器上取, 
比如上面刚刚手工安装的机器, 或者192.168.1.14, 一般存放路径是/root/anaconda-ks.cfg. 
首先将它复制到192.168.1.14的/var/www/html目录下, 命名为ks.cfg. 然后检查这个文件:

1. 安装源. 需要确保install下面一行是

url --url http://192.168.1.14/rhel6.4

2. 分区指令. 我拿到的ks.cfg, 分区指令全被注释掉了, 需要自己修改. 可以参考下面这段:
zerombr
part /boot --fstype=ext4 --size=500 --ondisk=sda
part swap --size=4096 --ondisk=sda
part / --fstype=ext4 --size=1 --grow --ondisk=sda
意思是在硬盘sda上面初始化MBR, 划出500M boot分区, 4G swap分区, 其它空间为根分区. 

3. 在%packages后面可以添加需要自动安装的软件包.
4. 文件改好之后设置权限
chown nobody /var/www/html/ks.cfg

最后在启动文件/var/tftpd/pxelinux.cfg/default添加Kickstart参数
label linux
  kernel vmlinuz
  append initrd=initrd.img ramdisk_size=9216 noapic acpi=off ide0=noprobe ide1=noprobe ks=http://192.168.1.14/ks.cfg
大功告成, 可以享受全自动网络安装了! 我用虚拟机反复测试, 已经装了并且删过无数个系统了. 



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