第十六周作業

pex

pex實現全自動安裝操作系統,其中用到的軟件包括(dhcp首先給客戶端分配IP地址提供的系統引導安裝系統指向tftp-server啟動并加載網絡repo倉庫由http服務和系統鏡像制作)

dhcp–> 分配主機地址并提供引導文件–>tftp-server–>讀取配置–>repo倉庫完成系統安裝

dncp:動態主機配置協議能夠在網段內的主機分配IP、掩碼、網關和dns,默認監聽端口是UDP67.

分配模式

靜態分配:租賃IP地址過期后可回收。(租賃的ip到期后dhcp進行單播確定是否續約)

動態分配:通過IP班定客戶端MAC地址。

dhcp 功能

dhcpd:作為dhcp服務   

dhcrelay:作為中繼服務器

程序文件

/etc/sbin/dpcp dhcp主程序

/etc/dhcp/dhcpd.conf ipv4服務配置文件

/etc/dhcp/dhcpd6.conf ipv6服務配置文件

/etc/sbin/dhcrelay 中繼服務主程序

/etc/rc.d/init.d/dhcrelay 中繼服務配置文件

/etc/resolv.conf 記錄信息

 

配置dhcp服務器:

配置環境:

主機設置臨時固定IP地址段:192.168.200.1

確保網卡打開了廣播功能

ip link set ens33 multicast on 

# 安裝配置dhcp

[[email protected]] yum -y install dhcp

# 拷貝配置模板到/etc/dhcp/內修改名為dhcpd.conf配置文件

[[email protected]] cp -f /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

 

option domain-name `magedu.com`;
option domain-name-servers 192.168.20.1; //僅作提示
option routers 192.168.20.1;

default-lease-time 600; //默認租賃時間
max-lease-time 7200;  //最長續租時間

log-facility local7; 日志記錄

subnet 192.168.0.0 netmask 255.255.0.0 {  //定義子網,注意此處網段必須符合規定,不然守護進程無法啟動
        range 192.168.200.1 192.168.200.10;             //地址池
        option routers 192.168.200.1;                   //給定的路由
        option domain-name-server 192.168.200.1;        //dhcp服務器主機名字
        option domain-name `dome`;                      // 服務器
        default-lease-time 600;                         //子網默認租賃時間
        max-lease-time 7200;                            //子網默認最長租賃時間
        
        filename `pxelinux.0`;          //指定引導文件名,此文件需要裝syslinux 生成
        next-server 192.168.200.20;     //定義引導文件服務器IP   
}

host fantasia {                     //IP地址與客戶端MAC綁定,實現靜態分配地址,綁定服務端主機
        hardware ethernet 00:0c:29:22:1e:ec;
        fixed-address 192.168.200.20;       //固定的IP地址不能是已經使用中的。
}

配置開啟系統引導文件:

 

# 安裝syslinux 引導文件提供服務
[[email protected] ~]# yum -y install syslinux
# 拷貝引導的模擬環境所需要的配置文件到tftpboot的默認引導目錄
[[email protected] ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/    # 這個即使剛剛dhcp指向的文件
[[email protected] ~]# cp /var/www/html/centos/7/x86_64/images/pxeboot/vmlinuz /var/lib/tftpboot/
[[email protected] ~]# cp /var/www/html/centos/7/x86_64/images/pxeboot/initrd.img /var/lib/tftpboot/

# 拷貝菜單簡單圖形引導文件
[[email protected] ~]# cp /usr/share/syslinux/chain.c32 /var/lib/tftpboot/
[[email protected] ~]# cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/
[[email protected] ~]# cp /usr/share/syslinux/memdisk /var/lib/tftpboot/
[[email protected] ~]# cp /usr/share/syslinux/mboot.c32 /var/lib/tftpboot/

創建圖形引導文件
[[email protected] ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[[email protected] ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
修改引導圖形菜單
default menu.c32
        prompt 5
        timeout 30
        MENU TITLE CentOS 7 PXE Menu

        LABEL linux
        MENU LABEL Install CentOS 7 x86_64
        KERNEL vmlinuz
        APPEND initrd=initrd.img ip=192.168.100.5 netmask=255.255.255.0 inst.repo=http://192.168.100.5/centos/7/x86_64/

配置tftp

設置文件服務并開機啟用,默認監聽端口UPD:68

配置文件:

/var/lib/tftpboot/

軟件:

tftp_server:服務端

tftp:客戶端

服務啟動:

CentOS 6:service inetd start

CentOS 7 : systemctl start tftp.socket

 

# 安裝tftp 支持軟件
[[email protected] dhcp]# yum -y install tftp httpd tftp-server

# 創建目錄yum倉庫目錄

[[email protected] dhcp]# mkdir -pv /var/www/html/centos/7/x86_64 

# 掛載倉庫光盤

[[email protected] dhcp]# mount -r /dev/cdrom /var/www/html/centos/7/x86_64/

創建kickstarts 配置文件目錄,實現自動化安裝。
[[email protected] ~]# mkdir /var/www/html/kickstarts/
[[email protected] ~]# cp anaconda-ks.cfg /var/www/html/kickstarts/centos7.cfg

# 啟動服務并設置開機啟動

[[email protected] dhcp]# systemctl start tftp-service httpd

[[email protected] dhcp]# systemctl enable tftp-service httpd


編輯kickstarts文件將usr指向設置為yum倉庫的主機
[[email protected] ~]# vim /var/www/html/kickstarts/centos7.cfg 
        
        usr --usr=`http://192.168.200.20/centos/7/x86_64/`

開啟一臺新機器與pxe主機在同一網段,開機會自動分配地址,自動安裝。

cobbler

和pxe相同提供實現全自動快速安裝操作系統與pxe不同的是能夠tftp-server、dhcp功能、yum倉庫功能融合到了一起,而且還提供一個cobbler-web的圖形管理界面,該程序在epel倉庫。默認服務端口是UPD:69

配置文件:

/etc/cobbler/settings 主配置文件

/etc/cobbler/tftpd.template tftp模板

/etc/cobbler/dhcp.template dhcp模板

常用命令:

cobbler check:運行環境檢查;

cobbler distro liste:列出以生成的系統

cobbler profile liste:列出已生成的系統配置

cobbler sync:同步

需要用到的程序:

httpd+tftp:配置源及yum倉庫

cobbler 默認提供命令行

cobbler-web 提供圖形界面需要Django程序

 

配置環境:

擁有兩塊網卡用來下載配置文件

ens33 192.168.200.30        \\內網固定ip

ens37 192.168.199.194        \\外網ip 用于連接網絡下載程序和組件

關閉防火墻:或者放行也可設置規則放行TCP:80、DUP:67、68、69號端口
systemctl stop firewalld.service 

關閉selinux
vim /etc/selinux/config
SELINUX=disabled  (或permissive)

[[email protected] ~]# setenforce 0

預先安裝配置好epel-release倉庫;
[[email protected] ~]# yum -y install epel-release

 

# 安裝所需要用到的軟件

[[email protected] ~]# yum -y install httpd dhcp tftp-server cobbler cobbler-server Django rsync 

# 修改主配置文件:
[[email protected] ~]# vim /etc/cobbler/settings

\\修改為內網IP
server:192.168.200.30           

\\引導主機地址,改為內網IP
next-server:192.168.200.30       

\\啟用cobbler 管理dhcpd服務
manage_dhcpd: 1                   

\\修改cobbler root默認密碼,(被調用)
default_password_crypted:"$1$abc$mJPQCTATLDV5aNzcHMYLr/"

# \\啟用 Cobbler的rsyn
manage_rsync: 1   

# \\生成密碼方式:
# openssl passwd -1 -salt 'abc' '123456'
# $1$abc$mJPQCTATLDV5aNzcHMYLr/

# 修改tftp配置文件

[[email protected] cobbler]# vim /etc/xinetd.d/tftp

disable                 = no    \\將yes修改為no

 啟動服務
[[email protected] cobbler]# systemctl start xinetd.service httpd.service cobblerd.service

下載cobbler的引導文件

[[email protected] cobbler]# cobbler get-loaders
...
...
*** TASK COMPLETE ***

修改DHCP模板

[[email protected] cobbler]# vim /etc/cobbler/dhcp.template

subnet 192.168.200.0 netmask 255.255.255.0 {           \\修改網段
     option routers             192.168.200.5;         \\修改路由地址
     option domain-name-servers 192.168.200.1;         \\修改網段名稱
     option subnet-mask         255.255.255.0;         \\掩碼地址
     range dynamic-bootp        192.168.200.100 192.168.200.254;  \\可用IP地址段
     default-lease-time         21600;
     max-lease-time             43200;
     next-server                $next_server;
     class `pxeclients` {
          match if substring (option vendor-class-identifier, 0, 9) = `PXEClient`;
          if option pxe-system-type = 00:02 {
                  filename `ia64/elilo.efi`;
          } else if option pxe-system-type = 00:06 {
                  filename `grub/grub-x86.efi`;
          } else if option pxe-system-type = 00:07 {
                  filename `grub/grub-x86_64.efi`;
          } else if option pxe-system-type = 00:09 {
                  filename `grub/grub-x86_64.efi`;
          } else {
                  filename `pxelinux.0`;
          }
     }

}

host fantasia {                                     \\地址綁定,非必要。
        hardware ethernet 00:0c:29:22:1e:ec;        \\綁定的MAC地址
        fixed-address 192.168.200.30;               \\綁定的IP地址
}

host client {                                       \\多條地址綁定只需要修改host NAME 即可
        hardware ethernet 00:0c:29:b4:0c:93;
        fixed-address 192.168.200.99;
}

準備本地網絡repo 安裝源

首先準備一張 CentOS-6 光盤

\\只讀的方式掛載
[[email protected] cobbler]# mount -r /dev/cdrom /media/cdrom/

[[email protected] cobbler]# cobbler import --name='CentOS-6' --path='/media/cdrom/'
...
...
*** TASK COMPLETE ***

查看配置的主機和倉庫
[[email protected] cobbler]# cobbler distro list   列出配置系統
   CentOS-6-x86_64
[[email protected] cobbler]# cobbler profile list  列出配置文件
   CentOS-6-x86_64

重啟服務
[[email protected] cobbler]# systemctl restart httpd.servier cobblerd.service

同步
[[email protected] cobbler]# cobbler sync

 

指定KS配置文件路徑

查看report 信息
[[email protected] cobbler]# cobbler profile report

    Name                           : CentOS-6-x86_64
    TFTP Boot Files                : {}
    Comment                        : 
    DHCP Tag                       : default
    Distribution                   : CentOS-6-x86_64
    Enable gPXE?                   : 0
    Enable PXE Menu?               : 1
    Fetchable Files                : {}
    Kernel Options                 : {}
    Kernel Options (Post Install)  : {}
    Kickstart                      : /var/lib/cobbler/kickstarts/sample_end.ks
    Kickstart Metadata             : {}
    Management Classes             : []
    Management Parameters          : <<inherit>>
    Name Servers                   : []
    Name Servers Search Path       : []
    Owners                         : ['admin']
    Parent Profile                 : 
    Internal proxy                 : 
    Red Hat Management Key         : <<inherit>>
    Red Hat Management Server      : <<inherit>>
    Repos                          : []
    Server Override                : <<inherit>>
    Template Files                 : {}
    Virt Auto Boot                 : 1
    Virt Bridge                    : xenbr0
    Virt CPUs                      : 1
    Virt Disk Driver Type          : raw
    Virt File Size(GB)             : 5
    Virt Path                      : 
    Virt RAM (MB)                  : 512
    Virt Type                      : kvm

 

修改ks文件所在的目錄
[[email protected] cobbler]# cobbler edit --name=CetOS-6-x86_64 --kiskstart=/etc/cobbler/kickstart/CentOS-6.ks

 

參考文檔: 馬哥筆記 http://blog.51cto.com/jinlong/2059938 

 

 

 

 

 

 

 

 

 

 

 

原創文章,作者:N28_剛好遇到小熊貓,如若轉載,請注明出處:http://www.npownk.tw/124786

聯系我們

400-080-6560

在線咨詢

工作時間:周一至周五,9:30-18:30,節假日同時也值班

QR code
安徽十一选五分布走势