感谢支持
我们一直在努力

Kickstart 自动化安装Linux笔记

参考了各路大神的文章,结合自己实践过程,虽中间经历了些困难挫折,最终还是成功完成配置,实现了自动化安装Linux。

(重点参考灰度的 http://www.linuxidc.com/Linux/2012-11/73852.htm  )

安装环境,虚拟机VirtualBox虚拟2台机器,一台做kickstart服务器,一台做客户端

服务器系统为CentOS 6.3 X86_64, 安装光盘为CentOS 6.3 X86_64 DVD

网卡全部配置为“内部网络”

首先,需要用到的服务有,dhcpd, httpd, xinetd, tftp, 用yum 依次安装。

vim /etc/xinetd.d/tftp 修改tftp的守护进程配置文件,红色部分为修改的地方,

  1. service tftp 
  2.         disable                = no
  3.         socket_type            = dgram 
  4.         protocol                = udp 
  5.         wait                    = yes 
  6.       user                    = root 
  7.         server                  = /usr/sbin/in.tftpd 
  8.         server_args            = -u nobody -s /tftpboot 
  9.         per_source              = 11 
  10.         cps                    = 100 2 
  11.         flags                  = IPv4 

vim /etc/dhcp/dhcpd.conf 修改dhcp配置文件

  1. ddns-update-style interim;
  2. allow booting;
  3. allow bootp;
  4. ignore client-updates;
  5. set vendorclass = option vendor-class-identifier;
  6. subnet 192.168.0.0 netmask 255.255.255.0 {
  7.     option routers            192.168.0.1;
  8.     option subnet-mask        255.255.255.0;
  9.     range dynamic-bootp        192.168.0.10 192.168.0.50;
  10.     filename                  “/pxelinux.0”;
  11.     default-lease-time        21600;
  12.     max-lease-time            43200;
  13.     next-server                192.168.0.1;
  14. }    

简单介绍:
Option routers指定网关;
Option domain-name-server指定DNS服务器;
Option subnet-mask指定掩码;
range dynamic-bootp指定分配给客户端的IP地址段;
Filename 指定启动镜像;
Next-server 指定TFTP服务器。

服务器的网卡ifcfg-eth0配置为静态IP:192.168.0.1, 子网掩码255.255.255.0, 网关192.168.0.1

设置开机启动服务,

chkconfig xinetd on

chkconfig dhcpd on

chkconfig httpd on

依次启动服务

service xinetd start

service dhcpd start

service httpd start

注意要关掉防火墙,selinux 设为permissive, 不然会导致PXE加载失败

挂载linux安装盘, mkdir -p /mnt/iso,  mount -o loop /dev/dvd /mnt/iso,

cp /mnt/iso/* /var/www/html, 将光盘内容全部复制到html根目录(采用httpd方式安装),

创建目录/tftpboot, 将Linux安装程序的内核、根文件系统文件及其他文件复制到tftp的根目录中,

罗列下/tftpboot目录下大概会用到的文件,

initrd.img (文件,从光盘/mnt/iso/isolinux/目录拷贝)

 pxelinux.0(文件,从/usr/share/syslinux目录拷贝,若无,则须安装syslinux)

 pxelinux.cfg(目录,自建,里面存放名为default的文件,该文件从/mnt/iso/isolinux/isolinux.cfg复制并改名为default)

 vmlinuz (文件,从/mnt/iso/isolinux/目录拷贝)

vesamenu.c32(文件,从/mnt/iso/isolinux/目录拷贝)

注意权限,chmod +x /tftpboot/pxelinux.cfg/default

若要图形化配置kickstart, 则需安装system-config-kickstart,图形化操作较简便,未详述,

若要文本配置kickstart,则要配置ks.cfg文件,

复制/root/anaconda-ks.cfg文件方式:Red Hat操作系统,在系统安装完成后,会自动在root家目录下创建一个anaconda-ks.cfg文件,这个文件真实的记录了系统安装过程中的配置。我们可以复制这个文件,然后在其基础上进行配置

cp anaconda-ks.cfg /var/ww/html/ks.cfg

chmod +r /var/www/html/ks.cfg

【ks.cfg配置文件的内容】

  1. # Kickstart file automatically generated by anaconda.     
  2. #version=DEVEL     
  3. Install         
  4. url –url=http://192.168.0.1/
  5. lang en_US.UTF-8   
  6. keyboard us   
  7. text   
  8. key –skip    #红帽的序列号,如果有则写,没有则跳过。注:有些版本的系统会忽略这个,而有些则需要你明确定义跳过该步骤。 否则会影响自动化安装。   
  9. network –bootproto=dhcp –device=eth0  –onboot=on   
  10. rootpw  –iscrypted $1$AbMG5lMV$wpNs2yKuFbz4iev/  #为root用户设密码,明文也行。   
  11. # Reboot after installation     
  12. reboot   
  13. firewall –disabled     
  14. authconfig –useshadow  –passalgo=sha512     
  15. selinux –disabled 
  16. timezone Asia/Shanghai     
  17. bootloader –location=mbr –driveorder=sda 
  18.    
  19. # The following is the partition information you requested     
  20. # Note that any partitions you deleted are not expressed   
  21. # here so unless you clear all partitions first, this is     
  22. # not guaranteed towork   
  23.    
  24. clearpart –all –initlabel 
  25.        
  26. part /boot –fstype=ext4 –size=500     
  27. part swap  –size=2048     
  28. part /    –fstype=ext4 –grow –size=2    #–grow表示将剩余的所有磁盘空间分配给根分区 
  29.  
  30.  
  31. #逻辑卷分区创建实例   
  32.    
  33. part /boot –fstype=ext4 –size=500        #因为系统启动时无法识别lvm分区表,所以需要为/boot单独分区。     
  34. part pv.01 –grow –size=1     
  35. volgroup vg0 pv.01   
  36. logvol swap      –fstype=swap  –name=swap  –vgname=vg0  –size=1024 
  37. logvol /          –fstype=ext4  –name=root  –vgname=vg0  –size=5120     
  38. logvol /tmp      –fstype=ext4  –name=tmp    –vgname=vg0  –size=5120     
  39. logvol /home      –fstype=ext4  –name=home  –vgname=vg0  –size=5120 
  40. logvol /usr/local–fstype=ext4  –name=local  –vgname=vg0  –size=10240 
  41.    
  42. %packages   
  43. @Base   
  44. @Core   
  45. @base   
  46. @client-mgmt-tools   
  47. @debugging   
  48. @emacs   
  49. @ftp-server   
  50. @hardware-monitoring   
  51. @large-systems   
  52. @network-file-system-client   
  53.        
  54. %end   

最后再在pxelinux.0的配置文件/tftpboot/pxelinux.cfg/default文件中指定kickstart文件即可。编辑/tftpboot/pxelinux.cfg/defalut文件,修改的内容我用红色进行标记,

  1. timeout 30
  2. label linux 
  3.   menu label ^Install or upgrade an existing system 
  4.   menu default 
  5.   kernel vmlinuz 
  6.   append initrdinitrd=initrd.img ks=http://192.168.0.1/ks.cfg 

配置完毕后,测试客户端PXE启动,成功引导并加载镜像自动安装!

赞(0) 打赏
转载请注明出处:服务器评测 » Kickstart 自动化安装Linux笔记
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