真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

RHEL7/CentOS7pxe+kickstart自動化-創(chuàng)新互聯(lián)

  PXE(preboot execute environment,預(yù)啟動執(zhí)行環(huán)境)是由Intel公司開發(fā)的最新技術(shù),工作于Client/Server的網(wǎng)絡(luò)模式,支持工作站通過網(wǎng)絡(luò)從遠端服務(wù)器下載映像,并由此支持通過網(wǎng)絡(luò)啟動操作系統(tǒng),在啟動過程中,終端要求服務(wù)器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)協(xié)議下載一個啟動軟件包到本機內(nèi)存中執(zhí)行,由這個啟動軟件包完成終端基本軟件設(shè)置,從而引導(dǎo)預(yù)先安裝在服務(wù)器中的終端操作系統(tǒng)。PXE可以引導(dǎo)多種操作系統(tǒng),如:Windows95/98/2000/windows2003/windows2008/win7/win8,linux等。

公司主營業(yè)務(wù):成都做網(wǎng)站、成都網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出朝天免費做網(wǎng)站回饋大家。

1. 系統(tǒng)環(huán)境介紹

虛擬機軟件:VirtualBox

虛擬機網(wǎng)絡(luò)連接方式:僅主機(Host-Only)網(wǎng)絡(luò)

服務(wù)端操作系統(tǒng):CentOS 7

配置服務(wù):DHCP+TFTP+FTP(也可以使用HTTP、NFS等)

完成目標:搭建pxe環(huán)境,結(jié)合kickstart響應(yīng)文件,完成CentOS 7系統(tǒng)的自動化安裝。

1.1 服務(wù)器及引導(dǎo)文件介紹

  • 主要文件

    系統(tǒng)安裝時,由引導(dǎo)文件加載內(nèi)核文件后才可以看到系統(tǒng)安裝界面。

    • pxelinux.0 - 系統(tǒng)引導(dǎo)文件

    • vmlinuz、initrd.img - 內(nèi)核文件

  • DHCP 服務(wù)器

    為客戶端提供必要的網(wǎng)絡(luò)信息,如IP、netmask、gateway、dns等,并向客戶端提供引導(dǎo)文件(pxelinux.0)的位置及TFTP服務(wù)器地址等。

  • TFTP 服務(wù)器

    主要為客戶端提供內(nèi)核文件和引導(dǎo)文件。

  • FTP 服務(wù)器

    為客戶端提供kickstart響應(yīng)文件和系統(tǒng)鏡像文件。

pxe系統(tǒng)安裝時,首先由dhcp服務(wù)器向客戶端提供IP、引導(dǎo)文件位置、tftp地址等信息,客戶端獲取相關(guān)信息后,通過TFTP下載引導(dǎo)文件和內(nèi)核文件,引導(dǎo)系統(tǒng)啟動,并通過ftp服務(wù)器下載系統(tǒng)安裝過程中所需的各項軟件包和kickstart響應(yīng)文件。

kickstart響應(yīng)文件主要用來自動設(shè)置時區(qū)、密碼、系統(tǒng)分區(qū)、軟件包選擇等信息。

1.2 服務(wù)端詳細環(huán)境

詳細系統(tǒng)環(huán)境為:

[root@pxe1 ~]# uname -a
Linux pxe1 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@pxe1 ~]# 
[root@pxe1 ~]# hostnamectl
   Static hostname: pxe1
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 18ef8dea83044565b82bf6bed368cdab
           Boot ID: 9beedf23c4e14016a0a458ddcd9c487b
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-514.el7.x86_64
      Architecture: x86-64
