架构师成长之路-PXE+Kickstart无人值守大量部署Linux
架构师成长之路-PXE+Kickstart无人值守大量部署Linux
所谓的无人值守,就是自动应答,当安装过程中需要人机交互提供某些选项的答案时(如如何分区),自动应答文件可以根据对应项自动提供答案。
但是,无人值守并不完全是无人值守,在设置bios从网卡启动是必须人为设置的,且安装完系统后设置不从网卡启动也是需要人为设置的。此处之外,其他的都可以无人值守。
要配置无人值守的系统安装,需要提供安装过程中需要的各种选择,这些选择在kickstart的配置文件中,一般正常安装完Linux系统在root用户的家目录下有一个anaconda-ks.cfg,以下是该文件中的部分内容。
[root@localhost /]# cat ~/anaconda-ks.cfg #version=DEVEL # System authorization information auth --useshadow --enablemd5 # Install OS instead of upgrade install # Use CDROM installation media cdrom # Use graphical install graphical # Firewall configuration firewall --enabled firstboot --disable ignoredisk --only-use=sda # Keyboard layouts # old format: keyboard us # new format: keyboard --vckeymap=us --xlayouts='us' # System language lang en_US.UTF-8 # Network information network --bootproto=dhcp --device=link --activate network --hostname=localhost.localdomain # Reboot after installation reboot # Root password rootpw --iscrypted $1$qpLCHyKc$tpgPpfZdmb/8lGsunfGWk/ # System services services --enabled="chronyd" # System timezone timezone America/Los_Angeles --isUtc # X Window System configuration information xconfig --startxonboot # System bootloader configuration bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda # Clear the Master Boot Record zerombr # Partition clearing information clearpart --all --initlabel # Disk partitioning information part /boot --fstype="xfs" --size=300 part swap --fstype="swap" --size=1024 part / --fstype="xfs" --size=8915 %post /usr/sbin/adduser carlos /usr/sbin/usermod -p '$1$qpLCHyKc$tpgPpfZdmb/8lGsunfGWk/' carlos /usr/bin/chfn -f "Centos" carlos mv /etc/rc.d/rc.local /etc/rc.d/rc.local.00 echo '#!/bin/bash' > /etc/rc.d/rc.local ln -s ../rc.local /etc/rc.d/rc5.d/S99rclocal chmod 755 /etc/rc.d/rc.local echo 'mkdir -p /var/log/vmware' >> /etc/rc.d/rc.local echo 'exec 1> /var/log/vmware/rc.local.log' >> /etc/rc.d/rc.local echo 'exec 2>&1' >> /etc/rc.d/rc.local echo 'set -x' >> /etc/rc.d/rc.local echo 'echo Installing Open VM Tools' >> /etc/rc.d/rc.local echo 'set -x' >> /etc/rc.d/rc.local echo '/bin/eject sr0 || /bin/true' >> /etc/rc.d/rc.local echo '/bin/eject sr1 || /bin/true' >> /etc/rc.d/rc.local echo '/bin/vmware-rpctool' \'guest.upgrader_send_cmd_line_args --default\' >> /etc/rc.d/rc.local echo '/bin/vmware-rpctool' \'upgrader.setGuestFileRoot /tmp\' >> /etc/rc.d/rc.local echo '/bin/vmware-rpctool' \'toolinstall.installerActive 1\' >> /etc/rc.d/rc.local echo '/bin/vmware-rpctool' \'toolinstall.installerActive 100\' >> /etc/rc.d/rc.local echo 'rm -f /etc/rc.d/rc.local' >> /etc/rc.d/rc.local echo 'rm -f /etc/rc.d/rc5.d/S99rclocal' >> /etc/rc.d/rc.local echo 'mv /etc/rc.d/rc.local.00 /etc/rc.d/rc.local' >> /etc/rc.d/rc.local /bin/echo done %end %packages @base @core @desktop-debugging @dial-up @directory-client @fonts @gnome-desktop @guest-desktop-agents @input-methods @internet-browser @java-platform @multimedia @network-file-system-client @print-client @x11 binutils chrony ftp gcc kernel-devel kexec-tools make open-vm-tools patch python %end %addon com_redhat_kdump --enable --reserve-mb='auto' %end
上面提到,装系统时很多选项在里面都记录了。
那么,要使用kickstart来批量部署操作系统,就需要提供该文件。
yum install system-config-kickstart #安装kickstart
system-config-kickstart #配置kickstart
A. 设置语言,键盘,时区,Root密码,安装完毕后重启等。
B.置安装方式,这篇文章介绍的是HTTP方式的安装,故选择HTTP
C. 安装MBR
D. 设置分区
E. 分区总览
F. 配置网络
G. 认证配置
H. SELinux 和防火墙配置
I. 图形环境配置
J. 软件包安装选择
K. 预览
L. 生成ks.cfg 文件,保存在/var/www/html/ 文件夹下
可以打开/var/www/html/ks.cfg 文件进行查看并做修改。
测试安装
自动化安装系统配置完毕,下面启动一台新的机器进行测试,网络连接模式选择NAT模式。
新建虚拟机,选择自定义(高级)
选择“稍后安装操作系统”
选择客户机操作系统类型
命名虚拟机
设置此虚拟机的内存
设置网络类型
选择I/O控制器类型
选择磁盘类型
选择磁盘
指定磁盘大小,ks.cfg 文件中,我们定义了/ 大小为8GB,swap 分区为1GB,/home 分区为2GB,所以这里的磁盘大小至少要为12GB。
而且,一定要勾选上“立即分配所有磁盘空间”,不然在后来安装的时候将提示没有磁盘空间。
指定磁盘文件
虚拟机总览
正在创建磁盘,过程会很慢,虚拟机需要产生一个20GB的文件。
启动虚拟机,选择从网卡启动,DHCP 服务器正在给客户机分配IP地址。
开始下载vmlinuz 和initrd.img
安装过程...
安装过程...
............
作者:CARLOS_CHIANG
出处:http://www.cnblogs.com/yaoyaojcy/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
posted on 2018-11-14 17:11 CARLOS_KONG 阅读(525) 评论(0) 编辑 收藏 举报