本章内容系统安装过程配置anaconda自动化安装系统制作引导光盘和U盘DHCP服务PXE安装系统 cobbler企业级应用 7实现PXE支持centos6和7的系统安装" />

澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

Linux学习之路,系统自动化安装

2019-11-16 作者:澳门新萄京官方网站   |   浏览(76)

style="font-size: 16px; color: #4d80bf; font-weight: bold">本章内容系统安装过程配置anaconda自动化安装系统制作引导光盘和U盘DHCP服务PXE安装系统  cobbler企业级应用

7实现PXE支持centos6和7的系统安装

一 .制作全iso镜像光盘

步骤:
1 选择一个在一个目录下:例如/app下创建一个文件夹 mkdir /app/fulliso
2 准备yum源以及相关文件
cp -r /misc/cd/* /app/fulliso/
cp /misc/cd/.discinfo /misc/cd/.treeinfo /app/fulliso/ 将隐藏文件复制
rm -rf /app/fulliso/repodata/* 将原有的repodata下数据清除 ,然后生成新的数据
find /app/fulliso -name TRANS.TBL -exec rm {} ; 删除trans.tbl文件
cp /misc/cd/repodata/43d8fd068164b0f042845474d6a22262798b9f0d1f49ad1bf9f95b953089777d-c6-x86_64-comps.xml /app/fulliso/repodata/ 43...-comps.xml是安装保存组存放信息的文件,不可删除

createrepo -g repodata/43d8fd068164b0f042845474d6a22262798b9f0d1f49ad1bf9f95b953089777d-c6-x86_64-comps.xml /app/fulliso 在该目录下创建yum源

澳门新萄京官方网站 1

image.png


此时有关yum源相关数据设置完成
(3)准备应答文件
mkdir /app/fulliso/ks6.cfg
cp /root/anaconda-ks.cfg /app/fulliso/ks6.cfg
vim /app/fulliso/ks6.cfg

澳门新萄京官方网站 2

image.png

澳门新萄京官方网站 3

image.png


编写安装后脚本

澳门新萄京官方网站 4

image.png

cp ks6.cfg ks6-mini.cfg 准备两个应答文件
(4)编辑启动菜单
vim /app/fulliso/isolinux/isolinux.cfg

澳门新萄京官方网站 5

image.png


(5)制作iso文件
mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.9 autoinstall" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/centos6.iso /app/fulliso/
此时完整的iso镜像光盘制作成功
将该镜像光盘文件导出,用户就可以通过该光盘进行挂载来实现自动安装
安装成功

澳门新萄京官方网站 6

image.png

安装程序

一、DHCP服务

注意:

二.实验:基于网络PXE自动化安装CentOS 7

1 配置安装环境
yum install dhcp tftp-server
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf

澳门新萄京官方网站 7

image.png


systemctl restart dhcpd
systemctl enable dhcpd——开机自启
systemctl start dhcpd——启动服务
systemctl enable httpd
systemctl start httpd
mkdir /var/www/html/centos/7
mount /dev/sr0 /var/www/html/centos/7

澳门新萄京官方网站 8

image.png


2 准备应答文件
cp /root/anaconda-ks.cfg
/var/www/html/ksdir/ks7-1.cfg
chmod r /var/www/html/ksdir/ks7-1.cfg
vim /var/www/html/ksdir/ks7-1.cfg

澳门新萄京官方网站 9

image.png

澳门新萄京官方网站 10

image.png

澳门新萄京官方网站 11

image.png


3 配置tftp服务
systemctl enable tftp.socket
systemctl start tftp.socket
4准备PXE相关文件
mkdir/var/lib/tftpboot/pxelinux.cfg——注意这是文件夹不文件
cp/usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/——复制相应的启动文件和启动选择菜单
cp/misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/——复制内核和虚拟根cp/misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default——复制开机启动菜单文件
vim /var/lib/tftpboot/pxelinux.cfg/default——修改启动菜单

澳门新萄京官方网站 12

image.png


最后查看文件列表结构

澳门新萄京官方网站 13

image.png


6 启动安装

澳门新萄京官方网站 14

image.png

• CentOS系统安装

        DHCP(动态主机配置协议)是一种协议,它允许IP网络上的各个设备从DHCP服务器获取自己的网络配置信息(IP地址,子网掩码,广播地址等)。 DHCP的总体目的是使管理大型网络更容易。 dhcp软件包包括ISC DHCP服务和中继代理。

1 改成独立的网段vnnet12,非桥接,dhcp功能禁用

三 基于网络PXE自动化安装CentOS 6

1 准备配置安装环境
yum install vsftpd dhcp tftp-server syslinux-nonlinux
启动下载好的服务
chkconfig vsftpd on
chkconfig dhcpd on
chkconfig tftp on
service xinetd restart
chkconfig vsftpd on
service vsftpd start
ss -nutlp
2 准备yum源
mkdir /var/ftp/pub/centos/6 -pv
mount /dev/sr0 /var/ftp/pub/centos/6

澳门新萄京官方网站 15

image.png

3 准备ks文件
mkdir /var/ftp/pub/ksdir
cp /root/anaconda.cfg /var/ftp/pub/ksdir/ks6-1.cfg
vim /var/ftp/pub/ksdir/ks6-1.cfg

澳门新萄京官方网站 16

image.png

澳门新萄京官方网站 17

image.png


4 配置DHCP服务
rpm -ql dhcp

澳门新萄京官方网站 18

image.png


cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf

澳门新萄京官方网站 19


service dhcpd restart
5 准备PXE相关文件
rpm -ql syslinux-nonlinux

澳门新萄京官方网站 20

image.png


cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/
cp /misc/cdpxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/

澳门新萄京官方网站 21

image.png

创建菜单文件
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
6 编辑菜单选项

澳门新萄京官方网站 22

image.png


配置好后可以安装
四 在centos7实现PXE安装centos6和centos7
1 在7上添加一个6的镜像光盘
echo '- - - ' > /sys/class/scsi_host/host2/scan
mount /dev/sr0 /var/www/html/centos/7
mount /dev/sr1 /var/www/html/centos/6
2 准备centos6,7的ks文件
scp /var/www/html/ksdir/ks6-1.cfg 192.168.136.170:/var/www/html/ksdir/

澳门新萄京官方网站 23

image.png


3 配置各自的内核
mkdir /var/lib/tftpboot/centos{6,7}
cp /var/www/html/centos/7/isolinux/{initrd.img,vmlinuz} /var/lib/tftpboot/centos7
cp /var/www/html/centos/6/isolinux/{initrd.img,vmlinuz} /var/lib/tftpboot/centos6

澳门新萄京官方网站 24

image.png


4 准备启动菜单
cd /var/lib/tftpboot/
vim pxelinux.cfg/default

澳门新萄京官方网站 25

image.png


配置成功后开始选择安装

系统启动流程:

        要在您的网络上使用DHCP,请安装DHCP服务(或中继代理),并在客户端上运行DHCP客户端守护程序。 dhcp包提供了ISC DHCP服务和中继代理。

2 禁用iptables和selinux

五 cobbler安装系统

首先了解什么是cobbler
(1)概念:
Cobbler: 快速网络安装linux操作系统的服务,支持众多的Linux发行版:
Red Hat、Fedora、CentOS、Debian、Ubuntu和 SuSE,也可以支持网络安装windows 
PXE的二次封装,将多种安装参数封装到一个菜单 
Python编写 
提供了CLI和Web的管理形式
cobbler 服务集成 
pxe 服务 
DHCP 
rsync 
Http 
DNS 
Kickstart 
IPMI 电源管理 
检查cobbler环境 
cobbler check
(2)实验:通过cobbler实现系统的安装过程
1 yum install cobbler dhcp(cobbler依赖epel源)
开启服务
systemctl enable cobblerd
systemctl start cobblerd
systemctl enable tftp
systemctl start tftp
systemctl enable httpd
systemctl start httpd
2 根据cobbler check检查进行对应的修改
关闭防火墙和selinux
vim /etc/cobbler/settings
修改内容
next_server: 192.168.25.107
manage_dhcp: 1 ——自动生成dhcp配置文件,由cobbler管理
server: 192.168.25.107
openssl passwd -1 生成口令
default_password_crypted: "加密口令"
systemctl restart cobblerd
cobbler sync
准备启动文件和和菜单风格文件
有网络环境时
cobbler get-loaders——会自动导入启动文件和菜单
无网络环境时
cp /var/lib/tftpboot/{menu.c32,pxelinux.0} /var/lib/cobbler/loaders
生成dhcp模版文件
vim /etc/cobbler/dhcp.template
subnet 192.168.25.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.25.100 192.168.25.254;
}
3 导入yum源
cobbler import --path=/misc/cd --name=centos7.3 --arch=x86_64——将文件拷到/var/www/ 生成了一个cobbler
cd cobbler 进入ks_mirror 查看拷贝过程
cobbler import --path=/misc/cd --name=centos6.9 --arch=x86_64-先导入6.9光盘
umount /misc/cd ls /misc/cd df 重新挂载
cobbler distro list-查看新生成的名字
cobbler profile list
4 生成ks
cp centos6.cfg centos7.cfg /var/lib/cobbler/kickstarts/
cobbler profile remove --name=centos6.9-x86_64
cobbler profile remove --name=centos7.3-x86_64
cobbler profile add --name=centos6.9_desktop --distro=centos6.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6.cfg
cobbler profile add --name=centos7.3_mini --distro=centos7.3-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.cfg
cobbler sync

bootloader-->kernel(initramfs)-->rootfs-->/sbin/init

 

1 yum install httpd dhcp tftp-server syslinux

• anaconda: 系统安装程序

1、网络配置方法:

2 cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 

gui:图形窗口

        静态指定

vim /etc/dhcp/dhcpd.conf

tui: 基于图形库curses的文本窗口

        动态获取有两种方式:

subnet 192.168.37.0 netmask 255.255.255.0 {

安装程序启动过程 

                    bootp:boot protocol MAC与IP一一静态对应

range 192.168.37.10 192.168.37.100;

MBR:isolinux/boot.cat

                    dhcp:增强的bootp,动态

next-server 192.168.37.107;

stage2: isolinux/isolinux.bin

 

filename "pxelinux.0";

 配置文件:isolinux/isolinux.cfg

2、DHCP: (Dynamic Host Configuration Protocol)

}

每个对应的菜单选项:

        动态主机配置协议
        局域网协议,UDP协议,用到了67(服务器端),68(客户端)端口

systemctl start dhcpd

加载内核:isolinuz/vmlinuz

        注意:如果设置防火墙,别拦截67,68端口

systemctl enable dhcpd

向内核传递参数:append initrd=initrd.img ...

 

3 systemctl enable tftp

• 装载根文件系统,并启动anaconda

3、主要用途:

systemctl start tftp

默认启动GUI接口

        用于内部网络和网络服务供应商自动分配IP地址给用户

4 systemctl enable httpd

若是显式指定使用TUI接口:向内核传递text参数即可

        用于内部网络管理员作为对所有电脑作集中管理的手段

systemctl start httpd

(1)按tab键,在后面增加text

4、使用场景

5 mkdir /var/www/html/centos/{6,7}

(2)按ESC键:boot: linux text “纯字符方式安装系统,不需要图形界面“

        自动化安装系统
        解决IPV4资源不足问题 

vim /etc/fstab

手动安装界面

 

/dev/sr0 /var/www/html/centos/6 iso9660 defaults 0 0

 澳门新萄京官方网站 26

5、DHCP共有八种报文

/dev/sr1 /var/www/html/centos/7 iso9660 defaults 0 0

 anaconda工作过程

 

mount -a

Anaconda安装系统分成三个阶段:

        DHCP DISCOVER:客户端到服务器                                        

6 mkdir /var/www/html/ksdir

1、安装前配置阶段

        DHCP OFFER :服务器到客户端

ls /var/www/html/ksdir/

安装过程使用的语言

        DHCP REQUEST:客户端到服务器

ks6.cfg  ks7.cfg

键盘类型

        DHCP ACK :服务器到客户端

7  cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/

安装目标存储设备

        DHCP NAK:服务器到客户端,通知用户无 法分配合适的IP地址

mkdir /var/lib/tftpboot/centos{6,7}

  • Basic Storage:本地磁盘
  • 特殊设备:iSCSI

        DHCP DECLINE :客户端到服务器,指 示地址已被使用

cp /var/www/html/centos/6/isolinux/{initrd.img,vmlinuz}  /var/lib/tftpboot/centos6

设定主机名

        DHCP RELEASE:客户端到服务器,放弃 网络地址和取消剩余的租约时间

cp /var/www/html/centos/7/isolinux/{initrd.img,vmlinuz}  /var/lib/tftpboot/centos7

配置网络接口

        DHCP INFORM:客户端到服务器, 客户 端如果需要从DHCP服务器端获取更为详细 的配置信息,则发送Inform报文向服务器 进行请求,极少用到 

mkdir /var/lib/tftpboot/pxelinux.cfg/

时区

 

cp /var/www/html/centos/7/isolinux/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default

管理员密码

6、续租

8 vim /var/lib/tftpboot/pxelinux.cfg/default

设定分区方式及MBR的安装位置

 

default menu.c32

创建一个普通用户

    50% :租赁时间达到50%时来续租,刚向DHCP服务器发向新的DHCPREQUEST请求。如果dhcp服务没有拒绝的理由,则回应DHCPACK信息。当DHCP客户端收到该应答信息后,就重新开始新的租用周期

timeout 600

选定要安装的程序包

 

menu title CentOS Linux 7

2、安装阶段

    87.5%:如果之前DHCP Server没有回应续租请求,等到租约期的7/8时,主机会再发送一次广播请求

label centos7

  • 在目标磁盘创建分区,执行格式化操作等
  • 将选定的程序包安装至目标位置
  • 安装bootloader和initramfs

 

  menu label ^Auto Install CentOS Linux 7

3、图形模式首次启动

7、DHCP服务简介

  kernel centos7/vmlinuz

  • iptables
  • selinux(安全机制)
  • core dump

 

  append initrd=centos7/initrd.img ks=

anaconda

    a、同网段多DHCP服务
            DHCP服务必须基于本地

label centos6

anaconda负责安装系统向导,默认为GUI界面,如果我们使用ks自动应答安装的话建议使用TUI界面来安装,在安装启动界面我们可以按esc键来自己手动指定安装启动选项anaconda选项:

            先到先得的原则

  menu label Auto install CentOS Linux ^6

1)boot:linux askmethod 在稍后的安装中手动选择安装源

 

  kernel centos6/vmlinuz

本地光盘、硬盘、NFS、FTP、HTTP

    b、相关协议

  append initrd=centos6/initrd.img  ks=

2)linux dd 加载驱动盘

            Arp

label manualcentos6

3)linux ks=xxx   指定安装ks文件

 

  menu label ^Manual install CentOS Linux 6

  • DVD drive: ks=cdrom:/PATH/TO/KICKSTART_FILE
  • Hard drive: ks=hd:device:/directory/KICKSTART_FILE
  • HTTP server: ks=
  • FTP server: ks=ftp://host:port/path/to/KICKSTART_FILE
  • HTTPS server: ks=
  • NFS server:ks=nfs:host:/path/to/KICKSTART_FILE

            rarp

  kernel centos6/vmlinuz

4)linux nonet 不启用网络

    c、跨网段获取DHCP动态地址的方法:

  append initrd=centos6/initrd.img  inst.repo=

5)linux noprobe 不装载其他的硬件设备

 

label local

6)linux rescue 进入救援模式

            RFC 1542 Compliant Routers

  menu default

7)linux 正常安装

            dhcrelay: 中继

  menu label Boot from ^local drive

8)local 从硬盘启动

 

  localboot 0xffff

9)linux text 以字符界面安装

二、DHCP实现

menu end

10)linux ip={DHCP | 192.168.0.1} netmask=255.255.255.0 gateway=192.168.0.1 dns=114.114.114.114 ks= 设置IP并从网络获取ks文件

1、Linux DHCP协议的实现程序:

tree /var/lib/tftpboot/  

11)linux ip={DHCP | 192.168.0.1} netmask=255.255.255.0 gateway=192.168.0.1 dns=114.114.114.114 repo=  设置IP地址并指定从repo源安装

        dhcp软件包

/var/lib/tftpboot/

  • ip=IPADDR
  • netmask=MASK
  • gateway=GW
  • dns=DNS_SERVER_IP
  • ifname=NAME:MAC_ADDR

        dnsmasq软件包,包含dhcp、dns服务(适合小环境)

├── centos6

12)linux vnc vncpassword="PASSWORD" 使用vnc调用安装界面

 

│?? ├── initrd.img

# ls -1 isolinux/
boot.cat  模拟mbr文件
boot.msg  
grub.conf grub的配置文件
initrd.img  ramdisk文件
isolinux.bin  grub的第二阶段
isolinux.cfg  配置文件(启动菜单定制文件)
memtest  内存测试文件
splash.jpg  背景图片
TRANS.TBL
vesamenu.c32  光盘启动的图形界面菜单风格
vmlinuz  内核文件

2、Dhcp Server

│?? └── vmlinuz

13:启动菜单的配置文件isolinux/isolinux.cfg

 

├── centos7

# cat isolinux/isolinux.cfg 
default vesamenu.c32 提供图形菜单风格
#prompt 1
timeout 600 菜单选择超时时间

display boot.msg

menu background splash.jpg  背景图片
menu title Welcome to CentOS 6.9!  菜单上方提示信息
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000

label linux  一条菜单
  menu label ^Install or upgrade an existing system
  menu default 默认选择
  kernel vmlinuz
  append initrd=initrd.img  向内核传递参数

        /usr/sbin/dhcpd
                /etc/dhcp/dhcpd.conf --> /etc/rc.d/init.d/dhcpd 

│?? ├── initrd.img

实验:如果想加图形界面,方法如下

                /etc/dhcp/dhcpd6.conf--> /etc/rc.d/init.d/dhcpd6

│?? └── vmlinuz

1:配好yum 源:按装包yum grouplistall "gonme desktop" yum grouplist:查看包组

 

├── menu.c32

2:yum install bash-completion 如果是最小化安装的系统则安装补全包 用 rmp -qa "bash" 查找出

        /usr/sbin/dhcrelay 

├── pxelinux.0

如果已经装好,则exit重新登录,只有从新登录装的包会生效

                /etc/rc.d/init.d/dhcrelay

└── pxelinux.cfg

3:systemctl isolate graphical.target --------- 或者init5

 

└── default

4:修改开机启动运行模式,

        dhcp server:67/udp 

cobbler安装(基于epel源):

 澳门新萄京官方网站 27

        dhcp client: 68/udp 

·设置开机启动systemctl enable httpd tftp cobblerd(安装cobbler之后有cobbler这个服务需要启动)

kickstart自动应答文件

        dhcpv6 client:546/udp

启动服务 systemctl start httpd tftp cobblerd

kickstart为anaconda安装系统过程中自动应答已配置好的选项,实现无人值守安装系统。

 

·vim /etc/obbler/settings (编辑cobbler配置文件,在server,next_server,default_password_crypted行修改,1.自己服务器ip,2.tftp的ip(本机是TFTP服务就是本机ip),3.默认密码)

事先把我们手动安装时的那些设置,如分区,语言,口令之类的安装的包存在应答文件中,安装向导读取应答文件内容自动安装,

3、Dhcp clientdh

·cp  /usr/share/syslinux/{pxelinux.0,menu.c32}  /var/lib/tftpboot/

ks文件格式:三部分

        client

·vim /etc/cobbler/dhcp.template (修改网络ip地址和地址段)

命令段:

 

·cobbler sync(修改完执行,自动导入到dhcp配置文件里)

---必须指定---

        自动获取的IP信息: 

·cobbler import --path=/misc/cd/ --name=centos7.3 --arch=x86_64(导入系统光盘到cobbler,--path为光盘路径|cobbler distro list命令查看导入的系统!可以导入多个,指定多个多个光盘路径)

authconfig: 认证方式配置

                /var/lib/dhclient 

#·/var/www/cobbler/ks_mirror(上一步导入,导入到当前目录下)

  authconfig --useshadow --passalgo=sha512

4、DHCP配置文件

#·自己制定ks.cfg(应答文件)文件时指定特定路径(url --url=$tree)

bootloader:bootloader的安装位置及相关配置

 

 澳门新萄京官方网站 28

   bootloader --location=mbr --driveorder=sda – append="crashkernel=auto rhgb quiet"

        dhcpd.conf:
                帮助参考:man 5 dhcpd.conf全局配置

·添加启动菜单项:

keyboard

        subnet {
                ...
        }
                
        host {
        
        }

澳门新萄京官方网站 29 

lang

 

--name为启动时的菜单选项

timezone

        地址分配记录

--distro为cobbler  distro  list的选项(yum源选项)

rootpw

                /var/lib/dhcpd/dhcpd.leases 

--kickstart应答文件存放路径必须为此路径

authconfig --enableshadow

 

·启动菜单选项删除: 

bootloader --location=mbr --password=******

5、dhcpd.conf 示例

·澳门新萄京官方网站 30

driverdisk 指定驱动盘

 

基于web的cobbler:

firewall --enable --ssh,--disabled

option domain-name "magedu.com";
option domain-name-servers 192.168.0.1,8.8.8.8;
default-lease-time 86400;
max-lease-time 86400;
subnet 192.168.100.0 netmask 255.255.255.0 {
        range 192.168.100.1 192.168.100.200;
        option routers 192.168.100.1;
}

·yum  install  cobbler-web

firstboot --disbaled

 

·添加用户首次添加需要加上-c选项,之后添加就不需要。

halt 完成后关机

 

澳门新萄京官方网站 31 

reboot 完成后重启

6、其它配置选项:

·第二种添加用户

text|graphical(default) 文本|图像

            filename: 指明引导文件名称

useradd  –s /sbin/nologin xxx1

key --skip 跳过安装号码,适用于rhel版本

            next-server:提供引导文件的服务器IP地址

echo  xxx2 | passwd –stdin  xxx1

keyboard: 设定键盘类型

 

vim /etc/cobbler/user.conf

lang: 语言类型

    示例:
            filename "pxelinux.0";

澳门新萄京官方网站 32

part: 创建分区

 

 

rootpw: 指明root的密码

            next-server 192.168.100.100;

timezone: 时区

 

---可选命令---

    检查语法
            service dhcpd configtest 

clearpart --all,--linux,--none(default) --initlabel(初始化分区标记)

 

autopart 自动分区

[root@Centos-6~]#rpm -ql dhcp
.....
        /etc/dhcp/dhcpd.conf                             ---> dhcp配置文件
        /var/lib/dhcpd/dhcpd.leases                      ---> 已分配的地址数据库
[root@Centos-6~]#vim /etc/dhcp/dhcpd.conf 
        # DHCP Server Configuration file.
        #   see /usr/share/doc/dhcp*/dhcpd.conf.sample   --->dhcp配置文件模板
        #   see 'man 5 dhcpd.conf'
