Linux无人值守安装

前言

    通常情况下,我们安装Linux操作系统的时候需要从光盘启动,通过系统光盘bootloader启动安装程序,进入交互式安装模式,由用户配置安装选项,如磁盘分区、选择安装包等操作;安装完毕后重启结束安装。在生产环境中,成百上千台服务器需要安装操作系统的时候如果也采用交互式安装模式,无疑是极其低效的。本文主要介绍批量自动部署安装Linux操作系统。

服务器端环境部署:

    DHCP(Dynamic Host Configuration Protocol):动态主机配置协议,为客户端分配IP地址。

    tftp-server(Trivial File Transfer Protocol):简单文件传输协议,为客户端提供bootloader、kernel及其他引导文件

    xinetd(eXtended InterNET services daemon):超级守护进程,tftp服务依赖于此进程

    kickstart文件:自动安装配置文件

    httpd:为客户端提供安装源及kickstart安装文件

    引导文件:可从系统安装光盘提取。

一、安装配置DHCP服务

    安装dhcp

[root@qin ~]# yum -y install dhcp

    修改dhcp配置文件

[root@qin ~]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
[root@qin ~]# vim /etc/dhcp/dhcpd.conf 
default-lease-time 28800;                    #默认租约时间
max-lease-time 86400;                        #最大租约时间
log-facility local7;
subnet 192.168.19.0 netmask 255.255.255.0 {  #提供dhcp服务的子网
  range 192.168.19.100 192.168.19.110;       #可分配地址范围
  option domain-name "qin.org";              #指定搜索域
  option domain-name-servers 114.114.114.114, 8.8.8.8;        #指定域名
  option routers 192.168.19.1;                                #指定网关
  next-server 192.168.19.23;                                  #指定tftp服务器
  filename "pxelinux.0";                                      #指定pxe引导文件
}

    启动dhcp服务

[root@qin ~]# service dhcpd configtest        #检查配置文件错误
Syntax: OK
[root@qin ~]# service dhcpd start
Starting dhcpd:                                            [  OK  ]
[root@localhost ~]# ss -unl|grep :67
UNCONN     0      0                         *:67                       *:*
[root@qin ~]# chkconfig dhcpd on

二、安装配置tftp-server。

    安装

[root@qin ~]# yum -y install tftp-server

    为客户端提供引导文件

[root@qin ~]# mkdir /media/cdrom                    #引导文件可从系统安装光盘拷贝
[root@qin ~]# mount /dev/cdrom /media/cdrom
[root@qin ~]# cp /media/cdrom/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/
[root@qin ~]# cp /media/cdrom/isolinux/{boot.msg,splash.jpg,vesamenu.c32} /var/lib/tftpboot/
[root@qin ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@qin ~]# cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
[root@qin ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
label linux
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz
  append initrd=initrd.img ks=http://192.168.19.23/ks.cfg    #指定kickstart文件路径
[root@qin ~]# yum -y install syslinux               #pxe引导文件由此包提供
[root@qin ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@qin ~]# tree /var/lib/tftpboot/               #检查内核及引导文件是否完整
/var/lib/tftpboot/
├── boot.msg
├── initrd.img
├── pxelinux.0
├── pxelinux.cfg
│   └── default
├── splash.jpg
├── vesamenu.c32
└── vmlinuz

1 directory, 7 files

    启动tftp-server

[root@qin ~]# chkconfig tftp on
[root@qin ~]# service xinetd start
Starting xinetd:                                           [  OK  ]
[root@qin ~]# ss -unl|grep :69
UNCONN     0      0                         *:69                       *:*

三、kickstart文件生成

[root@qin ~]# yum -y groupinstall "X Window System" "Desktop"    #kickstart文件创建依赖与图形桌面
[root@qin ~]# yum -y install system-config-kickstart

    在图形桌面执行system-config-kickstart命令,根据需要选择或填写相关信息即可。

ks.png

    保存退出后会生成一个配置文件,可以根据需要再次修改。

firewall --disabled
selinux --disabled
install
url --url="http://192.168.19.23/centos6"        #指定网络安装路径
repo --name="CentOS"  --baseurl=http://192.168.19.23/centos6 --cost=100    #指定安装源地址
rootpw --iscrypted $1$RWj/3$0JlND19WoyIh3cIx1zdCE0        #密码字符串也可以通过grub-md5-crypt命令生成
auth  --useshadow  --passalgo=sha512
text                 #文本界面安装,默认为graphics
keyboard us
lang en_US
skipx
logging --level=info
reboot
timezone  Asia/Chongqing
network  --bootproto=dhcp --device=eth0 --onboot=on
bootloader --location=mbr
zerombr            #清空mbr
clearpart --all  
part pv.01 --grow --size=1            #配置逻辑卷,system-config-kickstart不支持逻辑卷,需要直接修改配置文件
part /boot --fstype=ext4 --size=500
volgroup VolGroup --pesize=4096 pv.01
logvol / --fstype=ext4 --name=lv_root --vgname=VolGroup --grow --size=1024 --maxsize=8192
logvol swap --name=lv_swap --vgname=VolGroup --grow --size=1984 --maxsize=1984

%packages        #指定安装包或包组,包组以@打头
@base
@development
@server-platform-devel
%end

%pre        #安装前执行脚本,此处未指定
%end

%post       #安装后执行脚本
groupadd -g 1001 qin
useradd -u 1001 -g 1001 qin
%end

四、安装配置httpd。

    安装

[root@qin ~]# yum -y install httpd

    配置

[root@qin ~]# mkdir /var/www/html/centos6
[root@qin ~]# mount /dev/cdrom /media/cdrom
[root@qin ~]# mount --bind /media/cdrom /var/www/html/centos6        #绑定光盘镜像到httpd工作目录作为安装源供客户端使用
[root@qin ~]# cp /root/ks.cfg /var/www/html/            #把此前生成的kickstart文件放到http工作目录供客户端调用

    启动

[root@qin ~]# service httpd start
[root@qin ~]# chkconfig httpd on

客户端配置

    1、修改bios设置,从网卡启动

network.png

dhcp.png

    2、选择第一项,可以直接回车执行自动安装;亦可以按TAB键手动修改需要读取的kickstart文件

ks1.png

    3、开始安装

install.png

    4、安装完验证是否与kickstart文件一致

ip.png

id.png

lvm.png

   

原创文章,作者:秦,如若转载,请注明出处:http://www.178linux.com/4350

评论列表(1条)

  • stanley
    stanley 2015-05-18 17:27

    有qa过程吗?虚拟化机器能正常安装吗?一个网络同时有多个dhcp服务会出什么问题吗?