分享

PXE高效装机与cobbler高效网络装机

 夜猫速读 2022-05-12

一、PXE网络装机;

二、Cobbler高效网络装机;

一、PXE网络装机;

1.概述:PXE是intel公司开发的网络引导技术,C/S架构;

2.条件:

服务器:

        dhcp服务:为客户机提供网络参数,及指定pxe服务器地址,

        tftp-server服务:为客户端发送vmlinuz内核,initrd.img启动文件,pxelinux相关的文件;(注:tftp:简单文件传输)

        vsftpd服务:提供系统安装过程的ISO镜像中的软件及ks.cfg(应答文件);

        kickstart服务:生成ks.cfg应答文件(涵盖了装系统中的每一步);

客户端:网卡支持PXE协议,且主板支持网络引导;

3.各个组件关联:

4.装机流程:

a、设置客户机的BIOS从PXE启动

b、客户机向网络中请求DHCP服务器获取动态IP

c、DHCP服务器下发IP、引导文件位置、TFTP服务器地址

d、客户机请求TFTP服务器获取引导文件

e、执行引导程序

f、请求TFTP服务器获取配置文件(pxelinux.cfg)

g、配置文件包含vmlinux、initrd.img、ks文件位置信息

h、根据配置文件,用户请求TFTP服务器获取linux内核(vmlinux)

i、请求TFTP服务器获取linux根文件系统(initrd.img)

j、客户机启动linux内核

k、内核挂载initrd.img,并执行挂载各种各样的模块

l、如果设置KS文件,装机步骤自动选择,否则需手动选择

m、装机完成

二、Cpbbler高效网络装机:

1. 概述:Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows。该工具使用python开发,小巧轻便,使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP、DNS、TFTP、RSYNC以及yum仓库、构造系统ISO镜像。Cobbler通过将DHCP、TFTP、DNS、HTTP等服务进行集成,创建一个中央管理节点Cobbler的最终目的是实现无需进行人工干预即可安装机器。

2. Cobbler服务工作原理:

3. 服务流程:

a、client裸机配置了从网络启动后,开机后会广播包请求DHCP服务器(cobbler server)发送其分配好的一个IP;
b、DHCP服务器(cobbler server)收到请求后发送responese,包括其ip地址;
c、client裸机拿到ip后再向cobbler server发送请求OS引导文件的请求;
d、cobbler server告诉裸机OS引导文件的名字和TFTP server的ip和port;
e、client裸机通过上面告知的TFTP server地址和port通信,下载引导文件;
f、client裸机执行执行该引导文件,确定加载信息,选择要安装的os,期间会再向cobbler server请求kickstart文件和os image;
g、cobbler server发送请求的kickstart和os iamge;
h、client裸机加载kickstart文件;
i、client裸机接收os image,安装该os image;

配置cobbler网络装机

一、配置网络和基础环境设置:

[root@cobbler ~]# vi/etc/sysconfig/network-scripts/ifcfg-eth0

TYPE=Ethernet

BOOTPROTO=static

DEFROUTE=yes

PEERDNS=yes

PEERROUTES=yes

IPV4_FAILURE_FATAL=no

NAME=eth0

DEVICE=eth0

ONBOOT=yes

IPADDR0=192.168.100.108

PREFIX0=24

GATEWAY0=192.168.100.100

DNS1=8.8.8.8

[root@cobbler ~]# systemctl restart network                 ##重启网络服务

[root@cobbler ~]# systemctl stop firewalld                    ##关闭防火墙

[root@cobbler ~]# systemctl disablefirewalld               ##设置防火墙开机禁用

[root@cobbler ~]# sed -i'/SELINUX/s/enforcing/disabled/g' /etc/selinux/config

[root@cobbler ~]# setenforce 0                                       ##临时关闭selinux

二、配置yum源,安装cobbler软件包;

[root@cobbler ~]# wget -O/etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

[root@cobbler ~]# yum -y installepel-release

[root@cobbler ~]# yum -y install cobblercobbler-web dhcp tftp-server pykickstart httpd xinetd

[root@cobbler ~]# systemctl start httpd

[root@cobbler ~]# systemctl enable httpd

[root@cobbler ~]# systemctl start cobblerd

[root@cobbler ~]# systemctl enable cobblerd

[root@cobbler ~]# systemctl start tftp

[root@cobbler ~]# systemctl enable tftp

三、配置cobbler服务;

1.配置tftp服务;

[root@cobbler ~]# sed -i '/disable/cdisable = no' /etc/xinetd.d/tftp                     ##启动tftp服务

[root@cobbler ~]# systemctl restart tftp

[root@cobbler ~]# sed -i'/next_server/s/127.0.0.1/192.168.100.108/g' /etc/cobbler/settings

[root@cobbler ~]# sed -i'/server/s/127.0.0.1/192.168.100.108/g' /etc/cobbler/settings

[root@cobbler ~]# sed -i'/manage_dhcp/s/0/1/g' /etc/cobbler/settings

[root@cobbler ~]# sed -i'/manage_rsync/s/0/1/g' /etc/cobbler/settings

[root@cobbler ~]# sed -i'/manage_tftpd/s/0/1/g' /etc/cobbler/settings

