一 制作U盘启动盘 

 有关U盘启动盘的制作请参考我前面的文章。

二 设置ks.cfg文件路径。

1.打开U盘在syslinux目录中找到syslinux.cfg文件并打开,在label linux栏下append 后加入 ks=hd:sdb1:/ks.cfg。则syslinux.cfg的内容变成如下内容

default linux
prompt 1
timeout 600
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
   kernel vmlinuz
   append ks=hd:sdb1:/ks.cfg  initrd=initrd.img
     …………………………………
               …………………………………
               ………………………………….
               ………………………………….
 2.将做好的ks.cfg文件放到U盘的根目录下即可。
需要特别注意的是,本文的服务器只有一块硬盘,因此sda是硬盘,sdb是U盘,若有多块硬盘,则U盘的盘符可能不是sdb,而是sdd,或sdg或是其他的等。这里U盘的盘符一定要写对,要不然系统找不到ks.cfg文件。
三 配置kickstart文件
1.在RHEL/CentOS安装好以后,系统会自动产生一个名为annaconda.cfg的文件,我们可以根据这个文件修改成我们想要部署的系统,也可以采用Kickstart Configurator图形化配置。在终端中输入system-config-kickstart打开Kickstart Configurator。
 

2.设置基本配置

3.设置安装方式,这里可以选择光盘安装,硬盘安装和网络安装方式。如采用光盘安装则在需要将ks.cfg文件放在光盘的根目录下,并且在设置ks.cfg路径时需要在append 后面加上 ks=cdrom:/ks.cfg。如采用硬盘安装则安装镜像文件需解压到硬盘的某个分区上。如采用ftp或http方式安装,则在ftp或http的根目录下能够直接访问iso镜像的内容,可以直接将iso镜像内容加压到根目录下。如采用nfs方式安装则iso镜像无需解压到nfs共享目录下,只要能访问到光盘内容就行。

4.设置启动选项,为了U盘引导时在分区的时候不发生错误,所以在这里配置完成后到生成的ks.cfg文件中 boot-loader 加入 --driveorder=sda,sdb,sdbc

 5. 设置分区信息,在Kickstart Configurator中设置分区后,由于我们采用U盘引导系统,一般情况下U盘被识别成sdb,在制作成启动盘后U盘分区是sdb1,所以在之前设置ks.cfg路径时应当设置成ks=hd:sdb1:/ks.cfg,为了在U盘引导安装过程中只对已有硬盘进行分区,需要在这里配置后生成的ks.cfg文件中每个分区后面加上 --ondisk=sda,这样就不会出现安装过程中把U盘也重新分区的情况发生。这里测试的只是服务器有一块硬盘,所以分区只对sda进行分区。若出新多块硬盘,应当先确定U盘得盘符,然后设置相应的选项,保证U盘不被格式化。这个也是采用U盘安装的弊端。

 

 

 6.设置网络配置。由于我们是采用逐步更换虚拟化平台的方案,在更换当前虚拟机平台时,不至于影响到其他运行的虚拟机平台,在IP地址的获取上不能采用DHCP的方式,我们在安装宿主机的时候将采用一个默认的静态IP地址,通过内网下载安装过程中需要的软件包。

 7.设置认证方式。这里采用最基本的认证方式。

8..其他配置。将之前的配置保存为ks.cfg文件并编辑ks.cfg文件在%packages 下添加需要安装的软件包组件或单独的软件包,系统默认安装Base,Core软件包组件。在%post部分加入添加需要系统在安装完成后要运行的脚本程序,可以是bash,也可以是python,perl等脚本程序。

 

 

 

 

四 开始安装

   1.插入U盘到当前需要替换虚拟化平台的服务器,查看当前系统的网络配置,IP,网关,子网掩码,DNS服务器IP。挂载U盘到系统的某个分区上,如/mnt,进入到/mnt目录下,编辑ks.cfg文件,找到网络配置栏将相应的IP地址,网关,子网掩码,DNS服务器IP改成当前系统的就行了。

  2.重启系统,在BIOS里设置系统从U盘引导,系统引导后出现如下画面,敲回车键

 

 

 

五 ks.cfg文件内容

 

 

 

 
  
  1. #platform=x86, AMD64, or Intel EM64T  
  2. # System authorization information  
  3. auth  --useshadow  --enablemd5   
  4. # System bootloader configuration  
  5. bootloader --location=mbr  --driveorder=sda,sdb   设置系统启动顺序先从sda启动
  6. # Partition clearing information  
  7. clearpart --drives=sda  --all --initlabel   只格式化sda
  8. # Use text mode install  
  9. text  采用文本模式安装
  10. # Firewall configuration  
  11. firewall --enabled --ssh    
  12. # Run the Setup Agent on first boot  
  13. firstboot --disable  
  14. # System keyboard  
  15. keyboard us  
  16. # System language  
  17. lang en_US  
  18. # Installation logging level  
  19. logging --level=info 
  20. # Use HTTP installation media  
  21. url --url http://10.1.14.153/mirror/centos56_amd64_part1/  采用网络安装
  22. # Network information  设置静态IP地址,以方便连接到WEB服务器
  23. #####################################################################################  
  24. #####################################################################################  
  25. network --bootproto=static --device=eth0 --gateway=10.1.14.1 --ip=10.1.14.228 --nameserver=10.1.20.10 --netmask=255.255.255.0 --onboot=on  
  26. #####################################################################################  
  27. #####################################################################################  
  28. # Reboot after installation  
  29. reboot  
  30. #Root password  
  31. rootpw --iscrypted $1$QQBcvMTx$PDw5du8L0ikM60Esprmo50  
  32.  
  33. # SELinux configuration  
  34. selinux --enforcing  
  35. # Do not configure the X Window System  
  36. skipx  
  37. # System timezone  
  38. timezone --isUtc Asia/Shanghai  
  39. # Install OS instead of upgrade  
  40. install  
  41. # Disk partitioning information  分区要特别注意,这里采用在一块硬盘上自定义分区
  42. part / --bytes-per-inode=4096 --fstype="ext3" --size=50000  --ondisk=sda 
  43. part swap --bytes-per-inode=4096 --fstype="swap" --recommended  --ondisk=sda 
  44. part /usr --bytes-per-inode=4096 --fstype="ext3" --size=20000   --ondisk=sda 
  45. part /var --bytes-per-inode=4096 --fstype="ext3" --grow --size=1  --ondisk=sda 
  46. %packages   安装必要的软件包
  47. @base  
  48. @core  
  49. kvm 
  50. wget  
  51. dnsmasq   
  52. tunctl  
  53. tcp_wrappers  
  54. expect  
  55. pexpect  
  56.  
  57. %post   执行后安装脚本,需要安装完后执行哪些操作。
  58. cd /etc/yum.repos.d/  
  59. rm -f *.repo  
  60. echo "Downloading  CentOS.repo ..............."  
  61. wget http://10.1.14.153/mirror/ks/CentOS.repo  自己搭建的yum源文件   
  62. rpm -Uvh http://10.1.14.153/mirror/software/socat-1.6.0.1-1.el5.rf.x86_64.rpm  
  63. cd /home  socat必须单独下载,centos的yum源里没有socat
  64. echo "Downloading  ISO p_w_picpath ......"  
  65. wget http://10.1.14.153/mirror/software/win2003auto.iso  要安装的windows2003镜像,convirt支持从本地读取iso安装虚拟机
  66. echo "Downloading  convirture-tool ............"  下载并解压convirt-tools
  67. wget http://10.1.14.153/mirror/software/convirture-tools.tar.gz  
  68. echo "Installing  convirture-tool ..................."  
  69. tar -zxvf convirture-tools.tar.gz  
  70. cd /root  
  71. wget http://10.1.14.153/mirror/ks/convirt-tool-install.sh  
  72. sh convirt-tool-install.sh 
  73. convirt-tool-install里的内容上就是
  74. cd  /home/convirture-tools/install/managed_server/scripts
    ./convirt-tool setup
  75. 因为在后安装脚本执行时总是不能执行./convirt-tool setup所以就只有安装完重启后单独执行操作

 在安装过程中要注意几点:

1,本文是只有一块硬盘,并对一块硬盘进行分区。若安装时有多块硬盘,或要做软RAID,LVM等磁盘格式请按照红帽官方文档介绍进行分区,并且用U盘安装的过程中要确定好U盘得盘符。

2.网络问题,设置正确的IP地址,以使安装过程中能够访问到WEB服务器。

3.post-installation脚本是很头疼的一件事。如果用不好就不要用,里面的脚本只要有一处错误,安装过程就会卡住,影响安装进度。而且执行脚本时会出现莫名奇妙的问题,在本文中可以将后安装脚本放到安装完成以后再执行。在本文中,post-installation里始终不能执行./convirt-tool setup。刚开始以为是执行权限或是chroot的问题,但是还是不行。

4.本文写的不是最终方案。只作参考。

希望能够帮助到更多的人顺利部署