...

[root@Centos-6~]#vim /etc/dhcp/dhcpd.conf
...
option domain-name "example.org";                             --->域名解析          
option domain-name-servers 114.114.114.114, ns2.example.org;  --->DNS设置
default-lease-time 86400;                                     --->分配的地址时效          
max-lease-time 864000;                                        --->特殊需求可以申请的最大时间
...
# DHCP server to understand the network topology.             
subnet 192.168.27.0 netmask 255.255.255.0 {                   --->DHCP服务器所在的网段及子网掩码
        range 192.168.27.100 192.168.27.200;                  --->设置自动获取ip的网段
        option routers 192.168.27.1;                          --->设置网关.最后的分号千万别写错了,不然服务启动不了
        filename "pxelinux.0";                                --->tftp文件名字
        next-server 192.168.27.6;                             --->服务器ip地址
}
...
host fantasia {                                               --->设置固定mac和ip地址绑定
  hardware ethernet 08:00:07:26:c0:a5;                        --->写明mac地址
  fixed-address 192.168.27.100;                               --->写明ip地址
  还可以在加网关和dns选项
}
...
[root@Centos-6~]#ss -nutlp
Netid  State      Recv-Q Send-Q    Local Address:Port    Peer Address:Port 
udp    UNCONN     0      0                *:67                  *:*     
users:(("dhcpd",3917,7))
...
其余用不上的段落,可以使用 .,$s/^/#/  在本行到最后一行前面加#注释掉,有一个的就是本次注释的,两个的就是之前注释掉的。

