Kickstart 批量安装Linux系统
Kickstart的工作原理想必大家都知道了,通过pxe协议同时装配多台服务器。一般用的时候不多,但是要知道,用的时候才能得心应手,我的环境如下:
需要安装部署的Linux服务器:
Redhat 6.4 64位
IP地址:192.168.30.34
网卡:p3p1
子网掩码:255.255.255.0
网关:192.168.30.1
DNS:202.106.0.20 或者 8.8.8.8
具体操作:
第一部分:在kickstart服务器系统操作
- 关闭SELINUX
vi /etc/sysconfig/selinux
SELINUX= 改成 disabled
:wq #保存退出
但是需要重启系统
setenforce 0 #使配置立即生效 不需要重启系统
---------------------------------------------------------------------------------------------------------------------------------
查看SELNUX状态:
/usr/sbin/sestatus –v ##SELINUX status 参数为enabled即为开启状态
SELINUXstatus: enabled
setenforce0 ##使配置立即生效
---------------------------------------------------------------------------------------------------------------------------------2.配置防火墙,开启TCP:80端口、UDP: 69端口
vi/etc/sysconfig/iptables
-ARH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT##http服务需要此端口
-ARH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 69 -j ACCEPT##tftp服务需要此端口
/etc/init.d/iptablesrestart ##最后重启防火墙使配置生效
3.安装http服务器
yum -yinstall httpd #安装
chkconfighttpd on #设置开机启动
servicehttpd start #启动
声明:我是安装服务器的时候就已经安装了httpd服务了,所以就没有再次安装,这里我只是写一下步骤,没有安装的可以安装,已经安装的可以直接跳过此步骤
4.挂载系统安装镜像到httpd服务器站点目录
上传系统安装镜像文件到/usr/local/src/ 目录
mkdir -p/var/www/html/os ##创建挂载目录
mount -tiso9660 -o loop /usr/local/src/rhel-server-6.4-x86_64-dvd.iso /var/www/html/os ##挂载系统镜像
卸载:umount /var/www/html/os ##不过你不要卸载,因为下面要用
5.安装tftp服务器
yum -yinstall tftp tftp-server ##安装
vi/etc/xinetd.d/tftp ##编辑
servicetftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
per_source = 11
cps = 100 2
flags = IPv4
}
:wq ##保存退出
servicexinetd start ##启动
mkdir -p/var/lib/tftpboot
cp/var/www/html/os/images/pxeboot/vmlinuz /var/lib/tftpboot
cp/var/www/html/os/images/pxeboot/initrd.img /var/lib/tftpboot
mkdir -p/var/lib/tftpboot/pxelinux.cfg
cp/var/www/html/os/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default ##拷贝启动菜单
vi/var/lib/tftpboot/pxelinux.cfg/default ##编辑修改
defaultlinux
prompt 0
timeout600
displayboot.msg
F1boot.msg
F2options.msg
F3general.msg
F4param.msg
F5rescue.msg
labellinux
kernelvmlinuz
appendinitrd=initrd.img ks=http://192.168.30.34/ks.cfg ksdevice=p3p1 ip=dhcp
labeltext
kernelvmlinuz
appendinitrd=initrd.img text
label ks
kernelvmlinuz
append ksinitrd=initrd.img
labellocal
localboot1
labelmemtest86
kernelmemtest
append –
:wq ##保存退出
chmod 644/var/lib/tftpboot/pxelinux.cfg/default ##设置文件权限
yum -yinstall syslinux ##安装引导程序
cp/usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ ##拷贝引导文件到tftp服务器根目录
6.安装DHCP服务器
yum -yinstall dhcp ##安装
cp/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcpd.conf ##复制配置文件模板
vi/etc/dhcpd.conf ##编辑配置文件
ddns-update-styleinterim; ##设置DHCP服务器模式
ignoreclient-updates; ##禁止客户端更新
subnet192.168.30.0 netmask 255.255.255.0 { ##设置网段
option routers 192.168.30.1; ##设置网关
option subnet-mask 255.255.255.0; ##设置子网掩码
option domain-name-servers 8.8.8.8; ##设置DNS服务器地址
range 192.168.30.35 192.168.30.36; ##设置dhcp服务器IP地址租用范围。如果dhcp版本是3.0的那么此行修改为:range dynamic-bootp 192.168.30.35 192.168.30.36;
default-lease-time 21600; ##默认租约时间
max-lease-time 43200; ##最大租约时间
next-server 192.168.30.34; ##tftp服务器地址
filename "pxelinux.0"; ##tftp服务器根目录下面的文件名
}
:wq ##保存退出
vi/etc/sysconfig/dhcpd ##指定DHCP的网络接口
DHCPDARGS=p3p1
:wq ##保存退出
dhcpd ##测试dhcp服务器配置是否正确
service dhcpd start ##启动dhcp服务
chkconfig dhcpd on ##设置开机启动
7.配置kickstart 自动安装文件
yum -y install system-config-kickstart ##安装工具包
声明:如需连接图形界面,首先需要在本地安装:Xme4_20140318180407-3(xshell)
然后运行Xmanager – Passive 会在右下角有一个Xmanager 4[0.0]
接下来我们在图形界面打开终端输入:
export DISPLAY=192.168.30.xx:0.0 ##192.168.30.xx为本机IP
system-config-kickstart ##弹出界面
我们设置下默认安装的语言,时区,根口令,然后勾选下面的安装后重新引导。然后选择安装方法
接下来
我们配置http服务器的安装方法,选择执行新安装,然后点击引导装载程序选项
Grub 可以设置密码,不设置也可以
大家可以参照我的图:
这个选择添加网络设备网络设备名字写p3p1 确定就行
这里面验证选MD5
默认就行个人习惯,想改也可以
这个是选择自已所需的软件包,根据自已的要求选择
然后选择保存,保存的路径
然后把其他机器插到和这个机器一样的交换机下,选择网络启动就可以了,
开机按F12进入BIOS:
选择Wake on LAN->LAN with PXE Boot
重新启动进入BIOS:
如果安装过程中出现:
则需要把/var/www/html/ks.cfg 文件中的相关包删除掉即可
至此完毕,谢谢