lyx

  • 嵌入式
  • 运维
  • 笔记
  • 关于
所有文章 友链 关于我

lyx

  • 嵌入式
  • 运维
  • 笔记
  • 关于

自动化部署

2017-03-15

#YSU-Linux运维笔记模板V3.0

编辑软件:MarkdownPad2

撰写人员:Kali

撰写日期:2017年3月5日

联系作者:cyysu.github.io@gmail.com

友情提示:文章内容如有不对,欢迎指正。


PXE简介

严格来说,PXE 并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE (Pre-boot Execution Environment)协议使计算机可以通过网络启动。

协议分为 client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE client 将放置在远端的文件通过网络下载到本地运行。

运行 PXE 协议需要设置 DHCP 服务器 和 TFTP 服务器。DHCP 服务器用来给 PXE client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。
此外,在 PXE client 的 ROM 中,已经存在了 TFTP Client。PXE Client 通过 TFTP 协议到 TFTP Server 上下载所需的文件。

KickStart

KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为 ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找 KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。

这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。

PXE + KickStart安装需要准备内容

DHCP 服务器用来给客户机分配IP;
TFTP 服务器用来存放PXE的相关文件,比如:系统引导文件;
FTP 服务器用来存放系统安装文件;
KickStart所生成的ks.cfg配置文件;
带有一个 PXE 支持网卡的将安装的主机;

##以上的基础知识已经讲完,现在就让我们动手来实践一下吧!

配置基本环境

安装ftp服务

yum install vsftpd -y
/etc/init.d/vsftpd start
chkconfig vsftpd on

安装tftp服务

yum install tftp tftp-server xinetd -y


配置tftp服务器:
vim /etc/xinetd.d/tftp
修改配置文件里面的13,14行.改成以下内容:

disable = no
server_args = -s /tftpboot  # 表示服务器默认的目录是 /tftpboot

启动服务
/etc/init.d/xinetd restart
lsof -i :69    #查看69端口正在被哪个进程使用
netstat -antup | grep 69   #这种方法,只能看到xinetd进程

安装dhcp服务

yum install dhcp* -y

配置DHCP服务器:
cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

在配置DHCP服务器的时候可以不用在加一张网卡,可以直接使用本机的网卡。这里为了使用Xshell在加一张网卡,但是和实际中都是一样的。

给DHCP服务器添加一张VMNET4网卡,ip设置为192.168.1.10(只要是1网段都行)
ifconfig eth1 192.168.1.10/24


vim /etc/dhcp/dhcpd.conf  #这里为了简便,只保留一个subnet {。。。} ,取掉其它subnet,改成如下内容:


subnet 192.168.1.0 netmask 255.255.255.0 {
   range 192.168.1.100 192.168.1.200;
 option domain-name-servers 192.168.1.1;
  option domain-name "internal.example.org";
  option routers 192.168.1.1;
  option broadcast-address 192.168.1.255;
  default-lease-time 600;
  max-lease-time 7200;
  next-server 192.168.1.10;
  filename "pxelinux.0";
}


在配置上面的文件的时候一定要注意每行的结尾处要加上分号。配置完,先不启动DHCP ,等所有的软件安装好,最后来启动。

安装PXE

yum -y install system-config-kickstart  #安装此包时,会把syslinux软件包也安装上。

准备tftp需要共享出去的文件

mount /dev/sr0 /media/

mkdir /tftpboot
mkdir /tftpboot/pxelinux.cfg
cp /usr/share/syslinux/pxelinux.0     /tftpboot/
cp /media/images/pxeboot/initrd.img /tftpboot/
cp /media/images/pxeboot/vmlinuz     /tftpboot/
cp /media/isolinux/isolinux.cfg     /tftpboot/pxelinux.cfg/default
chmod 644 /tftpboot/pxelinux.cfg/default


