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、egrep、vim练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及内部文件的属组和其它用户均没有任何访问权限。         [root@localhost ~]# install -d -m 600&nb…

    Linux干货 2016-11-18
  • Linux发展史

    1、Linux是什么     Linux 是一套 Unix-like 的作业系统,是 Unix 的一种,它控制整个系统基本服务的核心程式 (kernel) 是由 Linus 带头开发出来的,「Linux」这个名称便是以「Linus's Minix」来命名,Linus 选择用「大众公有版权」 (GPL)的方式来发行这份程…

    Linux干货 2016-10-19
  • bash的重定向

    一、简介         bash的数据流重定向(redirect)是将程序的执结果重新定向到另一文件或者设备。或者把一文件重定向给一程序作为数据来源。默认情况下,命令的执行结果显示在屏幕上。文件系统中,分为:标准输入,标准输出,错误输出。 二、用法   &n…

    Linux干货 2015-08-11
  • 软链接和硬链接的区别

          什么是链接文件? 使用windows的朋友们应该会经常接触到快捷方式吧!它也就是能让我们快速的打开一个目标应用程序,文件,或者文件夹来使我们的操作更加快捷。那么下面我们就来简单聊聊linux上的“链接文件”吧!            &n…

    Linux干货 2016-10-19
  • 初识linux的进程管理与作业控制(第十二天)

         进程:linux中,运行每一个二制进程序或触发每一个事件,系统都会将它定义为一个进程,并给一个进程号,称为PID。同时依据触发这个进程的用户与相关属性关系,给予这个PID一组有效的权限设置。          &nbsp…

    Linux干货 2016-06-01
  • 8.1_Linux管道的使用和用户管理

    什么是管道? 管道就是把命令1的标准输出发送给命令2的标准输入,把命令2发的标准输出发送给命令3的标准输入。。。 最后一个命令会在当前shell进程的子shell进程中执行用来 管道实现了使用目的单一的小程序,组合小程序完成复杂的任务 管道需要配合其他命令的使用 tr命令的使用,常常用于配合管道     -c或–co…

    Linux干货 2016-08-10

评论列表(1条)

  • stanley
    stanley 2015-05-18 17:27

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