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)
秦
上一篇 2015-05-14
下一篇 2015-05-18

相关推荐

  • grep与正则表达式

    1.什么是grep grep(Golobal Regular Expression print)是Linux系统中一个强大的文本搜索工具,也是俗称的搜索三兄弟之一,grep的最大意义就是搜索文本,把匹配的行打印到屏幕上,但不影响原文件的内容;在搜索文本的过程中,可以利用到“正则表达式”来定以自己的搜索匹配模式。 Unix的grep家族包括了grep、egre…

    Linux干货 2015-10-08
  • 如何理解云计算中IaaS、PaaS和SaaS?很简单,就像吃货想吃披萨了…

                                                      &nbsp…

    2015-04-17
  • linux系统启动之破坏与修复

    linux系统启动之破坏与修复:      通过这些实验,了解linux启动流程和相关文件,同时也预防系统发生问题能更快解决,而不用重装或者耽误时间:      实验:破坏MBR 446     dd if=/dev/zero of=/dev/sda bs=1 count=446…

    Linux干货 2017-03-30
  • linux文件管理命令及用法

    Linux目录和路径   说到linux的文件管理,就不得不说文件的路径,在linux系统中,路径分为绝对路径和相对路径:绝对路径是从根目录/开始的,相对路径是以 . 或 ..开始的.  .  :表示当前目录; ..  :表示当前目录的上一级目录; –   :表示前一个工作目录; ~ &…

    Linux干货 2016-11-06
  • 对ssh的简单理解

    ssh:secure shell,protocol,22、tcp安全的远程登录 具体的软件实现:openssh:ssh协议的开源实现,centos默认安装dropbear:另一个开源实现ssh协议版本v1:基于crc-32做MAC,不安全;man-in-middle 已淘汰v2:双方主机协议选择安全的MAC方式基于DH算法做密钥交换,基于RSA或DSA实现身…

    2017-09-29
  • rsync+inotify实时同步备份数据

    rsync同步 rsync+inotify实时同步备份数据 软件简介: rsync命令简介: rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大…

    Linux干货 2016-10-28

评论列表(1条)

  • stanley
    stanley 2015-05-18 17:27

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