更新时间:2022-09-21 22:51:45
前言* 随着公司业务不断增加,经常需要采购新服务器,并要求安装Linux系统,并且要求Linux版本要一致,方便以后的维护和管理,每次人工安装linux系统会浪费掉更多时间,如果我们有办法能节省一次一次的时间岂不更好呢?下面就让我们开始进入自动安装linux系统学习!
一、实用环境
虽然网上有成千上万的kickstart安装配置文档,但是在这些文章中,有好多配置,我们可能看不懂,好多地方模糊,所以根据亲身实践并在生产环境使用自动安装linux过程写给大家,希望对刚接触Linux自动安装系统的朋友一些点滴的帮助!
二、正式安装
实践环境为Centos 5.3 x86_64 ,通过标题我们需要配置这些步骤Kickstart+Dhcp+Nfs+Tftp+Pxe,我们从最简单的dhcp、tftp、nfs开始配置:安装dhcp、tftp
yum install -y dhcp* tftp* 即可!nfs系统默认已经安装,稍后会配置,先来配置tftp
vi /etc/xinetd.d/tftp
1
2
3
4
5
6
7
8
9
10
11
12
13
|
service tftp { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/ in .tftpd
server_args = -u nobody -s /tftpboot per_source = 11
cps = 100 2
flags = IPv4 } |
#需要修改1个地方
#disable = yes 修改为no即可!
2、配置tftp+pxe
安装linux系统,首先需要挂载linux安装镜像,可以是iso,可以是linux光盘
mount /dev/cdrom /mnt
#如果系统是5.x,默认tftpboot目录已经自动创建到/根目录下
#如果系统是6.x,默认tftpboot目录在/var/lib/下,所以centos6.x需要做软链接到/根目录下
1
2
3
4
5
6
7
8
9
|
ln -s / var /lib/tftpboot/
cd /tftpboot yum install syslinux syslinux-devel -y #如果是 5 .x系统执行这一条命令
cp /usr/lib/syslinux/pxelinux. 0 ./
#如果是 6 .x系统执行这一条命令
cp /usr/share/syslinux/pxelinux. 0 ./
cp /mnt/images/pxeboot/{vmlinuz,initrd.img} ./ mkdir -p pxelinux.cfg &&cp /mnt/isolinux/isolinux.cfg pxelinux.cfg/ default 完毕!
|
3、然后编辑defalut配置文件:
vi /tftpboot/pxelinux.cfg/default (修改配置为如下)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
default linux
prompt 1
timeout 10
display boot.msg F1 boot.msg F2 options.msg F3 general.msg F4 param.msg F5 rescue.msg label linux
kernel vmlinuz append ks=nfs: 192.168 . 0.79 :/centosinstall/ks.cfg ksdevice=eth0 initrd=initrd.img
label text
kernel vmlinuz append initrd=initrd.img text label ks
kernel vmlinuz append ks initrd=initrd.img label local
localboot 1
label memtest86
kernel memtest append - |
#修改如上两个红色地方即可:设置timeout 10 /*超时时间为10S */;ksdevice=etho代表当我们有多块网卡的时候,要实现自动化需要设置从eth0安装,不指定的话,安装的时候系统会让你选择,那就不叫全自动化了
#192.168.0.79是kickstart服务器,/centosinstall 是nfs共享linux镜像的目录,也是linux存放安装文件的路径,ks.cfg是kickstart主配置文件,稍后会详细配置
#自此tftp配置完毕!我们可以启动它,它是非独立服务,需要借助xinetd启动如下:
1
|
chkconfig tftp --level 35 on && service xinetd restart 即可!
|
4、接下来安装nfs+kickstart:
创建nfs共享目录,也是存放linux镜像的目录:
1
2
|
mkdir -p /centosinstall cp -rf /mnt/* /centosinstall |
#镜像拷贝完后,配置nfs共享,如下:
vi /etc/exports 加入如下内容
1
|
/centosinstall *(rw,sync) |
表示共享/centosinstall目录 *代表所有的客户端ip都可以访问,权限为读写rw
5、nfs配置完毕,接着配置kickstart主配文件:
cd /centosinstall/ 目录,然后新建ks.cfg,命令为vi ks.cfg,写入如下内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# Kickstart file automatically generated by anaconda. install text nfs --server= 192.168 . 0.79 --dir=/centosinstall
key --skip lang zh_CN.UTF- 8
keyboard us network --device eth0 --bootproto=dhcp --noipv6 rootpw linux@passwd firewall --disabled authconfig --enableshadow --enablemd5 selinux --disabled timezone Asia/Shanghai bootloader --location=mbr --driveorder=sda --append= "rhgb quiet"
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed # here so unless you clear all partitions first, this is
# not guaranteed to work clearpart --all --initlabel part /boot --fstype ext3 --size= 200
part swap --size= 4000
part /www/logs --fstype ext3 --size= 20000
part / --fstype ext3 --size= 20000
part /home --fstype ext3 --size= 10000
part /www --fstype ext3 --size= 1 --grow
%packages @admin-tools @base @core @development-libs @development-tools @editors @system-tools @base-x @chinese-support keyutils kexec-tools trousers fipscheck device-mapper-multipath imake audit xorg-x11-server-Xnest xorg-x11-server-Xvfb |
如上ks.cfg配置完毕,并设置其权限:chmod 777 /centosinstall/ks.cfg
具体配置参数可以参考该文章:http://wenku.baidu.com/view/ab012dfb770bf78a65295420.html kickstart参数详解!
6、配置dhcp服务
dhcp配置下载地址,如果需要大批量安装linux服务器,可以设置dhcp段:vi dhcpd.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
ddns-update-style interim; ignore client-updates; next-server 192.168 . 0.79 ;
filename "pxelinux.0" ;
allow booting; allow bootp; subnet 192.168 . 0.0 netmask 255.255 . 255.0 {
# --- default gateway
option routers 192.168 . 0.1 ;
option subnet-mask 255.255 . 252.0 ;
# option nis-domain "domain.org" ;
# option domain-name "192.168.0.10" ;
# option domain-name-servers 192.168 . 0.10 ;
# option ntp-servers 192.168 . 1.1 ;
# option netbios-name-servers 192.168 . 1.1 ;
# --- Selects point-to-point node ( default is hybrid). Don't change this unless
# -- you understand Netbios very well # option netbios-node-type 2 ;
range dynamic -bootp 192.168 . 0.100 192.168 . 0.200 ;
host ns { hardware ethernet 00 :1a:a0:2b: 38 : 81 ;
fixed-address 192.168 . 0.101 ;}
} |
三、部署后测试
#接下来我们重启所有服务,并测试,
#注意这里安装完后重启登陆的密码为ks.cfg里面配置的rootpwd 后面的linux@passwd
1
2
3
|
service xinetd restart service nfs restart service dhcpd restart |
#找一台需要安装linux系统机器,进入bios把第一启动项设置为LAN 也即是网卡启动!
#然后启动,系统会自动查找本地pxe 服务器然后,自动安装!
最后非常感谢:http://wenku.baidu.com/view/ab012dfb770bf78a65295420.html参考,当初配置过程也遇到了好多问题,一点一点的解决,只有你真正做过,你才会有体会!不足之处欢迎提出,本文随之更新!
本文转自 wgkgood 51CTO博客,原文链接:http://blog.51cto.com/wgkgood/530304