[root@cobbler ~]# cobbler get-loaders                                         

   ##初始化cobbler菜单

*** TASK COMPLETE ***

[root@cobbler ~]# systemctl restart cobblerd

[root@cobbler ~]# cobbler check                                                    

##检查cobbler配置

[root@cobbler ~]# openssl passwd -1 -salt'haha' '123123'                  

##设置客户端的root的密码

[root@cobbler ~]# vi /etc/cobbler/settings

 default_password_crypted: "$1$haha$JOzIffoIApOx1RMB/l2mq/"

[root@cobbler ~]# systemctl restartcobblerd

2.配置dhcp服务;

[root@cobbler ~]# vi/etc/cobbler/dhcp.template           

 ##配置DHCP服务,修改如下,不是覆盖

subnet 192.168.100.0 netmask 255.255.255.0{

    option routers            192.168.100.100;

    option domain-name-servers 192.168.100.100;

    option subnet-mask        255.255.255.0;

    range dynamic-bootp       192.168.100.200 192.168.100.254;

    default-lease-time         21600;

    max-lease-time             43200;

    next-server               $next_server;

[root@cobbler ~]# systemctl enable dhcpd

[root@cobbler ~]# cobbler check

[root@cobbler ~]# cobbler sync                                

 ##重新加载cobbler的配置文件

*** TASK COMPLETE ***

[root@cobbler ~]# egrep -v '^#|^$'/etc/dhcp/dhcpd.conf       

    ##查看dhcp服务的配置,挂载centos6.5 DVD1的光盘

3.准备安装系统的镜像文件;

[root@cobbler ~]# mount /dev/cdrom /mnt/

[root@cobbler ~]# cobbler import--path=/mnt/ --name=centos6.5 --arch=x86_64        ##导入镜像

[root@cobbler ~]# cobbler profile find--distro=centos6.5-x86_64                        ##查看镜像的配置文件

[root@cobbler ~]# cobbler distro list                                                        ##查看distro镜像列表

[root@cobbler ~]# netstat -utpln

4.设置客户端的yum源;

[root@cobbler ~]# cobbler repo add--name=centos6.5-x86_64-base--mirror=http://mirrors.163.com/centos/6/os/x86_64/ --arch=x86_64 --breed=yum                 ##为客户端配置yum

[root@cobbler ~]# cobbler reposync                               ##将上述yum源的文件同步到cobbler服务器本地,同步位置为/var/www/cobbler/repo_mirror/centos6-x86_64-base/

[root@cobbler ~]# cobbler repo list                                 ##查看yum源文件列表

[root@cobbler ~]# cobbler profile edit--name=centos6.5-x86_64 --repos="centos6.5-x86_64-base"--distro=centos6.5-x86_64 --kickstart=/var/lib/cobbler/kickstarts/sample.ks            ##更改安装镜像的配置文件,使其自动配置yum

[root@cobbler ~]# sed -i '/yum_post_install_mirror/s/0/1/g'/etc/cobbler/settings

[root@cobbler ~]# cobbler sync

5.设置cobbler服务的密码;

[root@cobbler ~]# openssl passwd -1 -saltcobbler hao123                   ##cobbler服务设置密码

[root@cobbler ~]# vi/etc/cobbler/pxe/pxedefault.template

4 MENU MASTER PASSWD $1$cobbler$vPfNo.y/obrlGZWEbif8O0

[root@cobbler ~]# vi/etc/cobbler/pxe/pxeprofile.template                 ##指定密码类型

2       MENU PASSWD             

[root@cobbler ~]# cobbler sync                                                                ##重新加载配置文件

6.配置cobbler服务的web管理界面:

[root@cobbler ~]# htdigest/etc/cobbler/users.digest "Cobbler" cobbler             ##设置web网页的登录密码,账号为cobbler

[root@cobbler ~]# systemctl restartcobblerd

访问地址:https://192.168.100.108/cobbler_web

扩展:

  cobbler profile remove--name=centos6.5-x86_64                     ##删除镜像的配置文件

  cobbler distro remove--name=centos6.5-x86_64                      ##删除distro

注:cobbler服务相对比pxe服务来讲,简便了很多,在导入系统文件时,服务默认就将内核文件、启动文件、ks文件自动复制到/var/lib/tftpboot/下;

默认的ks文件位置:/var/lib/cobbler/kickstarts/sample.ks

入口文件的位置:/var/lib/tftpboot/pxelinux.cfg/default

内核文件位置:/var/lib/tftpboot/images/

四、新建虚拟机客户端调整网卡模式进行测试;

五、客户端管理工具:koan(注:在安装好的虚拟机上进行设置)

[root@localhost ~]# yum -y installepel-release

[root@localhost ~]# yum -y install koan

[root@localhost ~]# koan --server=192.168.100.101--list=profiles               ##查看服务端的镜像配置文件

[root@localhost ~]# koan--server=192.168.100.101 --display --profile=centos6.5-x86_64                     ##查看详细信息

[root@localhost ~]# koan -r--server=192.168.100.101 --profile=centos6.5-x86_64                                  ##重新安装本客户端的操作系统,重启后进行安装

[root@localhost ~]# reboot

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多