[root@Centos-6~]#service dhcpd configtest                     --->这个命令现在只能在centos6中使用,7中已失效
Syntax: OK

     ignoredisk --drives=drive1,drive2忽略硬盘

 注意:最后的分号千万别写错了,不然服务启动不了

     autostep 跳过可选项,付默认值

 

     part or partition /boot --fstype ext4 --size=200

 

     install OR upgrade

三、PXE实现

     text: 文本安装界面

 

     network

1、PXE:

     firewall

 

     selinux

            Preboot Excution Environment 预启动执行环境

     halt

 

     poweroff

            Intel公司研发

     reboot

 

     repo

            基于Client/Server的网络模式,支持远程主机通过网络 从远端服务器下载映像,并由此支持通过网络启动操作系统

     user:安装完成后为系统创建新用户

 

     url: 指明安装源

            PXE可以引导和安装Windows,linux等多种操作系统 

     key –skip 跳过安装号码,适用于rhel版本

 

命令段:指明各种安装前配置,如键盘类型等

 

程序包段:指明要安装的程序包组或程序包,不安装的程序包等

2、PXE工作原理

软件包选择段:%package

            Client向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC地址),如果合法则返回Client的IP地址,同时将启动文件pxelinux.0的位置信息一并传送给Client

     @group_name 包组名

            Client向PXE Server上的TFTP发送获取pxelinux.0请求消息,TFTP接收到消息之后再向Client发送pxelinux.0大小信息,试探Client是否满意,当TFTP收到Client发回的同意大小信息之后,正式向Client发送pxelinux.0

     package 一个个包

            Client执行接收到的pxelinux.0文件

     -package 不装的包

            Client向TFTP Server发送针对本机的配置信息文件(在TFTP服务的pxelinux.cfg目录下),TFTP将配置文件发回Client,继而Client根据配置文件执行后续操作。

     %end

            Client向TFTP发送Linux内核请求信息,TFTP接收到消息之后将内核文件发送给Client

