一 制作U盘启动盘
有关U盘启动盘的制作请参考这篇文章。 http://www.linuxidc.com/Linux/2012-03/57704.htm
二 设置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盘引导,系统引导后出现如下画面,敲回车键
650) this.width=650;” border=0> 650) this.width=650;” border=0> 650) this.width=650;” border=0>
650) this.width=650;” border=0>
650) this.width=650;” border=0>
650) this.width=650;” border=0>
五 ks.cfg文件内容
- #platform=x86, AMD64, or Intel EM64T
- # System authorization information
- auth –useshadow –enablemd5
- # System bootloader configuration
- bootloader –location=mbr –driveorder=sda,sdb 设置系统启动顺序先从sda启动
- # Partition clearing information
- clearpart –drives=sda –all –initlabel 只格式化sda
- # Use text mode install
- text 采用文本模式安装
- # Firewall configuration
- firewall –enabled –ssh
- # Run the Setup Agent on first boot
- firstboot –disable
- # System keyboard
- keyboard us
- # System language
- lang en_US
- # Installation logging level
- logging –level=info
- # Use HTTP installation media
- url –url http://10.1.14.153/mirror/CentOS56_amd64_part1/ 采用网络安装
- # Network information 设置静态IP地址,以方便连接到WEB服务器
- #####################################################################################
- #####################################################################################
- 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
- #####################################################################################
- #####################################################################################
- # Reboot after installation
- reboot
- #Root password
- rootpw –iscrypted $1$QQBcvMTx$PDw5du8L0ikM60Esprmo50
- # SELinux configuration
- selinux –enforcing
- # Do not configure the X Window System
- skipx
- # System timezone
- timezone –isUtc Asia/Shanghai
- # Install OS instead of upgrade
- install
- # Disk partitioning information 分区要特别注意,这里采用在一块硬盘上自定义分区
- part / –bytes-per-inode=4096 –fstype=“ext3” –size=50000 –ondisk=sda
- part swap –bytes-per-inode=4096 –fstype=“swap” –recommended –ondisk=sda
- part /usr –bytes-per-inode=4096 –fstype=“ext3” –size=20000 –ondisk=sda
- part /var –bytes-per-inode=4096 –fstype=“ext3” –grow –size=1 –ondisk=sda
- %packages 安装必要的软件包
- @base
- @core
- kvm
- wget
- dnsmasq
- tunctl
- tcp_wrappers
- expect
- pexpect
- %post 执行后安装脚本,需要安装完后执行哪些操作。
- cd /etc/yum.repos.d/
- rm -f *.repo
- echo “Downloading CentOS.repo ……………”
- wget http://10.1.14.153/mirror/ks/CentOS.repo 自己搭建的yum源文件
- rpm -Uvh http://10.1.14.153/mirror/software/socat-1.6.0.1-1.el5.rf.x86_64.rpm
- cd /home socat必须单独下载,centos的yum源里没有socat
- echo “Downloading ISO image ……”
- wget http://10.1.14.153/mirror/software/win2003auto.iso 要安装的windows2003镜像,convirt支持从本地读取iso安装虚拟机
- echo “Downloading convirture-tool …………” 下载并解压convirt-tools
- wget http://10.1.14.153/mirror/software/convirture-tools.tar.gz
- echo “Installing convirture-tool ……………….”
- tar -zxvf convirture-tools.tar.gz
- cd /root
- wget http://10.1.14.153/mirror/ks/convirt-tool-install.sh
- sh convirt-tool-install.sh
- convirt-tool-install里的内容上就是
- cd /home/convirture-tools/install/managed_server/scripts
./convirt-tool setup- 因为在后安装脚本执行时总是不能执行./convirt-tool setup所以就只有安装完重启后单独执行操作
在安装过程中要注意几点:
1,本文是只有一块硬盘,并对一块硬盘进行分区。若安装时有多块硬盘,或要做软RAID,LVM等磁盘格式请按照红帽官方文档介绍进行分区,并且用U盘安装的过程中要确定好U盘得盘符。
2.网络问题,设置正确的IP地址,以使安装过程中能够访问到WEB服务器。
3.post-installation脚本是很头疼的一件事。如果用不好就不要用,里面的脚本只要有一处错误,安装过程就会卡住,影响安装进度。而且执行脚本时会出现莫名奇妙的问题,在本文中可以将后安装脚本放到安装完成以后再执行。在本文中,post-installation里始终不能执行./convirt-tool setup。刚开始以为是执行权限或是chroot的问题,但是还是不行。
4.本文写的不是最终方案。只作参考。
希望能够帮助到更多的人顺利部署111111111111111111111111