[root@pxe1 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.56.14 pxe1    

[root@pxe1 yum.repos.d]# ifconfig 
enp0s3: flags=4163  mtu 1500
        inet 192.168.56.14  netmask 255.255.255.0  broadcast 192.168.56.255
        inet6 fe80::a00:27ff:fe43:c11d  prefixlen 64  scopeid 0x20
        ether 08:00:27:43:c1:1d  txqueuelen 1000  (Ethernet)
        RX packets 1441  bytes 121057 (118.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 928  bytes 98905 (96.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
...

1.3 服務(wù)端初始環(huán)境準備

關(guān)閉SELinux和防火墻:

# 為了后續(xù)配置方便,首先關(guān)閉系統(tǒng)SELinux和防火墻
# 關(guān)閉SELinux,修改文件使SELINUX=disabled
[root@pxe1 ~]# vim /etc/selinux/config 
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

#重啟系統(tǒng)后配置生效,查看SELinux的狀態(tài)。
[root@pxe1 ~]# sestatus 
SELinux status:                 disabled

#關(guān)閉防火墻
[root@pxe1 ~]# systemctl stop firewalld
[root@pxe1 ~]# systemctl disable firewalld
[root@pxe1 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

1.4 客戶端環(huán)境準備

在VirtualBox中新建linux虛擬機:

  • 名稱:隨便填寫

  • 類型:linux

  • 版本:Red Hat(64-bit)

  • 虛擬硬盤:

    現(xiàn)在創(chuàng)建虛擬硬盤,注意分配足夠的硬盤大小,避免因硬盤空間不足造成安裝失敗。我這里選擇20G,動態(tài)分配。

  • 開機啟動順序:網(wǎng)絡(luò)啟動排第一位。

    設(shè)置方法:選中新建虛擬機,設(shè)置--系統(tǒng)--主板--啟動順序--設(shè)置網(wǎng)絡(luò)為第一位

    RHEL7/CentOS7 pxe+kickstart自動化

  • 網(wǎng)絡(luò):僅主機(Host-Only)網(wǎng)絡(luò)

    設(shè)置方法:選中新建虛擬機,設(shè)置--網(wǎng)絡(luò)--網(wǎng)卡1--啟用網(wǎng)絡(luò)連接--連接方式:Host-Only

2. 配置yum源

這里主要介紹使用系統(tǒng)光盤配置本地yum源的方法。

首先掛載系統(tǒng)光盤:

在虛擬機右下角單擊光盤圖標,選擇需要掛載的系統(tǒng)鏡像文件。

RHEL7/CentOS7 pxe+kickstart自動化

創(chuàng)建yum源配置文件:

# 首先將光盤掛載到/mnt目錄下
[root@pxe1 ~]# umount /dev/cdrom -l 
[root@pxe1 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 is write-protected, mounting read-only

#創(chuàng)建yum配置文件
[root@pxe1 ~]# cd /etc/yum.repos.d/
[root@pxe1 yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Sources.repo  CentOS-fasttrack.repo
CentOS-CR.repo    CentOS-Media.repo      CentOS-Vault.repo
#避免系統(tǒng)中的repo文件影響,首先將其備份
[root@pxe1 yum.repos.d]# mkdir bak
[root@pxe1 yum.repos.d]# mv *.repo bak/
[root@pxe1 yum.repos.d]# ls
bak
[root@pxe1 yum.repos.d]# vim my.repo
[development]          <--注意:這里一定要寫development
name=my-centos7-dvd
baseurl=file:///mnt
enabled=1
gpgcheck=0

注意:my.repo文件中第一行[development],中括號中建議填寫development,填寫其他內(nèi)容會導(dǎo)致后面system-config-kickstart命令生成kickstart文件文件時,出現(xiàn)以下問題:

由于下載軟件包信息失敗,軟件包選擇被禁止

RHEL7/CentOS7 pxe+kickstart自動化

創(chuàng)建yum緩存:

[root@pxe1 yum.repos.d]# yum clean all
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror, langpacks
Cleaning repos: development
Cleaning up everything
[root@pxe1 yum.repos.d]# yum makecache
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror, langpacks
development                                                  | 3.6 kB  00:00:00     
(1/4): development/filelists_db                              | 3.0 MB  00:00:00     
(2/4): development/group_gz                                  | 155 kB  00:00:00     
(3/4): development/other_db                                  | 1.3 MB  00:00:00     
(4/4): development/primary_db                                | 3.0 MB  00:00:00     
Determining fastest mirrors
Metadata Cache Created

3. DHCP服務(wù)器配置

dhcp為客戶端提供必要的網(wǎng)絡(luò)信息,如IP、netmask、gateway、dns等,并向客戶端提供引導(dǎo)文件(pxelinux.0)的位置及TFTP服務(wù)器地址等。

3.1 安裝dhcp軟件包

[root@pxe1 yum.repos.d]# yum install -y dhcp
...
Installed:
  dhcp.x86_64 12:4.2.5-47.el7.centos                                                                                     
Complete!

3.2 修改dhcp配置文件

dhcp配置文件位置:/etc/dhcp/dhcpd.conf

[root@pxe1 yum.repos.d]# cat /etc/dhcp/dhcpd.conf 
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
subnet 192.168.56.0 netmask 255.255.255.0 {
  range 192.168.56.10 192.168.56.20;
  filename "pxelinux.0";
  next-server 192.168.56.14;
}

# subnet 192.168.56.0 netmask 255.255.255.0 服務(wù)端IP網(wǎng)段及掩碼
# range 192.168.56.10 192.168.56.20; dhcp分發(fā)的地址范圍,最好將本機IP包含在內(nèi)。
# filename "pxelinux.0"; 指定引導(dǎo)文件位置,這里是TFTP根目錄下的pxelinux.0。
#  next-server 192.168.56.14; TFTP服務(wù)器地址。

3.3 啟動dhcp服務(wù)

[root@pxe1 yum.repos.d]# systemctl restart dhcpd
[root@pxe1 yum.repos.d]# systemctl enable dhcpd
Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.
[root@pxe1 yum.repos.d]# systemctl status dhcpd
● dhcpd.service - DHCPv4 Server Daemon
   Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2017-05-25 11:00:26 CST; 26s ago
     Docs: man:dhcpd(8)
           man:dhcpd.conf(5)
 Main PID: 11849 (dhcpd)
   Status: "Dispatching packets..."
   CGroup: /system.slice/dhcpd.service
           └─11849 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid

May 25 11:00:26 pxe1 dhcpd[11849]: No subnet declaration for virbr0 (192.168.122.1).
May 25 11:00:26 pxe1 dhcpd[11849]: ** Ignoring requests on virbr0.  If this is not what
May 25 11:00:26 pxe1 dhcpd[11849]:    you want, please write a subnet declaration
May 25 11:00:26 pxe1 dhcpd[11849]:    in your dhcpd.conf file for the network segment
May 25 11:00:26 pxe1 dhcpd[11849]:    to which interface virbr0 is attached. **
May 25 11:00:26 pxe1 dhcpd[11849]: 
May 25 11:00:26 pxe1 dhcpd[11849]: Listening on LPF/enp0s3/08:00:27:43:c1:1d/192.168.56.0/24
May 25 11:00:26 pxe1 dhcpd[11849]: Sending on   LPF/enp0s3/08:00:27:43:c1:1d/192.168.56.0/24
May 25 11:00:26 pxe1 dhcpd[11849]: Sending on   Socket/fallback/fallback-net
May 25 11:00:26 pxe1 systemd[1]: Started DHCPv4 Server Daemon.
[root@pxe1 yum.repos.d]# netstat -nulp | grep dhcp
udp        0      0 0.0.0.0:67              0.0.0.0:*                           11849/dhcpd      
udp        0      0 0.0.0.0:16465           0.0.0.0:*                           11849/dhcpd      
udp6       0      0 :::31651                :::*                                11849/dhcpd

注意:如果啟動dhcp服務(wù)報錯,請查看/var/log/messages日志,會有明顯的錯誤提示,多數(shù)是配置文件格式或內(nèi)容錯誤造成的。

3.4 驗證DHCP服務(wù)配置

dhcp服務(wù)器配置完成后,便可啟動之前準備的客戶端虛擬機查看是否可以獲取到IP地址,能正常獲取IP則說明配置正常,如下:

RHEL7/CentOS7 pxe+kickstart自動化

至此,dhcp服務(wù)器配置完成。

4. TFTP服務(wù)器配置

TFTP服務(wù)器主要為客戶端提供內(nèi)核文件和引導(dǎo)文件。

4.1 安裝TFTP服務(wù)器

安裝方法:

[root@pxe1 /]# yum install -y tftp-server
...
Installed:
  tftp-server.x86_64 0:5.2-13.el7                                                                                                    
Complete!
# 安裝tftp命令,可用來測試TFTP服務(wù)能否正常運行
[root@pxe1 /]# yum install -y tftp

4.2 啟動TFTP服務(wù)器

# 編輯配置文件/etc/xinetd.d/tftp 
[root@pxe1 /]# vim /etc/xinetd.d/tftp 
disable			= no   <--將yes修改為no

啟動tftp服務(wù):

# 首先確保tftp.socket正常
[root@pxe1 /]# systemctl start tftp.socket
[root@pxe1 /]# systemctl enable tftp.socket
Created symlink from /etc/systemd/system/sockets.target.wants/tftp.socket to /usr/lib/systemd/system/tftp.socket.
[root@pxe1 /]# systemctl status tftp.socket
● tftp.socket - Tftp Server Activation Socket
   Loaded: loaded (/usr/lib/systemd/system/tftp.socket; enabled; vendor preset: disabled)
   Active: active (listening) since 四 2017-05-25 14:57:33 CST; 1h 0min ago
   Listen: [::]:69 (Datagram)

5月 25 14:57:33 pxe1 systemd[1]: Listening on Tftp Server Activation Socket.
5月 25 14:57:33 pxe1 systemd[1]: Starting Tftp Server Activation Socket.

# 然后啟動tftp.service
[root@pxe1 ~]# systemctl restart tftp.service
[root@pxe1 ~]# systemctl enable tftp.service
Created symlink from /etc/systemd/system/sockets.target.wants/tftp.socket to /usr/lib/systemd/system/tftp.socket.
[root@pxe1 ~]# systemctl status tftp.service
● tftp.service - Tftp Server
   Loaded: loaded (/usr/lib/systemd/system/tftp.service; indirect; vendor preset: disabled)
   Active: active (running) since 四 2017-05-25 14:57:33 CST; 20s ago
     Docs: man:in.tftpd
 Main PID: 14621 (in.tftpd)
   CGroup: /system.slice/tftp.service
           └─14621 /usr/sbin/in.tftpd -s /var/lib/tftpboot

5月 25 14:57:33 pxe1 systemd[1]: Started Tftp Server.
5月 25 14:57:33 pxe1 systemd[1]: Starting Tftp Server...

4.3 導(dǎo)入必要文件

需要導(dǎo)入TFTP服務(wù)器的主要文件有:

  • 引導(dǎo)文件 - pxelinux.0

  • 內(nèi)核文件:vmlinuz initrd.img

  • 引導(dǎo)菜單:isolinux.cfg -- 開機后選擇啟動項的菜單文件

4.3.1 導(dǎo)入引導(dǎo)文件

引導(dǎo)文件pxelinux.0由軟件包syslinux生成,首先要安裝syslinux軟件包:

[root@pxe1 ~]# yum install -y syslinux
# 將pxelinux.0拷貝至TFTP根目錄下
[root@pxe1 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
4.3.2 導(dǎo)入內(nèi)核及菜單文件

內(nèi)核文件:vmlinuz initrd.img,一般存在于系統(tǒng)光盤的pxeboot目錄下:

[root@pxe1 syslinux]# cd /mnt/images/pxeboot/
[root@pxe1 pxeboot]# ls
initrd.img  TRANS.TBL  vmlinuz

但是我們可以發(fā)現(xiàn),在isolinux目錄下也有相同的內(nèi)容,同時,還包括引導(dǎo)菜單(isolinux.cfg)及其啟動時用到的文件:

isolinux.cfg - 引導(dǎo)菜單配置文件

vesamenu.c32 - 系統(tǒng)自帶的兩種窗口模塊之一

boot.msg - 窗口提示信息文件,提示信息在菜單出現(xiàn)前出現(xiàn),顯示時間較短,可以添加些藝術(shù)字之類的信息。

splash.png - 窗口背景圖片

因此,我們可以從系統(tǒng)光盤的images/pxeboot/目錄下復(fù)制內(nèi)核文件,也可以從isolinux下復(fù)制,為了方便起見,這里從isolinux目錄下復(fù)制,可以只復(fù)制我們需要的文件,如:

isolinux.cfg vesamenu.c32 boot.msg splash.png

也可以將isolinux目錄下的文件全部復(fù)制到TFTP根目錄/var/lib/tftpboot

[root@pxe1 /]# cp -rf /mnt/isolinux/* /var/lib/tftpboot/

然后準備pxe引導(dǎo)菜單:

[root@pxe1 /]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@pxe1 /]# mv /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
[root@pxe1 /]# cd /var/lib/tftpboot/pxelinux.cfg
[root@pxe1 pxelinux.cfg]# ls
default

修改引導(dǎo)菜單選項:

[root@pxe1 pxelinux.cfg]# vim /var/lib/tftpboot/pxelinux.cfg/default 
# 首先修改菜單等待時間
timeout 600 <--菜單顯示等待時間,單位為1/10秒,默認等待60秒。
#修改菜單等待時間為60,即等待6秒,若無操作則進入默認菜單;
timeout 600
# 然后修改顯示菜單
# -----------------------------------------------------------------
# 找到文件中的以下部分
label linux
  menu label ^Install CentOS Linux 7
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet

label check
  menu label Test this ^media & install CentOS Linux 7
  menu default
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet

# 將其修改為
label linux
  menu label ^Install CentOS Linux 7 by kickstart
  menu default
  kernel vmlinuz
  append initrd=initrd.img inst.repo=ftp://192.168.56.14/pub inst.ks=ftp://192.168.56.14/ks.cfg

label linux 2
  menu label ^Install CentOS Linux 7 by vnc
  kernel vmlinuz
  append initrd=initrd.img inst.repo=ftp://192.168.56.14/pub inst.vnc inst.vncpassword=password

label linux 3
  menu label ^Install CentOS Linux 7 by vnc -listen
  kernel vmlinuz
  append initrd=initrd.img inst.repo=ftp://192.168.56.14/pub inst.vnc inst.vncconnect=192.168.56.1
  
# 本文中其他內(nèi)容無需進行修改,有興趣可自己嘗試修改其他選項進行測試。

4.4 驗證TFTP服務(wù)

4.4.1 驗證TFTP服務(wù)配置

下面來驗證TFTP服務(wù)配置是否正確:

[root@pxe1 kk]# ls /var/lib/tftpboot/
boot.cat  grub.conf   isolinux.bin  pxelinux.0    splash.png  vesamenu.c32
boot.msg  initrd.img  memtest       pxelinux.cfg  TRANS.TBL   vmlinuz
[root@pxe1 kk]# 
[root@pxe1 kk]# tftp 192.168.56.14
tftp> get boot.msg
tftp> quit
[root@pxe1 kk]# 
[root@pxe1 kk]# ls
boot.msg
# 成功get到boot.msg文件,說明TFTP服務(wù)正常。
4.4.2 驗證菜單及引導(dǎo)文件配置

啟動之前準備的客戶端虛擬機查看是否可以正常顯示引導(dǎo)菜單,是否可以正常獲取initrd.img和vmlinuz內(nèi)核文件。

 若配置正常,會看到之前配置的引導(dǎo)菜單出現(xiàn):

RHEL7/CentOS7 pxe+kickstart自動化

在對應(yīng)的引導(dǎo)菜單上按TAB鍵會顯示出該菜單項的具體配置:

RHEL7/CentOS7 pxe+kickstart自動化

Enter鍵后,會出現(xiàn)獲取內(nèi)核文件的界面:

RHEL7/CentOS7 pxe+kickstart自動化

最后系統(tǒng)提示獲取ks文件失敗,原因是尚未進行ftp服務(wù)器的配置:

RHEL7/CentOS7 pxe+kickstart自動化

5. kickstart文件準備

[root@pxe1 mnt]# yum install -y system-config-kickstart
# 安裝完成后,圖形界面執(zhí)行system-config-kickstart命令配置ks文件

kickstart文件配置注意事項如下:

RHEL7/CentOS7 pxe+kickstart自動化

下圖中光盤掛載位置為FTP根目錄下的pub目錄,即/var/ftp/pub:

RHEL7/CentOS7 pxe+kickstart自動化

RHEL7/CentOS7 pxe+kickstart自動化

RHEL7/CentOS7 pxe+kickstart自動化

軟件包選擇界面,可以直接在這里選擇,也可以拷貝服務(wù)端/root/anaconda-ks.cfg文件中%packages%end區(qū)間的內(nèi)容至新文件。

RHEL7/CentOS7 pxe+kickstart自動化

其他選項請按需選擇,配置完成后,保存文件,待FTP服務(wù)器配置完成后,需要將其拷貝至FTP根目錄/var/ftp

然后修改生成的ks.cfg文件,在文件末尾(不要刪除文件末尾的%end),添加以下內(nèi)容,表示關(guān)閉kdump功能:

%addon com_redhat_kdump --disable --reserve-mb='auto'

%end

至此,kickstart文件配置完成。

6. FTP服務(wù)器配置

6.1 安裝FTP服務(wù)器

[root@pxe1 mnt]# yum install -y vsftpd
[root@pxe1 mnt]# systemctl restart vsftpd
[root@pxe1 mnt]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@pxe1 mnt]# systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
   Active: active (running) since 2017-05-25 16:59:12 CST; 11s ago
 Main PID: 16466 (vsftpd)
   CGroup: /system.slice/vsftpd.service
           └─16466 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

5月 25 16:59:12 pxe1 systemd[1]: Starting Vsftpd ftp daemon...
5月 25 16:59:12 pxe1 systemd[1]: Started Vsftpd ftp daemon.

# 安裝ftp命令,用于ftp服務(wù)器驗證。
[root@pxe1 mnt]# yum install -y ftp

6.2 啟動FTP服務(wù)器

[root@pxe1 /]# systemctl restart vsftpd
[root@pxe1 /]# systemctl enable vsftpd
[root@pxe1 /]# systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
   Active: active (running) since 五 2017-05-26 08:28:29 CST; 15s ago
 Main PID: 2682 (vsftpd)
   CGroup: /system.slice/vsftpd.service
           └─2682 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

5月 26 08:28:28 pxe1 systemd[1]: Starting Vsftpd ftp daemon...
5月 26 08:28:29 pxe1 systemd[1]: Started Vsftpd ftp daemon.

6.3 導(dǎo)入ks文件并掛載光盤

首先將剛才生成的kickstart文件復(fù)制到FTP跟目錄下:

[root@pxe1 /]# cd /var/ftp/
[root@pxe1 ftp]# ls
ks.cfg  pub

然后將關(guān)盤掛載至/var/ftp/pub目錄下:

# 因為配置yum源時已經(jīng)將光盤掛載至/mntt目錄下了,現(xiàn)在有兩種方法進行光盤掛載:
# 1.將/mnt目錄綁定到/var/ftp/pub目錄下
[root@pxe1 ~]# mount --bind /mnt/ /var/ftp/pub/
[root@pxe1 ~]# ls /var/ftp/pub/
CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL

# 2. 先將光盤從/mnt目錄卸載,然后掛載到/var/ftp/pub目錄下
[root@pxe1 ~]# umount /dev/cdrom
[root@pxe1 ~]# mount /dev/cdrom /var/ftp/pub/

6.4 驗證FTP服務(wù)器

本次配置在生成kickstart文件時,登陸用戶為匿名用戶anonumous,下面測試匿名用戶能否正常從FTP服務(wù)器下載文件:

[root@pxe1 kk]# ls /var/ftp/
ks.cfg  pub
[root@pxe1 kk]# ftp 192.168.56.14
Connected to 192.168.56.14 (192.168.56.14).
220 (vsFTPd 3.0.2)
Name (192.168.56.14:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,56,14,217,98).
150 Here comes the directory listing.
-rw-r--r--    1 0        0            1459 May 25 09:36 ks.cfg
drwxr-xr-x    8 0        0            2048 Dec 05 13:20 pub
226 Directory send OK.
ftp> get ks.cfg
local: ks.cfg remote: ks.cfg
227 Entering Passive Mode (192,168,56,14,152,101).
150 Opening BINARY mode data connection for ks.cfg (1459 bytes).
226 Transfer complete.
1459 bytes received in 0.0433 secs (33.68 Kbytes/sec)
ftp> bye
221 Goodbye.
[root@pxe1 kk]# ls
ks.cfg

成功get到ks.cfg文件,表示配置正常,現(xiàn)在可以重啟客戶端虛擬機測試是否可以進行自動化系統(tǒng)安裝。

7. 自動化系統(tǒng)安裝測試

重啟客戶端虛擬機,可以看到系統(tǒng)開始自動安裝,至此,pxe+kickstart自動系統(tǒng)安裝配置完成。

RHEL7/CentOS7 pxe+kickstart自動化

RHEL7/CentOS7 pxe+kickstart自動化

8. 引導(dǎo)菜單介紹

本文中配置的引導(dǎo)菜單default主要內(nèi)容如下:

label linux
  menu label ^Install CentOS Linux 7 by kickstart
  menu default
  kernel vmlinuz
  append initrd=initrd.img inst.repo=ftp://192.168.56.14/pub inst.ks=ftp://192.168.56.14/ks.cfg

label linux 2
  menu label ^Install CentOS Linux 7 by vnc
  kernel vmlinuz
  append initrd=initrd.img inst.repo=ftp://192.168.56.14/pub inst.vnc inst.vncpassword=password

label linux 3
  menu label ^Install CentOS Linux 7 by vnc -listen
  kernel vmlinuz
  append initrd=initrd.img inst.repo=ftp://192.168.56.14/pub inst.vnc inst.vncconnect=192.168.56.1

在系統(tǒng)啟動過程中,菜單依次對應(yīng)如下內(nèi)容:

RHEL7/CentOS7 pxe+kickstart自動化

8.1 kickstart菜單介紹

菜單一介紹:

label linux
  menu label ^Install CentOS Linux 7 by kickstart
  menu default
  kernel vmlinuz
  append initrd=initrd.img inst.repo=ftp://192.168.56.14/pub inst.ks=ftp://192.168.56.14/ks.cfg
# 使用kickstart自動安裝
# 這項菜單表示鏡像文件在FTP根目錄/var/ftp/pub下,kickstart文件在FTP根目錄/var/ftp下。

菜單二介紹:

label linux 2
  menu label ^Install CentOS Linux 7 by vnc
  kernel vmlinuz
  append initrd=initrd.img inst.repo=ftp://192.168.56.14/pub inst.vnc inst.vncpassword=password
  
# 使用vnc手動安裝
# 該菜單表示鏡像文件在FTP根目錄/var/ftp/pub下,vnc密碼為password,選中該菜單后,系統(tǒng)啟動后會提示vnc登錄的IP及端口,vnc連接后,便可進行手動系統(tǒng)安裝,也可以在菜單最后指定kickstart文件位置,自動安裝。

如圖:

RHEL7/CentOS7 pxe+kickstart自動化

菜單三介紹:

label linux 3
  menu label ^Install CentOS Linux 7 by vnc -listen
  kernel vmlinuz
  append initrd=initrd.img inst.repo=ftp://192.168.56.14/pub inst.vnc inst.vncconnect=192.168.56.1
  
# 該菜單項表示使用vnc監(jiān)聽模式進行系統(tǒng)安裝
# 該菜單表示鏡像文件在FTP根目錄/var/ftp/pub下,vnc監(jiān)聽進程在計算機192.168.56.1上,無登錄密碼;
# 注意:inst.vncconnect=192.168.56.1 指的是將要運行vnc客戶端的計算機IP地址。

這里的192.168.56.1為我的筆記本IP,所以在啟動客戶端虛擬機后,只需要在筆記本上打開vnc客戶端監(jiān)聽模式,即可自動顯示安裝界面。

RHEL7/CentOS7 pxe+kickstart自動化

在筆記本上打開vnc監(jiān)聽模式后,稍作等待,會自動連接到系統(tǒng)安裝界面:

RHEL7/CentOS7 pxe+kickstart自動化

RHEL7/CentOS7 pxe+kickstart自動化

9. 引導(dǎo)菜單的其他創(chuàng)建方法

9.1 menu.c32菜單模塊

  • vesamenu.c32 -菜單模塊之一

    本文上面介紹的引導(dǎo)菜單就是利用vesamenu.c32生成的。

  • menu.c32 - 菜單模塊之一

安裝了syslinux命令包后,兩種菜單模塊都會在目錄/usr/share/syslinux/下生成,使用menu.c32創(chuàng)建引導(dǎo)菜單時,只需要將菜單模塊menu.c32及內(nèi)核文件、引導(dǎo)文件拷貝至TFTP根目錄下/var/lib/tftpboot即可。

[root@pxe1 tftpboot]# ls /var/lib/tftpboot/
initrd.img  menu.c32  pxelinux.0  pxelinux.cfg  vmlinuz

菜單文件內(nèi)容為:

[root@pxe1 tftpboot]# cat /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
 timeout 60
 menu title CentOS 7 Pxe Menu
 
label linux
  menu label ^Install CentOS Linux 7 by kickstart
  menu default
  kernel vmlinuz
  append initrd=initrd.img inst.repo=ftp://192.168.56.14/pub inst.ks=ftp://192.168.56.14/ks.cfg

label linux 2
  menu label ^Install CentOS Linux 7 by vnc
  kernel vmlinuz
  append initrd=initrd.img inst.repo=ftp://192.168.56.14/pub inst.vnc inst.vncpassword=password

label linux 3
  menu label ^Install CentOS Linux 7 by vnc -listen
  kernel vmlinuz
  append initrd=initrd.img inst.repo=ftp://192.168.56.14/pub inst.vnc inst.vncconnect=192.168.56.1

菜單顯示樣式為:

RHEL7/CentOS7 pxe+kickstart自動化

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


分享標題:RHEL7/CentOS7pxe+kickstart自動化-創(chuàng)新互聯(lián)
標題路徑:http://weahome.cn/article/diiohi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部