脚本段:

            Client向TFTP发送根文件请求信息,TFTP接收到消息之后返回Linux根文件系统

预安装脚本%pre

            Client启动Linux内核

后安装脚本%post

            Client下载安装源文件,读取自动化安装脚本 

准备应答文件:

 

方法一:通过现成系统拷贝一个文件直接参考 /root/anaconda-ks.cfg  来编辑, ,然后使用ksvalidator命令来检查是否有语法错误,但是这文件的格式有一定的要求,麻烦

 

方法二:使用system-config-kickstart 图形界面工具生成ks文件。

四、PXE自动化安装Centos 7

澳门新萄京官方网站 33

1、安装前准备:关闭防火墙和SELINUX,DHCP服务器静态IP

澳门新萄京官方网站 34

            安装软件包
                    httpd 

 

                    tftp-server 

澳门新萄京官方网站 35

                    dhcp 

 

                    syslinux 

使用 system-config-kickstart 来创建ks文件(CentOS6.x)

                    system-config-kickstart

检查ks文件的语法错误:ksvalidator ksvalidator /PATH/TO/KICKSTART_FILE

            配置文件共享服务:
                    systemctl enable httpd
                    systemctl start httpd
                    mkdir /var/www/html/centos/7
                    mount /dev/sr0 /var/www/html/centos/7

1、配置yum源、安装软件并启动,需要安装图形界面

            准备kickstart文件

澳门新萄京官方网站 36

                    /var/www/html/ks/centos7.cfg 注意:权限

2、按需配置

            配置tftp服务
                    systemctl enable tftp.socket systemctl start tftp.socket 

注意在centos7上的选择安装包的那一项默认不出来选项,我们可以把base的仓库名改为development

 

澳门新萄京官方网站 37

[root@Centos-6~]#yum info tftp
...
Description :简单文件传输协议(TFTP)通常仅用于引导无盘工作站。 tftp软件包为TFTP提供了用户界面,允许用户将文件传入和传出远程机器。 这个程序和TFTP提供的安全性非常低,除非明确需要,否则不应启用。

[root@Centos-6~]#cat /etc/xinetd.d/tftp                   --->centos6需要设置xinetd.d下面的配置文件
...
        disable = no                                      --->默认是yes,修改成no,为启动服务
        socket_type             = dgram                       或者执行chkconfig tftp on命令
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4

[root@Centos-6~]#ss -nul
State       Recv-Q Send-Q                     Local Address:Port                       Peer Address:Port 
UNCONN      0      0                                      *:69                                    *:*     
[root@Centos-6~]#rpm -ql tftp-server 
/etc/xinetd.d/tftp
/usr/sbin/in.tftpd
...
/var/lib/tftpboot                                             --->客户端访问的tftp服务,就是默认访问这个目录
如果用tpfp访问下取文件,必须提前告知文件名字,不然无法查询文件。


[root@Centos-6ksdir]#cat 6.9-mini.ks                          --->自己写的迷你配置文件
#version=DEVEL
install
url --url=http://172.18.27.6/centos/6
lang en_US.UTF-8
keyboard us
network --onboot yes --device eth0 --bootproto dhcp --noipv6
network  --hostname=Centos6-mini.L
rootpw  --iscrypted $6$Pa.VQGS2Ic.1vnLd$bJq6seXxmSRIWRuBy8LMl4NfangNX/5nmyBFF.arZz27I2z8b8788hnQFIOyUqaPuEBFM77.p8Alnoe2DNLEb1
firewall --disabled
firstboot --disable
authconfig --enableshadow --passalgo=sha512
selinux --diabled
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
# here so unless you clear all partitions first, this is
# not guaranteed to work
clearpart --all --initlabel
# Clear the Master Boot Record
zerombr
part /boot --fstype=ext4 --size=512
part / --fstype=ext4 --size=20480
part /app --fstype=ext4 --size=10240
part swap --size=1024

