批量部署步骤:

1.检查环境

getenforce               #检查内核防火墙是否关闭

systemctl status firewalld       #检查firewalld是否开启

2.配置yum源

mkdir /iso

mount /dev/cdrom /iso

ls /iso/

cd /etc/yum.repos.d/

rm -rf ./*.repo

vim suibian.repo

#######################

[suibian]

name=suibianle iso

baseurl=file:///iso

enabled=1

gpgcheck=0

#######################

yum clean all

yum makecache

pxe工作示意图:

3.安装dhcp

#给批量装机的新机器分配IP

yum -y install dhcp

cd /etc/dhcp/

cat dhcpd.conf

cat /usr/share/doc/dhcp*/dhcpd.conf.example |egrep -v '^#' |egrep -v '^$' > dhcpd.conf

vim dhcpd.conf

#############################

option domain-name "example.org";

option domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 600;

max-lease-time 7200;

log-facility local7;                         #以上为系统默认数值,需保留

subnet 192.168.10.0 netmask 255.255.255.0 { #自己的子网和掩码

range 192.168.10.180 192.168.10.200;         #自动分配的IP范围

option routers 192.168.10.105;               #路由,写本机IP

filename "pxelinux.0";                     #安装引导文件

next-server 192.168.10.105;                   #去哪找引导文件,本机IP

}

################################

systemctl start dhcpd      #启动DHCP服务

systemctl enable dhcpd

firewall-cmd --add-port=67/udp        #关闭对应端口的防火墙

firewall-cmd --add-port=67/udp --permanent

4.安装xinetd和TFTP

xinetd:(extended internet daemon)是新一代的网络守护进程服务程序,又叫超级Internet服务器,常用来管理多种轻量级Internet服务。

使用xinetd启动守护进程:

原则上任何系统服务都可以使用xinetd,然而最适合的应该是那些常用的网络服务,同时,这个服务的请求数目和频繁程度不会太高。像DNS和Apache就不适合采用这种方式,而像FTP、Telnet、SSH等就适合使用xinetd模式,系统默认使用xinetd的服务可以分为如下几类。

① 标准Internet服务:telnet、ftp。

② 信息服务:finger、netstat、systat。

③ 邮件服务:imap、imaps、pop2、pop3、pops。

④ RPC服务:rquotad、rstatd、rusersd、sprayd、walld。

⑤ BSD服务:comsat、exec、login、ntalk、shell、talk。

⑥ 内部服务:chargen、daytime、echo、servers、services、time。

⑦ 安全服务:irc。

⑧ 其他服务:name、tftp、uucp。

具体可以使用xinetd的服务在/etc/services文件中指出。

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。协议为UDP。TFTP server 是一个多线程TFTP服务器,允许任何数量的客户端连接同时进行。

yum -y install tftp-server xinetd

vim /etc/xinetd.d/tftp

####################

service tftp

{

socket_type            = dgram

protocol           = udp

wait                 = yes

user                  = root

server        = /usr/sbin/in.tftpd

server_args             = -s /tftpboot        #指定tftp服务的目录-s指定为可以创建文件

disable             = no              #启用tftp服务

per_source              = 11

cps                   = 100 2

flags                 = IPv4

}

########################

mkdir /tftpboot         #创建tftp服务的传输目录

systemctl restart xinetd         #启动xinetd

systemctl enable xinetd

firewall-cmd --add-port=69/udp

firewall-cmd --add-port=69/udp --permanent

5.安装httpd

httpd是一个wed服务器,用来创建网站

syslinux是一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后,sysLinux启动盘就可以引导各种基于DOS的工具,以及MS-DOS/Windows或者任何其它操作系统。不仅支持采用BIOS结构的主板,而且从6.0版也开始支持采用EFI结构的新型主板。

yum -y install httpd syslinux

cd /var/www/html/

mkdir iso

mount /dev/cdrom /var/www/html/iso/              #将本地系统光盘挂载到Apache网站上

vim /etc/fstab

#####################

/dev/sr0 /var/www/html/iso  iso9660  defaults 0 0     #永久挂载

######################

cd iso/isolinux/         #切换到网站文件目录里的Linux系统目录下

cp vmlinuz /tftpboot/       #将系统内核拷贝到tftp传输目录下

cp initrd.img /tftpboot/    #将initrd文件拷贝到tftp传输目录下

mkdir /tftpboot/pxelinux.cfg          #创建配置文件存放目录,名称最好固定写成pxelinux.cfg

cp isolinux.cfg /tftpboot/pxelinux.cfg/default

cp /usr/share/syslinux/pxelinux.0 /tftpboot/

cd /tftpboot/

ls

cd pxelinux.cfg/

vim default        #编辑isolinux.cfg文件

#########################

default ks          #更改默认程序段名

label ks              #配置默认的引导程序

MENU LABEL Install CentOS 7 x86_64

KERNEL vmlinuz

APPEND initrd=initrd.img label ks

