公司准备上线一批业务服务器,为不到时候不会把自己累坏了,先自己提高功力把各种可能会用到的应用技术掌握好,以应万变。
批量上线的服务器首先涉及的就是批量安装部署,先把光盘定制好以省去到时候的很多敲键盘的功夫。
测试环境:VMware® Workstation 9.0.0 build-812388
准备光盘镜像:CentOS-6.3-i386-minimal
大概的思路是:先按照应用需求安装好一个CentOS服务器,然后把CentOS中定制自动安装光盘
由于使用的是CentOS 6.3最小化安装,定制过程比网上很多使用DVD安装定制软件包的教程简单很多。
需要使用的软件:mkisofs
1. #yum install mkisofs
建立定制所需要的环境目录
1. #mkdir /mnt/cdrom
2. #mount /dev/cdrom /mnt/cdrom
3. #mkdir /data/os
4. #rsync -a /mnt/cdrom/ /data/os/ #实际上是把光盘里的文件复制到此
定制isolinux.cfg文件
即选择安装项的配置文件
1. #cd /data/os
2. #cd isolinux
3. #vim isolinux.cfg
4. default vesamenu.c32
5. #prompt 1
6. timeout 10 #超时时间
7.
8. display boot.msg
9.
10. menu background splash.jpg
11. menu title Welcome to CentOS 6.3!
12. menu color border 0 #ffffffff #00000000
13. menu color sel 7 #ffffffff #ff000000
14. menu color title 0 #ffffffff #00000000
15. menu color tabmsg 0 #ffffffff #00000000
16. menu color unsel 0 #ffffffff #00000000
17. menu color hotsel 0 #ff000000 #ffffffff
18. menu color hotkey 7 #ffffffff #ff000000
19. menu color scrollbar 0 #ffffffff #00000000
20.
21. label linux
22. menu label ^Install or upgrade an existing system
23. menu default
24. kernel vmlinuz
25. ks=cdrom:/isolinux/ks.cfg initrdinitrd=initrd.img ##增加了一句 ks=cdrom:/isolinux/ks.cfg
26. label vesa
27. menu label Install system with ^basic video driver
28. kernel vmlinuz
29. initrdinitrd=initrd.img xdriver=vesa
30. label rescue
31. menu label ^Rescue installed system
32. kernel vmlinuz
33. initrdinitrd=initrd.img rescue
34. label local
35. menu label Boot from ^local drive
36. localboot 0xffff
37. label memtest86
38. menu label ^Memory test
39. kernel memtest
40. append -
定制ks.cfg文件,这里涉及到一个内容
| 什么是KickStart | KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。 |
1. #cd /data/os
2. #cp /root/anaconda-ks.cfg ./isolinux/ks.cfg 把安装系统时由anaconda自动生成的ks.cfg文件复制到/data/os/isolinux下。并编辑
3. #vi ks.cfg
4.
5.
6. # Kickstart file automatically generated by anaconda.
7.
8. #version=DEVEL
9. install
10. cdrom
11. lang en_US.UTF-8
12. keyboard us
13. network --onboot yes --device eth0 --bootproto dhcp --noipv6 #这里我把它设置为开机DHCP自动获取IP,默认为--onboot no。
14. rootpw --iscrypted $6$FLLlvfqZKzvs/9bu$oflTVbcg8ZDgfCvBCDeyIBrgswymV7.W6ZoKc0Ona0GT/SCmBvMokbD2Ty86GH.qMOzXKlh6fTUQJRq4C50FC1
15. firewall --service=ssh
16. authconfig --enableshadow --passalgo=sha512
17. selinux --enforcing
18. timezone --utc Asia/Shanghai
19. bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
20. # The following is the partition information you requested
21. # Note that any partitions you deleted are not expressed
22. # here so unless you clear all partitions first, this is
23. # not guaranteed to work
24. zerombr #注意此处,清空MBR
25. clearpart --all --initlabel #重新初始化硬盘分区
26.
27. part /boot --fstype=ext4 --size=200
28. part swap --size=1024
29. part / --fstype=ext4 --grow --size=1
30.
31. #repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100
32.
33. reboot #安装完成后自动重启
34.
35. %packages --nobase #这里定义需要安装的包
36. @core #最小化安装只有一个core就够了。
37.
38.
39. %post #%post后面可以接一些命令、脚本。如/bin/touch /root/test.cfg,安装完成后会在/root目录下看到test.cfg文件
40. /bin/touch /root/test.cfg
41.
42. #######################################################
43. #下面是我创建SSH 公钥的脚本
44. #######################################################
45. if [ ! -d /root/.ssh ]; then
46. mkdir /root/.ssh/
47. fi
48.
49. if [ ! -f /root/.ssh/authorized_keys ]; then
50. touch /root/.ssh/authorized_keys
51. fi
52.
53. cat <<EOF >
54. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABDAAAAAgQDDZCIIaD6lCRhmRY4wwdhLcqfstvd0aT90Py9g0RTtZxkh7NcJuR/+zupmQ0Bet3UW2sGfiP3JSviQvi82QK9+orh0IC+cCboE0usgSH89nra0LLc0y2Iv816lhjh5Dmn9ubfT5uCkgnJMIu10qUqZbu2b/ypMwMe/5jEFBdG89
55. w
56. EOF
57.
58. %end #必须的结束标志
最后生成光盘镜像:
1. #mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -o /data/CentOS-6.3-i386.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table /data/OS
把光盘镜像down回本地来安装,6到8分钟后自动安装完成!
转载于:https://blog.51cto.com/fengzhige/1067111