%packages
@core
@Base
@server-policy
@workstation-policy
%end
%post
rm -f /etc/yum.repos.d/*
cat > /etc/yum.repos.d/base.repo <<EOF
[base]
name=file.cdrom
baseurl=file:///misc/cd
gpgcheck=0
enabled=1                                                                                              
[epel]
name=epel-ali
baseurl=https://mirrors.aliyun.com/epel/6/x86_64/
gpgcheck=0
enabled=1
EOF
useradd L
echo lanyangyang | passwd --stdin L &> /dev/null
%end

[root@Centos-6ksdir]#cat 6.9-server.ks                            ---> 用raid分区模式
#version=DEVEL
install
url --url=http://192.168.27.6/centos/6
lang en_US.UTF-8
keyboard us
network --onboot yes --device eth0 --bootproto dhcp --noipv6
network  --hostname=Centos6-server.L
rootpw  --iscrypted $6$nKc0Av3Bje8Tcm9a$u2DsNPgkEnuBg6kKSA/9pwaWU0wpmmzkC8SMnk3brKLAJQrwmMEN.5a7zHB.cIgLp9zPlxwyU9VP0JDYs27zv1
firewall --disabled
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda,sdb --append="crashkernel=auto rhgb quiet"
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
# Clear the Master Boot Record
zerombr
clearpart --all --initlabel
raid / --fstype=ext4 --level=0 --device=md0 raid.008002 raid.008017
raid /app --fstype=ext4 --level=0 --device=md1 raid.008003 raid.008018
raid swap --level=0 --device=md2 raid.008005 raid.008019
raid /home --fstype=ext4 --level=0 --device=md3 raid.008006 raid.008021
part /boot --fstype=ext4 --size=1024
part raid.008002 --size=20480
part raid.008003 --size=10240
part raid.008005 --size=2048
part raid.008006 --size=5120
part raid.008017 --size=20480
part raid.008018 --size=10240
part raid.008019 --size=2048
part raid.008021 --size=5120

%packages
@core
@Base
@server-policy
@workstation-policy
%end

 

 

root@centos7 ~]# systemctl start httpd 启动http服务

2、配置DHCP服务
            vim /etc/dhcp/dhcpd.conf
            option domain-name "example.com"; 

[root@centos7 ~]# ss -ntl 80端口打开就可以访问了

            default-lease-time 600;
            max-lease-time 7200;
            subnet 192.168.100.0 netmask 255.255.255.0 {

[root@centos7 ~]# cd /var/www/html 默认存放页面的文件

 

[root@centos7 /var/www/html]# ls

                    range 192.168.100.1 192.168.100.200; 

[root@centos7 /var/www/html]# mkdir -pv centos/7/os/x8_64/ 模仿阿里云yum源以创建文件夹方式把centos光盘放到这个页面上

                    filename "pxelinux.0";
                    next-server 192.168.100.100;

mkdir: created directory ‘centos’

 

mkdir: created directory ‘centos/7’

            }
            systemctl enable dhcpd 

mkdir: created directory ‘centos/7/os’

            systemctl start dhcpd 

mkdir: created directory ‘centos/7/os/x8_64/’

 

[root@centos7 /var/www/html]# mount /dev/sr0 centos/7/os/x86_64/ 挂载光盘到这个centos/7/os/x86_64/目录中

[root@Centos-6~]#ss -nutlp
Netid State      Recv-Q Send-Q   Local Address:Port    Peer Address:Port 
udp   UNCONN     0      0             *:67                   *:*     
 users:(("dhcpd",3059,7))
udp   UNCONN     0      0             *:68                   *:*     
 users:(("dhclient",3035,7))
udp   UNCONN     0      0             *:69                   *:*    
 users:(("xinetd",1569,5))
tcp   LISTEN     0      128          :::80                  :::*      
 users:(("httpd",3118,4),("httpd",3129,4),("httpd",3130,4),("httpd",3131,4),("httpd",3132,4),
 ("httpd",3133,4),("httpd",3134,4),("httpd",3135,4),("httpd",3136,4))
 
[root@Centos-6centos]#mount
...
/dev/sr1 on /misc/cd type iso9660 (ro,nosuid,nodev)
/dev/sr0 on /var/www/html/centos/7 type iso9660 (ro)                 --->把有的系统光盘提前挂在上
/dev/sr1 on /var/www/html/centos/6 type iso9660 (ro)                 --->或者把系统iso文件内容拷贝到httpd服务器文件夹中

mount: /dev/sr0 is write-protected, mounting read-only

 

[root@centos7 /var/www/html]# ls centos

2、准备相关文件

 

 

yum源生成

            mkdir /var/lib/tftpboot/pxelinux.cfg/

澳门新萄京官方网站 38

 

澳门新萄京官方网站 39

            cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/

澳门新萄京官方网站 40

 

澳门新萄京官方网站 41

            cp /misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/

澳门新萄京官方网站 42

 

澳门新萄京官方网站 43

            cp /misc/cd/isolinux/isolinux.cfg 

澳门新萄京官方网站 44

            /var/lib/tftpboot/pxelinux.cfg/default

澳门新萄京官方网站 45

 

澳门新萄京官方网站 46

            文件列表如下:

 

 

[root@centos7 ~/.ssh]# ssh-keygen                           在centos7上先生成key   
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:9xImk70qDENHI8D4aJlqNewV2o3/RUGm7njgz6ZIBqs root@centos7
The key's randomart image is:
 ---[RSA 2048]---- 
| o..      .o     |
|. . ..o   o.     |
| o  oo . .  .    |
|. .=. ...o .     |
|o ooo...S.*      |
|.. .= .. = =     |
|.  . * o.o  .    |
|  . o      .     |
| E   . o o       |
 ----[SHA256]----- 
[root@centos7 ~/.ssh]# cat id_rsa.pub        查看公钥文件

                    /var/lib/tftpboot/

 

                        ├── initrd.img

ks.cfg配置文件,以上步骤生成:如下

                        ├── menu.c32 (如果使用其他菜单风格文件,就考取其他的菜单文件即可)

澳门新萄京官方网站 47

                        ├── pxelinux.0

ks文件中LVM逻辑卷分区格式

                        ├── pxelinux.cfg

 

                        │             └── default

part /boot --fstype xfs --size=200 --ondisk=sda
part pv.2 --size=0 --grow --ondisk=sda
volgroup myvg --pesize=4096 pv.2
logvol / --fstype xfs --name=lv_root --vgname=myvg --size=10240 --grow
logvol swap --fstype swap --name=lv_swap --vgname=myvg --size=1024 --grow --maxsize=2048

                        └── vmlinuz 

 

[root@Centos-6ksdir]#tree
.
├── ks6.9-cb.cfg
├── ks6.9-mini.cfg
├── ks6.9-server.cfg
├── ks7.4-cb.cfg
├── ks7.4-mini.cfg
└── ks7.4-server.cfg

[root@Centos-6tftpboot]#tree
.
├── 6
│   ├── initrd.img
│   └── vmlinuz
├── 7
│   ├── initrd.img
│   └── vmlinuz
├── menu.c32
├── pxelinux.0
├── pxelinux.cfg
│   └── default
├── splash.jpg
└── vesamenu.c32

ks文件中使用系统自动分区格式

 

# Partition clearing information
clearpart --all --initlabel 
autopartc

3、准备启动菜单

 实验:在centos7上通过应答文件配合ftp 服务实现自动化安装

            Vim /var/lib/tftpboot/pxelinux.cfg/default 

 

            default menu.c32
            timeout 600
            menu title PXE INSTALL MENU
            label auto

1:yum install vsftpd systemctl start vsftpd 启动该服务 安装ftp服务,

  style="font-size: 15px">将会自动在这个目录下生成相应的文件夹

2:cd /var/ftp/pub 将会自动在这个目录下生成相应的文件夹,

3:[root@centos7 /var/ftp/pub]# mkdir centos7 创建该文件夹

4:[root@centos7 /var/ftp/pub]# mount /dev/sr0 centos7/ 将光盘挂载到

   centos7上

5:[root@centos7 /var/ftp/pub]# setenforce 0 关闭安全机制

6:访问

澳门新萄京官方网站, style="font-size: 15px">7:[root@centos7 /var/ftp/pub]# mv /root/ks7.cfg 将拷贝的应答文件 style="font-size: 15px">复制到当前目录下,并且进行修改

style="font-size: 16px; color: #000000">8:制作好的应答文件

style="font-size: 16px; color: #000000">#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled #关闭防火墙
# Install OS instead of upgrade
install
# Use network installation
cdrom style="color: #ff0000">光盘引导
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info

# System timezone
timezone  Africa/Abidjan
# Network information
network  --bootproto=dhcp --device=eth0 --onboot=on
# System bootloader configuration
bootloader --location=partition
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
part /boot --fstype=ext4 --size=300
part / --fstype=ext4 --size=20480
part /app --fstype=ext4 --size=10240

part swap --size=2048
%post
rm -rf /etc/yum.repo.d/*
cat > /etc/yum.repo.d/media.repo <<EOF
[base]
name=base
baseurl=file:///media/
gpgcheck=0
EOF

useradd wang
echo 111111|passwd --stdin wang
%end

%packages
@base
@core
autofs
%end

 

                    menu label Auto Install CentOS 7
                    kernel vmlinuz
                    append initrd=initrd.img ks=

制作自动应答光盘

 

我们现在已经有一个ks文件了,接下来需要把ks文件加入到光盘文件中来实现自动安装,就不用每次用过光盘引导输入开ks ..........一大长串字符了。

            label manual
                    menu label Manual Install CentOS 7
                    kernel vmlinuz
                    append initrd=initrd.img inst.repo=

style="font-weight: bold; font-family: 黑体">1、准备安装文件

[root@centos6 /data]# mkdir boot

[root@centos6 /data]# cp -r /media/isolinux/ /data/boot

[root@centos6 /data]# mkdir ksdir

[root@centos6 /data]# cp /root/ks6.cfg  ksdir/

style="font-weight: bold; font-family: 黑体">2:修改配置文件

label linux
    menu label ^Auto Install an system
    kernel vmlinuz
    append initrd=initrd.img ks=cdrom:/ksdir/ks6.cfg
label vesa
    menu label Install ^Manual centos
    kernel vmlinuz
    append initrd=initrd.img reop=
label local
    menu label Boot from ^local drive
    menu default
    localboot 0xffff
style="font-weight: bold; font-family: 黑体">3、制作ISO文件,

[root@centos7 ~]#mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.9 x86_64 boot" -b isolinux/isolinux.bin -c

isolinux/boot.cat -o /root/boot.iso /data/boot:注意:以上相对路径都是相对于光盘的根,和工作目录无关

一 :制作完整的iso 文件,上面的步骤知识光盘应道,还是要手动安装

1[root@centos6 ~]# cp -r /media/ /data/centos6 复制光盘下所有的内容,包括隐藏文件,复制后命名为centos6

2[root@centos6 /data]# find -name TRANS.TBL 删除文件夹所有的这种文件

[root@centos6 /data]# find -name TRANS.TBL -exec rm {} ; 删除文件夹所有的这种文件

3[root@centos6 /data/centos6]# rm -rf repodata/ 删除此文件夹,重新生成新的

4:[root@centos6 /data/centos6]# createrepo -g /media/repodata/43d8fd068164b0f042845474d6a22262798b9f0d1f49ad1bf9f95b953089777d-c6-x86_64-comps.xml  .

(包的分组) 重新创建yum 源的yuan数据

5:[root@centos6 /data/ksdir]# vim ks6.cfg 修改应答文件中的安装方法,将网络改为cdrom

6:[root@centos6 /data/centos6/isolinux]# vim isolinux.cfg 修改启动菜单

label linux

    menu label ^Auto Install an system

    menu default

    kernel vmlinuz

    append initrd=initrd.img ks=cdrom:/ksdir/ks6.cfg

label manual

    menu label ^Manual installed an system

    kernel vmlinuz

    append initrd=initrd.img

label local

    menu default

    menu label Boot from ^local drive

    localboot 0xffff

 

7: style="font-weight: bold">[root@centos6 ~]# mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.9 x86_64 boot" -b isolinux/isolinux.bin -c

isolinux/boot.cat -o /root/centos6.9.iso /data/centos6/ 刻光盘

5:创建U盘启动盘 dd if=/dev/sr0 of=/dev/sdb

style="color: #ff6600; font-weight: bold; font-family: 黑体">补充:yum安装sz 命令:yum install style="color: #ff6600; font-weight: bold">  style="color: #ff6600; font-weight: bold">-y lrzsz

 

澳门新萄京官方网站 48

            label local
                    menu default

 

 

mkisofs命令

                    menu label ^Boot from local drive 

  • -o 指定映像文件的名称
  • -b 指定在制作可开机光盘时所需的开机映像文件
  • -c 制作可开机光盘时,会将开机映像文件中的 no-eltorito-catalog 全部内容作成一个文件
  • -no-emul-boot 非模拟模式启动
  • -boot-load-size 4 设置载入部分的数量
  • -boot-info-table 在启动的图像中现实信息
  • -R 或 -rock 使用 Rock RidgeExtensions
  • -J 或 -joliet 使用 Joliet 格式的目录与文件名称
  • -v 或 -verbose 执行时显示详细的信息
  • -T 或 -translation-table 建立文件名的转换表,适用于不支持 Rock RidgeExtensions 的系统上

                    localboot 0xffff 

 

[root@Centos-6tftpboot]#cat pxelinux.cfg/default 
default vesamenu.c32
#prompt 1
timeout 100
menu background splash.jpg
menu title Welcome to CentOS Install System
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label local
  menu default
  menu lable Boot from ^local drive
  localboot 0xffff
label Cenots-6.9-server 
  menu label Install 6.9-^serversystem
  kernel 6/vmlinuz
  append initrd=6/initrd.img ks=http://192.168.27.6/ksdir/ks6.9-server.cfg
label Cenots-6.9-mini
  menu label Install 6.9-^minisystem
  kernel 6/vmlinuz
  append initrd=6/initrd.img ks=http://192.168.27.6/ksdir/ks6.9-mini.cfg
label Cenots-6.9-cb
  menu label Install 6.9-^cbsystem
  kernel 6/vmlinuz
  append initrd=6/initrd.img ks=http://192.168.27.6/ksdir/ks6.9-cb.cfg
label Cenots-7.4-mini
  menu label Install 7.4-^minisystem
  kernel 7/vmlinuz
  append initrd=7/initrd.img ks=http://192.168.27.6/ksdir/ks7.4-mini.cfg
label Cenots-7.4-cb
  menu label Install 7.4-^cbsystem
  kernel 7/vmlinuz
  append initrd=7/initrd.img ks=http://192.168.27.6/ksdir/ks7.4-cb.cfg
label Cenots-7.4-server
  menu label Install 7.4-^serversystem
  kernel 7/vmlinuz
  append initrd=7/initrd.img ks=http://192.168.27.6/ksdir/ks7.4-server.cfg

DHCP服务

 

 

五、PXE自动化安装Centos 6

网络配置 静态指定

1、安装前准备:关闭防火墙和SELINUX,DHCP服务器静态IP

     动态获取: bootp:boot protocol MAC与IP一一静态对应 bootpIP地址固定

            安装相应软件包

       dhcp:增强的bootp,动态 #用较少的ip给较多的计算机提供使用

 

DHCP: (Dynamic Host Configuration Protocol)

                    dhcp 

  动态主机配置协议 局域网协议,UDP协议

                    httpd 

主要用途

                    tftp-server 

  用于内部网络和网络服务供应商自动分配IP地址给用户

                    syslinux 

  用于内部网络管理员作为对所有电脑作集中管理的手段

                    

♦ 使用场景

                    chkconfig tftp on
                    chkconfig xinetd on
                    chkconfig httpd on

  自动化安装系统

 

   解决IPV4资源不足问题

                    chkconfig dhcpd on 

 

 

**♦ DHCP共有八种报文**

                    service httpd start 

DHCP DISCOVER:客户端到服务器 澳门新萄京官方网站 49

                    service xneted start

DHCP OFFER :服务器到客户端

 

DHCP REQUEST:客户端到服务器

2、准备Yum 源和相关目录

DHCP ACK :服务器到客户端

            mkdir -pv /var/www/html/centos/{6,ks} 

DHCP NAK:服务器到客户端,通知用户无法分配合适的IP 地址

            mount /dev/sr0 /var/www/html/centos/6

DHCP DECLINE :客户端到服务器,指示地址已被使用

 

DHCP RELEASE:客户端到服务器,放弃网络地址和取消 剩余的租约时间

3、准备kickstart文件

DHCP INFORM:客户端到服务器, 客户端如果需要从DHCP 服务器端获取更为详细的配置信息,则发送Inform报文向 服务器进行请求,极少用到

            /var/www/html/centos/ks/centos6.cfg

续租

            注意权限:

  50% :租赁时间达到50%时来续租,刚向DHCP服务器发向新的DHCPREQUEST 请求。如果dhcp服务没有拒绝的理由,则回应DHCPACK信息。当DHCP客户端 收到该应答信息     后,就重新开始新的租用周期

                    chmod 644 /var/www/html/centos/ks/centos6.cfg 

  87.5%:如果之前DHCP Server没有回应续租请求,等到租约期的7/8时,主机 会再发送一次广播请求

 

♦ 同网段多DHCP服务

4、准备相关的启动文件

  DHCP服务必须基于本地

            mkdir /var/lib/tftpboot/pxelinux.cfg/
            cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 

  先到先得的原则

            cd /misc/cdpxeboot/
            cp vmlinuz initrd.img /var/lib/tftpboot
            cd /misc/cd/isolinux/
            cp boot.msg vesamenu.c32 splash.jpg /var/lib/tftpboot 

♦ 跨网段

 

  RFC(请求入解) 1542 Compliant Routers #可以通过路由器

5、准备启动菜单文件

  dhcrelay: 中继 #可以找代理,事先知道dhcp的服务器,如果发现有客户端的请求通过单播向dhcp服务器要一个地址,然后给客户端

            cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

通常情况下 可以在路由器上在网卡接口上配一个代理,启用次功能

 

♦ 相关协议

 

  Arp 免费arp:

            vim /var/lib/tftpboot/pxelinux.cfg/default 

  rarp:把mak地址解析成ip地址,当自己的mak地址是固定的,就向dhcp服务器寻求相对应的ip地址,比较固定

            default vesamenu.c32 指定菜单风格

DHCP服务实现

            #prompt 1
            timeout 600

  1Linux DHCP协议的实现程序:dhcp, dnsmasq(dhcp,dns)

 

   2 Dhcp Server

            display boot.msg
            menu background splash.jpg
            menu title Welcome to wang CentOS 6
            menu color border 0 #ffffffff #00000000 

     /usr/sbin/dhcpd

            menu color sel 7 #ffffffff #ff000000
            menu color title 0 #ffffffff #00000000 

      /etc/dhcp/dhcpd.conf --> /etc/rc.d/init.d/dhcpd

            menu color tabmsg 0 #ffffffff #00000000 

      /etc/dhcp/dhcpd6.conf--> /etc/rc.d/init.d/dhcpd6

            menu color unsel 0 #ffffffff #00000000 

    /usr/sbin/dhcrelay

            menu color hotsel 0 #ff000000 #ffffffff 

      /etc/rc.d/init.d/dhcrelay

            menu color hotkey 7 #ffffffff #ff000000 

    dhcp server:67/udp

            menu color scrollbar 0 #ffffffff #00000000 

    dhcp client: 68/udp

            label auto
                    menu label ^Automatic Install Centos6
                    kernel vmlinuz
                    append initrd=initrd.img ks=

    dhcpv6 client:546/udp

 

3 Dhcp client

            label manual
                    menu label ^Manual Install Centos
                    kernel vmlinuz
                    append initrd=initrd.img inst.repo=

    dhclient

 

    自动获取的IP信息: /var/lib/dhclient

            label local
                    menu default
                    menu label Boot from ^local drive 

**♦ DHCP配置文件**

                    localboot 0xffff 

  dhcpd.conf: 帮助参考:man 5 dhcpd.conf

 

全局配置

6、目录结构如下:

subnet {

 

...

            tree /var/lib/tftpboot/ /var/lib/tftpboot/

}

            ├── boot.msg
            ├── initrd.img 

host {

            ├── pxelinux.0

}

            ├── pxelinux.cfg

  地址分配记录: /var/lib/dhcpd/dhcpd.leases

            |             └── default

   其它配置选项:

            ├── splash.jpg

    filename: 指明引导文件名称

            ├── vesamenu.c32

    next-server:提供引导文件的服务器IP地址

            └── vmlinuz

  示例:

 

    filename "pxelinux.0";

            1 directory, 7 files 

    next-server 192.168.100.100;

 

  检查语法 service dhcpd configtest

7、配置dhcp服务

**** dhcpd.conf示例

            cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample

   option domain-name "magedu.com";

 

   option domain-name-servers 192.168.0.1,8.8.8.8;

            /etc/dhcp/dhcpd.conf
            vim /etc/dhcp/dhcpd.conf
            option domain-name "magedu.com";
            option domain-name-servers 192.168.100.1; 

  default-lease-time 86400;

            subnet 192.168.100.0 netmask 255.255.255.0 {

  max-lease-time 86400;

 

  subnet 192.168.100.0 netmask 255.255.255.0 {

                    range 192.168.100.1 192.168.100.200; 

    range 192.168.100.1 192.168.100.200;

                    option routers 192.168.100.1;
                    filename "pxelinux.0";
                    next-server 192.168.100.100;

    option routers 192.168.100.1;

 

  }

            }
            service dhcpd start 

 

 

 

[root@Centos-6tftpboot]#cat /etc/dhcp/dhcpd.conf 
# dhcpd.conf
......
# DHCP server to understand the network topology.
subnet 192.168.27.0 netmask 255.255.255.0 {
        range 192.168.27.100 192.168.27.200;
        option routers 192.168.27.1;
        filename "pxelinux.0";
        next-server 192.168.27.6;
}

PXE介绍

 

PXE: Preboot Excution Environment 预启动执行环境 Intel公司研发 基于Client/Server的网络模式,支持远程主机通过网络从远端服务器下载 映像,并由此支持通过网络启动操作系统 PXE可以引导和安装Windows,linux等多种操作系统

 

 

 

澳门新萄京官方网站 50

 

pxe工作原理

 

  1. 1:Client向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC地址),如果合法则返回Client的IP地址,同时将启动文件pxelinux.0的位置信息一并传送给Client
  2. :2:Client向PXE Server上的TFTP发送获取pxelinux.0请求消息,TFTP接收到消息之后再向Client发送pxelinux.0大小信息,试探Client是否满意,当TFTP收到Client发回的同意大小信息之后,正式向Client发送pxelinux.0
  3. Client执行接收到的pxelinux.0文件
  4. Client向TFTP Server发送针对本机的配置信息文件(在TFTP 服务的pxelinux.cfg目录下),TFTP将配置文发回Client,继而Client根据配置文件执行后续操作。
  5. Client向TFTP发送Linux内核请求信息,TFTP接收到消息之后将内核文件发送给Client
  6. Client向TFTP发送根文件请求信息,TFTP接收到消息之后返回Linux根文件系统
  7. Client启动Linux内核
  8. Client下载安装源文件,读取自动化安装脚本

 

 

 

PXE自动化安装CentOS 7

 

pxe dhcpd tftp-server httpd (实现基于网络的自动化安装)

 

一:安装前准备:  

 

Linux学习之路,系统自动化安装。关闭selinux

 

  1. 永久有效

 

修改 /etc/selinux/config 文件中的 SELINUX="" 为 disabled ,然后重启。

 

  1. 即时生效

 

setenforce 0

 

 关闭防火墙

 

  1. 永久性生效

 

开启:chkconfig iptables on

关闭:chkconfig iptables off

2. 即时生效,重启后失效

开启:service iptables start

关闭:service iptables stop

[root@centos7 ~]# systemctl stop firewalld

3:[root@centos6 ~]# ntpdate 192.168.0.1同步时间

二:安装软件包 :

httpd---tftp-server--- dhcp ---syslinux(相当于grub用来引导程序)--- system-config-kickstart

[root@centos7 ~]# yum install httpd tftp-server dhcp syslinux

三:配置文件共享服务: yum仓库路径

[root@centos7 ~]# systemctl enable httpd

[root@centos7 ~]# systemctl start httpd

[root@centos7 ~]# cd /var/www/html/

[root@centos7 /var/www/html]# mkdir -pv centos/7/os/x8_64/

[root@centos7 /var/www/html]# mount /dev/sr0 centos/7/os/x8_64/

四:准备kickstart文件(应答文件)

/var/www/html/ksdir/ks7.cfg 注意:权限

[root@centos7 /var/www/html]# mkdir ksdir

[root@centos7 ~]# mv ks7.cfg /var/www/html/ksdir/

[root@centos7 /var/www/html/ksdir]# chmod x ks7.cfg

五:配置tftp服务 启动tftp服务

systemctl enable tftp.socket

systemctl start tftp.socket

六:配置DHCP服务

[root@centos7 ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

[root@centos7 ~]# vim /etc/dhcp/dhcpd.conf

log-facility local7; #记录日志级别

subnet 192.168.30.0 netmask 255.255.255.0 { #分配子网,和自己主机一个网段

range 192.168.30.110 192.168.1.254; #地址池

option domain-name-servers 114.114.114.114,1.1.1.1; #DNS

option domain-name "laowang.com"; #搜索域

option routers 192.168.30.1; #路由网关

default-lease-time 600; #默认租约时间

max-lease-time 7200; #最大租约时间

next-server 192.168.30.110; #*指向tftp服务器地址,此处指向本机

filename "pxelinux.0"; #pxe文件名,系统默认为pxelinux.0

}

澳门新萄京官方网站 51

systemctl enable dhcpd 开机自启动

systemctl start dhcpd

七:准备相关文件

[root@centos7 ~]# cd /var/lib/tftpboot

mkdir /var/lib/tftpboot/pxelinux.cfg/

cp /usr/share/syslinux/{pxelinux.0,menu.c32} (菜单风格)/var/lib/tftpboot/

cp /media/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/

cp /media/isolinux/isolinux.cfg(菜单) /var/lib/tftpboot/pxelinux.cfg/default

文件列表如下:

/var/lib/tftpboot/

├── initrd.img

├── menu.c32

├── pxelinux.0

├── pxelinux.cfg

│ └── default

└── vmlinuz

准备启动菜单

Vim /var/lib/tftpboot/pxelinux.cfg/default

default menu.c32

timeout 600

menu title Centos7 《大标题》

label auto

menu label ^Auto Install CentOS 7 自动安装

kernel vmlinuz

append initrd=initrd.img ks=)

label manual 手动安装

menu label Manual Install CentOS 7

kernel vmlinuz

append initrd=initrd.img inst.repo=http://192.168.1.12/centos/7/os/x8_64/(手动安装)

label local

menu default

menu label ^Boot from local drive

localboot 0xffff

 

PXE自动化安装CentOS6

一:安装前准备:关闭防火墙和SELINUX,DHCP服务器静态IP(同上)

二:安装相应软件包

[root@centos7 ~]# yum install httpd tftp-server dhcp syslinux

chkconfig tftp on

chkconfig xinetd on

chkconfig httpd on

chkconfig dhcpd on

service httpd start

service xneted start

三: 准备Yum 源和相关目录

[root@centos6 ~]# cd /var/www/html/

[root@centos6 /var/www/html]# mkdir -pv centos/6/os/x8_64/

[root@centos6 /var/www/html]# mount /dev/sr0 centos/6/os/x8_64/

四:准备kickstart文件

[root@centos7 /var/www/html]# mkdir ksdir

[root@centos7 ~]# mv ks6.cfg /var/www/html/ksdir/

注意权限:chmod 644 /var/www/html/ksdir/ ks6.cfg

五: 准备相关的启动文件

mkdir /var/lib/tftpboot/pxelinux.cfg/

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

cd /media/images/pxeboot/

cp vmlinuz initrd.img /var/lib/tftpboot

Cd /media/isolinux/

cp boot.msg vesamenu.c32 splash.jpg /var/lib/tftpboot

六: 准备启动菜单文件

cp /media/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

vim /var/lib/tftpboot/pxelinux.cfg/default

default vesamenu.c32 指定菜单风格

#prompt 1

timeout 600

display boot.msg

menu background splash.jpg

menu title Welcome to wang CentOS 6

menu color border 0 #ffffffff #00000000

menu color sel 7 #ffffffff #ff000000

menu color title 0 #ffffffff #00000000

menu color tabmsg 0 #ffffffff #00000000

menu color unsel 0 #ffffffff #00000000

menu color hotsel 0 #ff000000 #ffffffff

menu color hotkey 7 #ffffffff #ff000000

menu color scrollbar 0 #ffffffff #00000000

label auto

menu label ^Automatic Install Centos6

kernel vmlinuz

append initrd=initrd.img ks= ks6.cfg

label manual

menu label ^Manual Install Centos

kernel vmlinuz

append initrd=initrd.img inst.repo=

label local

menu default

menu label Boot from ^local drive

localboot 0xffff

 

七:目录结构如下:

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

八: 配置dhcp服务

cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

vim /etc/dhcp/dhcpd.conf

option domain-name "magedu.com";

option domain-name-servers 192.168.100.1;

subnet 192.168.100.0 netmask 255.255.255.0 {

range 192.168.100.1 192.168.100.200;

option routers 192.168.100.1;

filename "pxelinux.0";

next-server 192.168.100.100;

}

service dhcpd start

obbler

快速网络安装linux操作系统的服务,支持众多的Linux发行版:Red Hat、 Fedora、CentOS、Debian、Ubuntu和SuSE,也可以支持网络安装windows ,PXE的二次封装,将多种安装参数封装到一个菜单 Python编写 提供了CLI和Web的管理形式cobbler在epel源中,安装时需要配置epel源。

澳门新萄京官方网站 52

 

一:cobbler 工作流程

client裸机配置了从网络启动后,开机后会广播包请求DHCP服务器(cobbler server)

发送其分配好的一个IP

DHCP服务器(cobbler server)收到请求后发送responese,包括其ip地址

client裸机拿到ip后再向cobbler server发送请求OS引导文件的请求

cobbler server告诉裸机OS引导文件的名字和TFTP server的ip和port

client裸机通过上面告知的TFTP server地址通信,下载引导文件

client裸机执行执行该引导文件,确定加载信息,选择要安装的os,期间会再向

cobbler server请求kickstart文件和os image

cobbler server发送请求的kickstart和os iamge

client裸机加载kickstart文件

client裸机接收os image,安装该os image

二:cobbler 介绍(蓝色字体是具体步骤)

1:安装包

cobbler 基于EPEL源 只装两包其他的包自动会安装

2;cobbler 服务集成

PXE

DHCP

rsync

Http

DNS

Kickstart

IPMI 电源管理

3:检查cobbler环境

cobbler check

三:cobbler 相关术语

1:发行版:

表示一个操作系统版本,它承载了内核和 initrd 的信息,以及内核参数等其他数据

2:配置文件:

包含一个发行版、一个 kickstart 文件以及可能的存储库,还包含更多特定的内核参数等其他数据

3:系统:

表示要配置的主机,它包含一个配置文件或一个镜像,还包含 IP 和 MAC 地址、电源

管理(地址、凭据、类型)以及更为专业的数据等信息

4:存储库:

保存一个 yum 或 rsync 存储库的镜像信息

5:镜像:

可替换一个包含不属于此类别的文件的发行版对象(例如,无法分为内核和 initrd 的对象)

四:cobbler 各种配置目录说明

1:安装:yum install cobbler dhcp

2:配置文件目录 /etc/cobbler

/etc/cobbler/settings : cobbler 主配置文件

/etc/cobbler/iso/: iso模板配置文件

/etc/cobbler/pxe: pxe模板文件

/etc/cobbler/power: 电源配置文件

/etc/cobbler/user.conf: web服务授权配置文件

/etc/cobbler/users.digest: web访问的用户名密码配置文件

/etc/cobbler/dhcp.template : dhcp服务器的的配置末班

/etc/cobbler/dnsmasq.template : dns服务器的配置模板

/etc/cobbler/tftpd.template : tftp服务的配置模板

/etc/cobbler/modules.conf : 模块的配置文件

五:cobbler 目录介绍

1:数据目录

/var/lib/cobbler/config/: 用于存放distros,system,profiles 等信息配置文件

/var/lib/cobbler/triggers/: 用于存放用户定义的cobbler命令

/var/lib/cobbler/kickstart/: 默认存放kickstart文件

/var/lib/cobbler/loaders/: 存放各种引导程序

2:镜像目录

/var/www/cobbler/ks_mirror/: 导入的发行版系统的所有数据

/var/www/cobbler/images/ : 导入发行版的kernel和initrd镜像用于远程网络启动

/var/www/cobbler/repo_mirror/: yum 仓库存储目录

3:日志目录

/var/log/cobbler/installing: 客户端安装日志

/var/log/cobbler/cobbler.log : cobbler日志

六:cobbler 命令介绍

cobbler commands介绍

cobbler check 核对当前设置是否有问题

cobbler list 列出所有的cobbler元素

cobbler report 列出元素的详细信息

cobbler sync 同步配置到数据目录,更改配置最好都要执行下

cobbler reposync 同步yum仓库

cobbler distro 查看导入的发行版系统信息

cobbler system 查看添加的系统信息

cobbler profile 查看配置信息

七:cobbler 重要的参数

/etc/cobbler/settings中重要的参数设置

default_password_crypted: "$1$gEc7ilpP$pg5iSOj/mlxTxEslhRvyp/"

manage_dhcp:1

manage_tftpd:1

pxe_just_once:1

next_server:< tftp服务器的 IP 地址>

server:<cobbler服务器的 IP 地址>

八:

九:cobbler 报错解决

执行Cobbler check报错解决方式

1:修改/etc/cobbler/settings文件中的server参数的值为提供cobbler服务的主机相应的IP地址或主机名

2:修改/etc/cobbler/settings文件中的next_server参数的值为提供PXE服务的主机相应的IP地址

3:如果当前节点可以访问互联网,执行“cobbler get-loaders”命令即可;否则,

需要安装syslinux程序包,而后复制/usr/share/syslinux/{pxelinux.0,memu.c32}

等文件至/var/lib/cobbler/loaders/目录中

4:执行“chkconfig rsync on”命令即可

5:执行“openssl passwd -1 生成密码,并用其替换/etc/cobbler/settings文件 default_password_crypted参数的值

十:cobbler 相关管理

1:下载启动菜单:

联网:cobbler get-loaders

不联网:cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot

2:管理distro

cobbler import --name=centos-6.9-x86_64 --path=/media/cdrom --arch=x86_64

3:管理profile

cobbler profile add --name=centos-6.9-x86_64-basic

--distro=centos-6.9-x86_64 --kickstart= /var/lib/cobbler/kickstarts/centos-6.9-x86_64.cfg

十一:cobbler 命令

1:查看profiles

cobbler profile list

2:查看引导文件

cat /var/lib/tftpboot/pxelinux.cfg/default

3:同步cobbler配置

cobbler sync

4:多系统引导方案

cobbler import --name=CentOS-7-x86_64 --path=/media/cdrom

cobbler distro list

cobbler profile list

cobbler sync

十二:cobbler 实现步骤

1:安装包,并设置服务

2:检查配置

3:根据上面提示修改配置

4:下载启动相关文件菜单

5:配置DHCP服务

6:分别导入centos的安装源,并查看

7:准备kickstart文件并导入cobbler

8:测试

十三:cobbler的web管理实现

1:cobbler-web

提供cobbler的基于web管理界面,epel源

yum install cobbler-web

2:认证方式

认证方法配置文件:/etc/cobbler/modules.conf

支持多种认证方法:

authn_configfile

authn_pam

3:使用authn_configfile模块认证cobbler_web用户

vim /etc/cobbler/modules.conf

[authentication]

module=authn_configfile

创建其认证文件/etc/cobbler/users.digest,并添加所需的用户

htdigest -c /etc/cobbler/users.digest Cobbler admin

注意:添加第一个用户时,使用“-c”选项,后续添加其他用户时不要再使用,cobbler_web的realm只 能为Cobbler

4:使用authn_pam模块认证cobbler_web用户

vim /etc/cobbler/modules.conf

[authentication]

module = authn_pam

创建cobbler用户:useradd cobbler

vim /etc/cobbler/users.conf

[admins]

admin = "cobbler“

5:Web访问cobbler

重启cobblerd服务

通过

 

cobbler安装的具体步骤:

1:安装:yum install cobbler dhcp

Linux学习之路,系统自动化安装。 [root@centos7 ~]## yum -y install cobbler dhcp 装包

[root@centos7 ~]## systemctl start cobblerd 启动服务

[root@centos7 ~]## systemctl status cobblerd 查看服务是否已经运行

需要手动启动相关的服务

[root@centos7 /var/lib/tftpboot]# systemctl start httpd(80) tftp(69)

2:cobbler check 用此命令列出菜单照做运行cobbler check根据提示排错

以下在[root@centos7 /var/lib/tftpboot]# vim /etc/cobbler/settings文件中修改

(1)server: 192.168.30.110 第384行,改为自己的ip地址

systemctl restart cobblerd 每次修改完此配置文件都要重启服务

(2)next_server(那个是tftp服务器): 192.168.30.110 第272行,改为自己的ip地址

(3)启动tftp服务systemctl start ftfpd

(4) [root@centos7 /var/lib/tftpboot]# cobbler get-loaders 用此命令会自动在网上下载相关的文件

(5)用cobbler sync 同步 ,把下载的相关文件同步到 /var/lib/tftpboot 下

(6)[root@centos7 /var/lib/tftpboot]# tree.

├── boot

│   └── grub

│   └── menu.lst

├── etc

├── grub

│   ├── efidefault

│   ├── grub-x86_64.efi

│   ├── grub-x86.efi

│   └── images -> ../images

├── images

├── images2

├── memdisk

├── menu.c32

├── ppc

├── pxelinux.0

├── pxelinux.cfg

│   └── default

├── s390x

│   └── profile_list

└── yaboot

(7)修改文件中的默认口令 第101行 $1:md5的加密算法,$6:sh512加密算法

[root@centos7 ~]# openssl passwd -1(使用md5加密算法)

Password:

Verifying - Password:

$1$KsFkUTOo$z3LQU7SdDqQNfQPegBkqa1(替换文件中的默认口令)

配置DHCP

vim /etc/cobbler/dhcp.template将dhcp更改为ip相同的网段,设置范围等参数

8):manage_dhcp: 1 第242行,0改为1

(9):vim /etc/cobbler/dhcp.template 修改第22-25行的ip就好了这样就不同在配DHCP服务

澳门新萄京官方网站 53

3:[root@centos7 /var/lib/tftpboot]# cobbler sync

最终参考模板自动的生成真正的cat /etc/dhcp/dhcpd.conf 配置文件

.启动服务

systemctl start dhcpd

4:导入7的系统:

导入镜像文件

cobbler import --path=/media/ --name centos7 --arch=x86_64

澳门新萄京官方网站 54

导完系统后悔自动生成一个最小化安装的ks文件cobbler profile list可以看到

查看导入的发行版系统信息和配置信息

cobbler distro list

cobbler profile list

澳门新萄京官方网站 55

5: 生成KS文件

更改ks文件中的URL路径,改为$tree,cobbler会自动识别

把ks文件移动到cobbler的ks目录中

mv ks7..cfg /var/lib/cobbler/kickstarts/

把ks文件指定到启动项中

cobbler profile edit --name=centos7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/ks7.cfg

也可以根据需求添加多个镜像,写多个KS文件导入 澳门新萄京官方网站 56

6:搭建完成,测试一下

 澳门新萄京官方网站 57

 

 

 

 

 

 

本文由澳门新萄京官方网站发布于澳门新萄京官方网站,转载请注明出处:Linux学习之路,系统自动化安装

关键词: