1. 程式人生 > >pxe&全自動化安裝

pxe&全自動化安裝

首先,先實現全自動化安裝

system-config-kickstart 自動應答指令碼製作工具

yum install system-config-kickstart -y
1.執行system-config-kickstart命令

basic configuration ———— 基本資訊設定

//設定時間,root密碼

2.設定安裝源

installation method ———— 安裝模式選擇

3.設定磁碟分割槽

partition information ———— 分區劃分策略

//清空原有磁碟



## /boot 200M ;swap 500M ; / 剩餘所有

4.新增網絡卡,配置網路,這裡為dhcp

5.設定火牆為不自啟

firewall configuration ———— 火牆配置資訊

剩下的預設設定就可以

– boot loader options ———— 載入程式選項
– authentication ———— 認證加密方式
– display configuration ———— 圖形介面選擇 選擇Disabled,不安裝圖形
– package selection ———— 軟體包選擇
– pre-installation ————安裝前執行指令碼
– post-installation ———— 安裝後執行指令碼

*設定好後,將配置資訊檔案儲存到/var/www/html/下

  • 注意: 要實現全自動掛載,一定以網路配置映象
    man virt-install

    //這是檔案裡面說明的。

開啟檔案,在之前的都是以文字命令儲存的之前的配置,在36行之後可以新增新的配置,但是有固定的格式

//在這裡,選擇安裝時預設把yum源與vim,base軟體組配置、安裝好。

儲存退出後,用命令檢測語法,但不會檢測你寫的配置的合理性,即相當於c的編譯過程

//沒有提示表示沒有語法錯誤
在網站應該可以看到你的檔案

*此時,可以稱的上全自動安裝指令碼:

#!/bin/bash
virt-install \
--name $*
\
--vcpus 1 \ --ram 1024 \ --file /var/lib/libvirt/images/$*.qcow2 \ --file-size 8 \ --location http://172.25.254.77/rhel7.2 \ ##一定以網路共享方式配置安裝源 --extra-args "ks=http://172.25.254.77/ks.cfg" & ##預設後臺執行

可是,想一想,在工作環境中,真的要給每一臺安裝時都執行一次的話,工作量該有多麼龐大,所以,要用到網絡卡方式安裝,真的實現全自動化安裝!!

以虛擬機器為例 :

將網絡卡選項打勾,然後頂置,以網絡卡方式安裝,然後開啟虛擬機器

//其中文字是在連線共享服務,所以要用dhcp分配的ip,接下來tftp連線上之後開始讀pxelinux.cfg檔案

//這就是要配置的地方,如果配置好,就會直接進入安裝

pxe環境搭建

除了kickstar還需要配置的服務有:

yum install :

syslinux ————-獲得pxelinux.0檔案安裝包
dhcp ——————分配ip給客戶機的服務
tftp-server ———提供tftp協議的服務
httpd —————–安裝源共享服務,這個應該已經配置過了

檔案服務的配置

1.修改dhcp配置檔案 /etc/dhcp/dhcpd.conf


其他與之前的配置一樣,但是添加了兩行:

  filename "pxelinux.0";                //##pxe啟動程式
  next-server 192.168.0.79;             ##tftp主機地址

配置後,重啟服務,關閉火牆
systemctl restart dhcpd
systemctl stop firewalld

2 修改 TFTP 服務配置檔案 /etc/xinetd.d/tftp


//14行中的disable後面設定為no,這個表示開啟是否不自啟
執行後: systemctl restart xinetd 生效

3 搭建pxe工作環境

這裡預設http服務yum源按上文所說已經配置好

開啟tftp服務,並檢視埠開啟狀態

檢視syslinux需要的檔案,發現pxelinux.txt

less /usr/share/doc/syslinux-4.05/pxelinux.txt 進入這個檔案


//通過檔案可以發現需要一些檔案的配置支援

cd /var/lib/tftpboot/
mkdir pxelinux.cfg
cp /var/www/html/rhtl7.2/isolinux/*      /var/lib/tftpboot
cp /var/lib/tftpboot/isolinux.cfg      /var/lib/tftpboot/pxelinux.cfg/default
cp /usr/share/syslinux/pxelinux.0      /var/lib/tftpboot/

=====================================================================

下面配置 /var/lib/tftpboot/pxelinux.cfg/default 檔案

這裡面的配置都是可以自己修改的,這裡也體現了linux的可定製性非常的高

default vesamenu.c32
timeout 30                      //等待時間"
//這裡時間單位是0.1秒,即600是60秒
display boot.msg

# Clear the screen when exiting the menu, instead of leaving the menu displayed.
# For vesamenu, this means the graphical background is still displayed without
# the menu itself for as long as the screen remains in graphics mode.

menu clear
menu background splash.png                              //背景圖片
//如果想修改,只需要將png字尾的檔案新增到/var/lib/tftpboot下,然後直接將這裡的名字修改就可以
menu title yuanxudong  install      //大標題
menu vshift 8
menu rows 18
menu margin 8
#menu hidden
menu helpmsgrow 15
menu tabmsgrow 13

# Border Area                            //包括下面的,都是顏色的配置資訊
menu color border * #00000000 #00000000 none

# Selected item
menu color sel 0 #ffffffff #00000000 none

# Title bar
menu color title 0 #ff7ba3d0 #00000000 none

# Press [Tab] message
menu color tabmsg 0 #ff3a6496 #00000000 none

# Unselected menu item
menu color unsel 0 #84b8ffff #00000000 none

# Selected hotkey
menu color hotsel 0 #84b8ffff #00000000 none

# Unselected hotkey
menu color hotkey 0 #ffffffff #00000000 none

# Help text
menu color help 0 #ffffffff #00000000 none

# A scrollbar of some type? Not sure.
menu color scrollbar 0 #ffffffff #ff355594 none

# Timeout msg
menu color timeout 0 #ffffffff #00000000 none
menu color timeout_msg 0 #ffffffff #00000000 none

# Command prompt text
menu color cmdmark 0 #84b8ffff #00000000 none
menu color cmdline 0 #ffffffff #00000000 none

# Do not display the actual menu unless the user presses a key. All that is displayed is a timeout message.

menu tabmsg Press Tab for full configuration options on menu items.

menu separator # insert an empty line
menu separator # insert an empty line

label linux
  menu label ^Install Red Hat Enterprise Linux 7.0          //小標題
   menu default                             //預設標題設定
   //因為我們選擇的是直接安裝,所以要將下面的預設設定放到這裡來,這樣在讀完秒之後,就進行這項操作,為了更快,也可以將之前的timeout設定為0,直接就進入這裡安裝了,更加快捷
  kernel vmlinuz
  append initrd=initrd.img repo=http://172.25.254.77/soucre ks=http://172.25.254.77/ks.cfg      //安裝源和ks

label check
  menu label Test this ^media & install Red Hat Enterprise Linux 7.0
  "menu default"             //刪除,這裡的放在上面
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.0\x20Server.x86_64 rd.live.check quiet

menu separator # insert an empty line

# utilities submenu
menu begin ^Troubleshooting
  menu title Troubleshooting

label vesa
  menu indent count 5
  menu label Install Red Hat Enterprise Linux 7.0 in ^basic graphics mode
  text help
    Try this option out if you are having trouble installing
    Red Hat Enterprise Linux 7.0.
  endtext
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.0\x20Server.x86_64 xdriver=vesa nomodeset quiet

label rescue
  menu indent count 5
  menu label ^Rescue a Red Hat Enterprise Linux system
  text help
    If the system will not boot, this lets you access files
    and edit config files to try to get it booting again.
  endtext
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.0\x20Server.x86_64 rescue quiet

label memtest
  menu label Run a ^memory test
  text help
    If your system is having issues, a problem with your
    system memory may be the cause. Use this utility to
    see if the memory is working correctly.
  endtext
  kernel memtest

menu separator # insert an empty line

label local
  menu label Boot from ^local drive
  localboot 0xffff

menu separator # insert an empty line
menu separator # insert an empty line

label returntomain
  menu label Return to ^main menu
  menu exit

menu end

設定以網絡卡啟動之後,直接開啟虛擬機器,可以直接進入系統的安裝

然後靜靜等待,虛擬機器就安裝成功了!