Chinaunix首页 | 论坛 | 博客
  • 博客访问: 147155
  • 博文数量: 16
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1229
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-02 23:30
文章分类
文章存档

2014年(16)

我的朋友

分类: LINUX

2014-04-03 22:09:31


本人对PXE/Kickstart的理解:

     严格来说, PXE是一种引导方式.在安装PXE时是需要网卡支持的,当主机引导时BIOS 把 PXE客户端调入内存中执行,然后客户端会通过服务器端的TFTP下载至本地后运行,在这时,客户端会向服务器端通过DHCP来获取IP地址,由于是给PXE客户端分配IP地址,所以在配置DHCP服务器是需要增加相应的PXE设置在PXE客户端的ROM中,已经存在了TFTP客户端,PXE客户端通过TFTP协议到TFTP服务端上下载所需的文件。

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


对于无人值守安装需要的条件是:

PXE   严格来说,PXE 并不是一种安装方式,而是一种引导方式;

Kickstart: 是一种无人值守的安装方式;

DHCP (Dynamic Host Configuration Protocol,动态主机配置协议);

TFTP (Trivial File Transfer Protocol,简单文件传输协议);


>>配置步骤:

准备:

点击(此处)折叠或打开

  1. [root@station76 ~]# mkdir /media/cdrom
  2. [root@station76 ~]# mount -r /dev/cdrom /media/cdrom/
  3. [root@station76 ~]# vim /etc/yum.repos.d/test.repo
  4. [test]
  5. name=PXE_DHCP
  6. baseurl=file:///media/cdrom
  7. enabled=1
  8. gpgcheck=0
  9. [root@station76 ~]

1.安装配置DHCP服务器:

1).利用yum安装DHCP:

点击(此处)折叠或打开

  1. [root@station76 ~]# yum -y install dhcp
2).使用cp命令将/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample,并改名为:dhcpd.conf:

点击(此处)折叠或打开

  1. [root@station76 dhcp]# pwd
  2. /etc/dhcp--->如文件存在就覆盖/删除dhcpd.conf
  3. [root@station76 dhcp]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample dhcpd.conf

3).配置pxe所需的作用域:

I.注释暂时不用的参数:

II.配置作用域:

III.启动服务,并查看端口:

点击(此处)折叠或打开

  1. [root@station76 dhcp]# service dhcpd restart
  2. Shutting down dhcpd:                                       [  OK  ]
  3. Starting dhcpd:                                            [  OK  ]
  4. [root@station76 dhcp]# ss -unl
  5. State       Recv-Q Send-Q                  Local Address:Port                    Peer Address:Port
  6. UNCONN      0      0                                   *:111                                *:*
  7. UNCONN      0      0                                   *:631                                *:*
  8. UNCONN      0      0                                   *:661                                *:*
  9. UNCONN      0      0                                   *:67   (udp的端口)                    *:*
  10. UNCONN      0      0                                   *:721                                *:*
  11. UNCONN      0      0                                   *:44778                              *:*
  12. UNCONN      0      0                                  :::111                               :::*
  13. UNCONN      0      0                                  :::45454                             :::*
  14. UNCONN      0      0                                  :::661                               :::*
  15. [root@station76 dhcp]
IV.查看地址是怎么获取的过程请输入:

点击(此处)折叠或打开

  1. [root@station76]# tail -f /var/log/boot.log


2.配置tftp-server等相关服务:

1).安装所需服务:

点击(此处)折叠或打开

  1. [root@station76 dhcp]# yum -y install tftp-server--->服务端
  2. [root@station76 dhcp]# yum -y install tftp--->客户端
  3. [root@station76 dhcp]# yum -y install xinetd

2).设置开机自起动及启动服务、查看端口:


3.准备安装树:

这里是利用HTTP来作为客户端的安装树的文件,使用的是系统自带的软件包安装的httpd服务.

1).创建安装树所需目录:

点击(此处)折叠或打开

  1. [root@station76 dhcp]# mkdir /var/www/html/centos6
2).使用--bind命令绑定,将光盘的文件挂载centos6上:

点击(此处)折叠或打开

  1. [root@station76 dhcp]# mount --bind /media/cdrom/ /var/www/html/centos6/
3).启动HTTP服务:

点击(此处)折叠或打开

  1. [root@station76 dhcp]# service httpd start
4).查看tcp的端口是否启动:

点击(此处)折叠或打开

  1. [root@station76 dhcp]# ps aux |grep httpd
  2. [root@station76 dhcp]# ss -tnl


4.准备tftpboot下的文件:

1).安装syslinux服务:(syslinux是一个功能强大的引导加载程序,而且兼容各种介质)

点击(此处)折叠或打开

  1. [root@station76 dhcp]# yum -y install syslinux
2).复制安装树文件:

点击(此处)折叠或打开

  1. [root@station76 dhcp]# cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img}  /var/lib/tftpboot/
  2. [root@station76 dhcp]# cp /media/cdrom/isolinux/{boot.msg,vesamenu.c32,splash.jpg}  /var/lib/tftpboot/
  3. [root@station76 dhcp]# cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/
  4. [root@station76 dhcp]# mkdir /var/lib/tftpboot/pxelinux.cfg
  5. [root@station76 dhcp]# cp /media/cdrom/isolinux/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default


5.配置引导程序能自动加载此kickstart文件:

1).复制ks.cfg(这里假设命令为ks.cfg):

点击(此处)折叠或打开

  1. [root@station76 ~]# cp anaconda-ks.cfg /var/www/html/ks.cfg
2).配置ks.cfg:

点击(此处)折叠或打开

  1. [root@station76 html]# chmod +r ks.cfg
  2. [root@station76 html]# ll---> 给个可读权限.
  3. total 8
  4. dr-xr-xr-x 7 root root 4096 Nov 29 20:09 centos6
  5. -rw-r--r-- 1 root root 2417 Mar  6 18:49 ks.cfg
接上:

点击(此处)折叠或打开

  1. [root@station76 html]# vim ks.cfg
  2. # Kickstart file automatically generated by anaconda.
  3. #version=DEVEL
  4. install
  5. url --url=http://192.168.1.100/centos6-->可用安装树的路径
  6. lang en_US.UTF-8
  7. keyboard us
  8. network --onboot yes --device eth0 --bootproto dhcp --noipv6
  9. rootpw  --iscrypted $6$CGsqab6d$Cd.PnnWtlL5XZAyr9J2zoMqyJH1QodcDp1pQp0uZ1f0Cq4eq9.TMkSQU6IfpvYZEYc32.lmF0lKuQwavnC49a0
  10. # Reboot after installation
  11. reboot
  12. firewall --disabled
  13. authconfig --useshadow  --passalgo=sha512
  14. selinux --disabled
  15. timezone Asia/Shanghai
  16. bootloader --location=mbr --driveorder=sda --append="crashkernel=auto crashkernel=auto rhgb rhgb quiet quiet"
  17. # The following is the partition information you requested
  18. # Note that any partitions you deleted are not expressed
  19. # here so unless you clear all partitions first, this is
  20. # not guaranteed to work
  21. clearpart --all
  22. zerombr
  23. text
  24. part /boot --fstype=ext4 --size=200
  25. part pv.008002 --size=61440
  26. volgroup vg0 --pesize=8192 pv.008002
  27. logvol / --fstype=ext4 --name=root --vgname=vg0 --size=20480
  28. logvol swap --name=swap --vgname=vg0 --size=2048
  29. logvol /usr --fstype=ext4 --name=usr --vgname=vg0 --size=10240
  30. logvol /var --fstype=ext4 --name=var --vgname=vg0 --size=20480
  31. repo --name="CentOS"  --baseurl=http://192.168.1.100/centos6 -->可用安装树的路径
  32. %packages
  33. @Base
  34. @chinese-support
  35. @client-mgmt-tools
  36. @core
  37. @desktop-platform
  38. @fonts
  39. @general-desktop
  40. @graphical-admin-tools
  41. @legacy-x
  42. @network-file-system-client
  43. @perl-runtime
  44. @remote-desktop-clients
  45. @x11
  46. ibus-table-cangjie
  47. ibus-table-erbi
  48. ibus-table-wubi
  49. lftp
  50. tree
  51. %end
  52. %post
  53. echo -e 'Mage Education Learning Services\nhttp://\n' >> /etc/issue
  54. sed -i '1,$s@id:[0-9]:initdefault:@id:3:initdefault:@g' /etc/inittab
  55. [ ! -d /root/.ssh ] && mkdir /root/.ssh && chmod og=--- /root/.ssh
  56. cat >> /root/.ssh/authorized_keys << EOF
  57. ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAlmq1z0G/7wbGuSUewfXlFnwzqCg/myqTi/AwP8LP+JJ49xzIKMzpeWXHD8RWIf5RlDzo+6N7uPK5O22x/QtMosi0egz4shavEJeUkO0EH+KygXXgBIGuMWmAsL+yzbgWXT9H3zdzXi/qWcrBeBv2nYB5mpYSf7o0xqdhCst1MTfcYLD8qxvkwC8RiqBA/1u9N6jeDFbHO+UzZYYCr9zgk9uz4Rrhb9BU7c1GhjUCgRwBDAuo47IHw/OT6KS9lb8lT2R/ujVoDARy/eOhw8cAFXo+QcvzNSW2qKf/Qo21uR/wz2u9SRV0lvUDNSvC2PYtR+iPlDwHY81md430yiNf9w== root@server.magelinux.com
  58. EOF
  59. # set hosts
  60. echo '192.168.1.1  xiaoma.xom' >> /etc/hosts
  61. %end
  62. [root@station76 html]# sync -->将内存中的数据同步到硬盘上.

注意:1-31之间:指的是命令段; 32-51之间:有@的是指包组.剩下的是安装包;52-61之间:是指脚本段.


6.配置引导程序能自动加载此kickstart文件

1).编辑/var/lib/tftpboot/pxelinux.cfg/default:

[root@station76 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default

接上面图片:


7.新建虚拟机并测试:

注意一:

注意二:

注意三:

注意四:


8.启动虚拟机:

1).配置名字在这里就显示了哦:

2).正在加载内核文件:

3).创建分区:

4).安装软件包:


9.成功安装:

1).查看IP信息:

2).查看网关信息:

3).查看域名等信息:


做起来是不是很完美?很轻松的就搞定了呢??你也来试一试一吧!!!





Welcome to xiaomazi Blogger!!!
阅读(5935) | 评论(0) | 转发(4) |
给主人留下些什么吧!~~