menu label ^Install CentOS 7

kernel vmlinuz

append initrd=initrd.img method=http://192.168.10.105/iso ks=http://192.168.10.105/ks.cfg devfs=nomount

###########################

文件简介:

(1)isolinux

用SYSLINUX或ISOLINUX制作启动U盘或光盘 SYSLINUX/ISOLINUX 是专门用来引导可移动介质的轻量级引导程序,因为这样的介质通常不会固定只针对一种硬件。ISOLINUX其实是一个简单的Linux系统。

(2)vmlinuz

vmlinuz是可引导的、压缩的内核。“vm”代表 “Virtual Memory”。Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。vmlinuz是可执行的Linux内核,它位于/boot/vmlinuz,它一般是一个软链接。

(3)initrd.img

Linux初始RAM磁盘(initrd)是在系统引导过程中挂载的一个临时根文件系统,用来支持两阶段的引导过程。initrd文件中包含了各种可执行程序和驱动程序,它们可以用来挂载实际的根文件系统,然后再将这个 initrd RAM磁盘卸载,并释放内存。在很多嵌入式Linux系统中,initrd 就是最终的根文件系统。

(4)isolinux.cfg

ISOLINUX启动后,默认会去读出cd光盘根目录的一个isolinux.cfg 文件,用来指定的内核镜像位置等。

(5)pxelinux.0

编辑pxelinux.0的配置文件,以使pxelinux可以正确载入Red Hat Linux安装程序。对于每一个要被安装的Red Hat Linux版本,都需要执行一次该操作。 启动镜像pxelinux.0文件在执行过程中,会读取配置文件以确定它应该载入什么Linux内核文件来运行。所有的配置文件都放在启动服务器的 /tftpboot/pxelinux.cfg/目录下。pxelinux.0根据一定的规则来搜索合适的配置文件名。

6.编辑ks文件

anaconda-ks.cfg这个文件记录的是安装系统时的一些基本信息。

这个配置文件经修改之后可以用于雷同环境下,使用Kickstart来自动安装大量同样的操作系统,可以把这个文件经修改之后放入U盘,命名为ks.cfg。

在装系统时,出现boot界面时就可以输入:

linux ks=/dev/sdb:/yourpath/ks.cfg  #ks的路径视你的U盘的为哪个盘而定

也可以放入nfs服务器,通过网络安装,出现boot界面时就可以输入:

linux ks=nfs:servername:/yourpath/ks.cfg

cd

cp anaconda-ks.cfg /var/www/html/ks.cfg         #将ks文件放入httpd工作目录下

cd /var/www/html

vim ks.cfg

################################

#version=DEVEL

# System authorization information     #系统授权信息

auth --enableshadow --passalgo=sha512

# Use CDROM installation media       #使用哪种安装方式

install

url --url="http://192.168.10.105/iso"

# Use graphical install

graphical

# Run the Setup Agent on first boot

firstboot --enable

ignoredisk --only-use=sda

# Keyboard layouts

keyboard --vckeymap=cn --xlayouts='cn'

# System language

lang zh_CN.UTF-8

# Network information    #网络配置信息

network  --bootproto=dhcp --device=ens33 --onboot=off --ipv6=auto --no-activate

network  --hostname=localhost.localdomain

# Root password      #root密码

rootpw --iscrypted $6$9oIvP8ebYe9.bidH$zDjlVMJdPGnWttUXbHTrSUu0upERGQV5OBEgcv9vqh36Dnmw/OJ132AkmiUr9dt/ExfPt3mtlsm1Ej.A8.dF60

# System services

services --enabled="chronyd"

# System timezone   #系统时区

timezone Asia/Shanghai --isUtc

# System bootloader configuration      #启动引导分区

bootloader --location=mbr --boot-drive=sda

autopart --type=lvm

# Partition clearing information    #磁盘分区信息

clearpart --all --initlabel --drives=sda

%packages        #安装是选择的软件包

@^minimal

@core

chrony

%end

%addon com_redhat_kdump --disable --reserve-mb='auto'

%end

%anaconda

pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty

pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok

pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty

%end

########################

chmod a+r ks.cfg            #给ks文件增加所有人可读权限

systemctl enable httpd   #启动Apache服务

systemctl restart dhcpd xinetd httpd

netstat -anp|grep httpd

firewall-cmd --add-port=80/tcp  #添加防火墙端口

firewall-cmd --add-port=80/tcp --permanent