修改default,指定安装操作系统的方式和ks.cfg文件路径
vim /tftpboot/pxelinux.cfg/default
#修改第1行 改为 default  linux,后面的linux意思是寻找下面18行的label linux
然后修改下22行(即在后面添加ks=ftp://192.168.1.10/ks.cfg)
第22行的意思是使安装程序通过FTP服务器访问kickstart文件

制作kickstart安装向导

 yum install system-config-kickstart -y
 LANG=zh_CN.UTF-8
 system-config-kickstart  #执行system-config-kickstart弹出来界面。
    1.设置下默认安装的语言,时区,根口令,然后勾选下面的安装后重新引导
    2.配置ftp服务器的安装方法。修改FTP服务器和FTP根目录为/pub
    3.配置grub相关选项
    4.设置分区
    5.配置网络,默认没有网络设置,点击添加网络,设备名称为eth0,网络类型为dhcp
    6.验证,默认就可以了。
    7.防火墙和selinux根据自己需求选择开启或者禁用。我选择关闭selinux。启用防火墙。
    8.安装图形环境选择禁用
    9.自定义软件包。默认可能没有勾选桌面。根据自己需求勾选。 我们为了快速度演示安装,不选择安装桌面。
    10.安装脚本:在"预安装脚本","安装后脚本"对话框中,可以分别添加在安装前、安装后自动动行的可执行语句。此项设置可以使服务器自动化配置变得更加容易。
    11.保存文件 -> 点击左上角的文件选择保存,选择下保存的路径
cp ks.cfg /var/ftp  #复制ks.cfg文件到/var/ftp目录下
注:ks.cfg就是无人值守安装时要用的Kickstart文件。
要对应:/tftpboot/pxelinux.cfg/default文件中设置过ks=ftp://192.168.1.10/ks.cfg
mount /dev/sr0 /var/ftp/pub             #挂载RHEL6安装光盘到/var/ftp/pub目录下
建议关闭防火墙和selinux,
如果没有关闭的话,tftp服务会有问题。
[root@xuegod63 ~]# getenforce
Disabled
设置防火墙:
#iptables -F
#service iptables save
配置两台机器的网络模式为:VMnet4
给server 设置一个和DHCP 定义相同网段的IP

#现在接下来就是启动DHCP,设置为开机启动
/etc/init.d/dhcpd start
chkconfig dhcpd on
修改另一台机器的BIOS启动顺序为网络优先,加电后开始启动。

整个过程工作原理

工作原理

赏

谢谢你请我吃糖果

支付宝
微信
  • CentOS6.8
  • 自动化部署
  • oldLinux

扫一扫,分享到微信

微信分享二维码
Postfix服务
SSH服务
© 2017 lyx
Hexo Theme Yilia by Litten
  • 所有文章
  • 友链
  • 关于我

tag:

  • CentOS6.8
  • SSH服务
  • DHCP服务
  • 自动化部署
  • 互联网资源
  • IT
  • 运维
  • Linux
  • RSYNC服务
  • NTP服务
  • Postfix服务
  • DNS服务
  • NFS服务
  • Samba服务
  • FTP服务
  • Apache服务
  • CentOS7
  • Dokcer
  • Gitlab
  • 源码安装
  • Hadoop
  • 集群
  • Centos6.8
  • 文件共享
  • Haproxy
  • 存储系统
  • 高可用
  • 负载均衡
  • 编程
  • 程序员
  • LAMP
  • LNMP
  • WEB服务器
  • 博客
  • 编译
  • 内核
  • Linux命令
  • Linux基础
  • 笔记
  • 分布式系统
  • NFS
  • 认证服务
  • NIS
  • Nagios
  • 监控
  • 存储
  • RAID
  • WEB架构
  • 远程连接
  • SSH
  • Zabbix
  • 自动化
  • saltstack
  • cobbler
  • Centos7
  • ELKstack
  • Elasticsearch
  • Logstash
  • Heartbeat
  • MySQL
  • Nginx
  • puppet
  • markdown
  • 跨平台
  • Linux服务
  • 大学
  • 版权声明
  • STM32
  • 嵌入式
  • 邮件服务
  • 汉化
  • 网卡错误
  • 虚拟机
  • 分布式存储
  • Corosync
  • Pacemaker
  • DRBD
  • MooseFS

    缺失模块。
    1、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    2、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: true
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

  • 阿里云
  • 鸿鹄论坛
  • 百度云搜索
  • Github搜索
  • PDF转换软件
  • TI公司WEBENCH
  • powershell教程
  • 七牛云
  • 有道云笔记
  • HTML5
  • 小马运维博客
  • 运维知识体系架构图
  • 云栖社区
  • ChinaUnix
<br>热爱技术<br>热爱开源<br> 2017年<br>