Linux服务之批量部署篇
批量部署步骤:
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服务之批量部署篇的更多相关文章
- Linux服务之cobbler批量部署篇
一.Cobbler简介:Cobbler通过将设置和管理一个安装服务器所涉及的任务集中在一起,从而简化了系统配置.相当于Cobbler封装了DHCP.TFTP.XINTED等服务,结合了PXE.kick ...
- linux服务nfs与dhcp篇
nfs复习: 1.简介:用于liunx与linux之间的文件传输系统 2.下载nfs-utils和rpcbind 3.打开配置文件/etc/exports——文件名(目录名)共享给予的ip地址(rw) ...
- Linux rsync 远程同步部署篇
rsync官网: www.samba.org/ftp/rsync.html端口:873上机实战系列项目100台规模集群全网数据备份解决方案3.本项目提供免费实战讲解视频:Linux集群全网服务器数据备 ...
- ansible在linux和windows批量部署zabbix-agent2
--- - hosts: linux tasks: - name: copy centos 7 zabbix-agent2 copy: src=zabbix-agent2-5.0.11-1.el7.x ...
- Linux服务安全之TcpWrapper篇
一.TcpWrapper的定义 任何以xinetd管理的服务都可以通过TcpWrapper来设置防火墙.简单地说,就是针对源IP或域进行允许或拒绝的设置,以决定该连接是否能够成功实现连接. 通过名称我 ...
- linux服务samba与ftp篇
samba复习: 1.下载samba:yum -y install samba 2.打开配置文件/etc/samba/smb.conf输入: [共享文件名] path = 目录名 (事先创建) pub ...
- 使用Cobbler批量部署Linux和Windows:Cobbler服务端部署(一)
本文记录了我使用Cobbler批量安装部署Linux和Windows系统的过程,文章主要分为三部分:Cobbler服务端的安装配置.Linux发行版CentOS和Ubuntu的自动安装部署.Windo ...
- (转)使用Cobbler批量部署Linux和Windows:Cobbler服务端部署(一)
原文:http://www.cnblogs.com/pluse/p/8316914.html http://blog.51cto.com/dreamway/1166589---------Cobble ...
- PXE批量部署linux操作系统
前言 在实际生产环境中,有时候我们会碰到为几十上百甚至上千台服务器安装Linux操作系统的需求,如果我们还是常规的去使用移动介质逐台安装,显然是一件低效又令人抓狂的事情,那要安装到何年何月啊?这对于我 ...
随机推荐
- oo第二单元——多线程魔鬼电梯
在初步认识了面向对象思想后,立刻进入了多线程的学习,本单元的难点主要是锁的理解,需要保证线程安全的同时防止死锁的发生,也要尽可能缩小锁的范围,提高性能.这一单元以电梯为载体,让我们从生活出发,从电梯运 ...
- Floyd算法C++实现与模板题应用
简介 Floyd算法算是最简单的算法,没有之一. 其状态转移方程如下map[i , j] =min{ map[i , k] + map[k , j] , map[i , j] }: map[i , j ...
- Web操作摄像头、高拍仪、指纹仪等设备的功能扩展方案
摘要:信息系统开发中难免会有要操作摄像头.高拍仪.指纹仪等硬件外设,异或诸如获取机器签名.硬件授权保护(加密锁)检测等情况.受限于Web本身运行机制,就不得不使用Active.浏览器插件进行能力扩展了 ...
- spring boot 通过feign调用api接口
目的:远程调用服务器api,直接上步骤: 1,添加maven依赖,这是必须的: <dependency> <groupId>org.springframework.cloud& ...
- 【.NET 与树莓派】数模转换
在开始之前,需要说明一对很耳熟的概念--数字信号 & 模拟信号. 这些概念的理论有些复杂,你如果相当有兴趣,可以找来有关的文献细细研究:若你不关心那是啥只想知道咋用,那就通俗但不庸俗地理解一下 ...
- SpringAOP_设置注入实现
SpringAOP_设置注入实现 AOP_面向切面编程初步了解 让我们先想象一个场景,你正在编写一个项目,在开发过程中的多个模块都有某段重复的代码,于是你选择将其抽象成一个方法,然后在需要的地方调用这 ...
- 分享几个网址二维码生成api
分享几个网址二维码生成api 传入网址参数,或许二维码图片,扫二维码能直接跳转网址 http://b.bshare.cn/barCode?site=weixin&url=https://www ...
- dalvik浅析三:类加载
android的安装包是个apk文件,其中包含dex.资源及签名文件.其中dex是包含程序运行的类代码,而android是运行在dalvik(5.0之前)上的.本篇我们就来看下dalvik是如何把de ...
- DVWA之Stored XSS(存储型XSS)
目录 Low Medium High Impossible Low 源代码: <?php if( isset( $_POST[ 'btnSign' ] ) ) { // Get input $m ...
- Windows核心编程 第十五章 在应用程序中使用虚拟内存
第1 5章 在应用程序中使用虚拟内存 Wi n d o w s提供了3种进行内存管理的方法,它们是: • 虚拟内存,最适合用来管理大型对象或结构数组. • 内存映射文件,最适合用来管理大型数据流(通常 ...