Linux服务之批量部署篇的更多相关文章

  1. Linux服务之cobbler批量部署篇

    一.Cobbler简介:Cobbler通过将设置和管理一个安装服务器所涉及的任务集中在一起,从而简化了系统配置.相当于Cobbler封装了DHCP.TFTP.XINTED等服务,结合了PXE.kick ...

  2. linux服务nfs与dhcp篇

    nfs复习: 1.简介:用于liunx与linux之间的文件传输系统 2.下载nfs-utils和rpcbind 3.打开配置文件/etc/exports——文件名(目录名)共享给予的ip地址(rw) ...

  3. Linux rsync 远程同步部署篇

    rsync官网: www.samba.org/ftp/rsync.html端口:873上机实战系列项目100台规模集群全网数据备份解决方案3.本项目提供免费实战讲解视频:Linux集群全网服务器数据备 ...

  4. ansible在linux和windows批量部署zabbix-agent2

    --- - hosts: linux tasks: - name: copy centos 7 zabbix-agent2 copy: src=zabbix-agent2-5.0.11-1.el7.x ...

  5. Linux服务安全之TcpWrapper篇

    一.TcpWrapper的定义 任何以xinetd管理的服务都可以通过TcpWrapper来设置防火墙.简单地说,就是针对源IP或域进行允许或拒绝的设置,以决定该连接是否能够成功实现连接. 通过名称我 ...

  6. linux服务samba与ftp篇

    samba复习: 1.下载samba:yum -y install samba 2.打开配置文件/etc/samba/smb.conf输入: [共享文件名] path = 目录名 (事先创建) pub ...

  7. 使用Cobbler批量部署Linux和Windows:Cobbler服务端部署(一)

    本文记录了我使用Cobbler批量安装部署Linux和Windows系统的过程,文章主要分为三部分:Cobbler服务端的安装配置.Linux发行版CentOS和Ubuntu的自动安装部署.Windo ...

  8. (转)使用Cobbler批量部署Linux和Windows:Cobbler服务端部署(一)

    原文:http://www.cnblogs.com/pluse/p/8316914.html http://blog.51cto.com/dreamway/1166589---------Cobble ...

  9. PXE批量部署linux操作系统

    前言 在实际生产环境中,有时候我们会碰到为几十上百甚至上千台服务器安装Linux操作系统的需求,如果我们还是常规的去使用移动介质逐台安装,显然是一件低效又令人抓狂的事情,那要安装到何年何月啊?这对于我 ...

随机推荐

  1. Java(114-132)【Scanner类、Random类、ArrayList类】

    1.API概述和使用步骤 应用程序编程接口.Java的API是一本程序员的字典,学会查询 2.Scanner 概述及其API文档 键盘输入 类都是大写的Scanner,关键字是小写的public 3. ...

  2. 神奇的魔方阵--(MagicSquare)(2)

    在上一篇博客中,我们讨论了阶数为奇数,以及阶数为(4K)的魔方阵的排列规则,以及代码实现(详见:https://www.cnblogs.com/1651472192-wz/p/14640903.htm ...

  3. 通过Dapr实现一个简单的基于.net的微服务电商系统(八)——一步一步教你如何撸Dapr之链路追踪

    Dapr提供了一些开箱即用的分布式链路追踪解决方案,今天我们来讲一讲如何通过dapr的configuration来实现非侵入式链路追踪的 目录:一.通过Dapr实现一个简单的基于.net的微服务电商系 ...

  4. OO Unit2 总结

    OO Unit2 总结 OO课Unit2电梯仿真项目技术回顾 BUAA.1823.邓新宇 2020/4/17 Part1 设计策略 从多线程的协同和同步控制方面,分析和总结自己三次作业的设计策略 第一 ...

  5. Servlet与Netty横向对比

    为什么要把这两个看起来不是很搭的东西放在一起对比呢?首先它们两个都是网络编程框架和规范,而且通过我的观察,从API的设计.生命周期方法.处理流程等等方面,他们确实有太多相似的地方了,如果想要深入地学习 ...

  6. 08- adb常用命令以及模拟器链接adb命令

    adb 命令简介 ADB即 Android debug bridge.是Android下面一个通用的调试工具. 熟练使用adb命令会大大增加开发效率,作为测试人员,熟练掌握adb,我们可以管理设备或手 ...

  7. shellcode 开发

    0x00 设置堆栈 栈顶指针按位与之后,将栈桢以16字节的大小对齐: push rbp ;store rbp original state mov rbp, rsp ;set stack base p ...

  8. 关于Oracle 数据库使用dba_tables或者all_tables或者user_tables统计数据时,与直接查询表统计时数据不一致的记录

    1. 今天写代码发现这个问题,这里记录一下, 不一致的原因是因为  dba_tables .all_tables.user_tables 不是实时的反应表的数据的,所以需要在查询统计之前对表进行手动分 ...

  9. hdu4267线段树段更新,点查找,55棵线段树.

    题意:      给你N个数,q组操作,操作有两种,查询和改变,查询就是查询当前的这个数上有多少,更改是给你a b k c,每次从a到b,每隔k的数更改一次,之间的数不更改,就相当于跳着更新. 思路: ...

  10. Iptables防火墙实验

    先说明一下环境,这里有四台主机,中间的Centos充当防火墙.右上角的win XP和右下角的Rhel7充当服务器,最左边的win7充当主机.四者之间的网卡都已经配置好.而且我们已经在Centos6.5 ...