Kickstart 安裝centos7

 

之前是怎麼安裝系統的html

  • 光盤(ISO文件,光盤的鏡像文件)===》每一臺物理機都得給一個光驅,若是用外置光驅的話,是否是每臺機器都須要插一下
  • U盤:ISO鏡像刻錄到U盤==》須要每臺機器都須要插一下
  • 並行安裝==》網絡安裝
  • 自動化安裝

備註:(WDS,須要安裝在Windows Server 2008)linux

Linux系統批量安裝ios

kickstart是RedHat公司開源的軟件,因此對CentOS兼容性最好。vim

原理:咱們將手動安裝的全部的詳細步驟記錄到一個文件中,而後kickstart經過讀取這個文件就能夠實現自動化安裝系統。centos

kickstart是一個項目的名稱。沒有這個軟件。使用者水平是高中以上bash

cobbler是對kickstart的全部組件的封裝。使用者水平是初中以上。本質上就是網頁版本的kickstart服務器

kickstart的原理及組件網絡

安裝DHCP服務app

環境準備curl

[root@kickstart ~]# cat /etc/redhat-release

CentOS Linux release 7.4.1708 (Core)

[root@kickstart ~]# uname -r

3.10.0-693.el7.x86_64

[root@kickstart ~]# getenforce

Disabled

[root@kickstart ~]# systemctl status firewalld.service

● 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)

[root@kickstart ~]# hostname -I

10.0.0.201 172.16.1.201

 

安裝DHCP

yum -y install dhcp

 

配置DHCP

cat >>/etc/dhcp/dhcpd.conf<<EOF

subnet 172.16.1.0 netmask 255.255.255.0 {

range 172.16.1.100 172.16.1.199;

option subnet-mask 255.255.255.0;

default-lease-time 21600;

max-lease-time 43200;

next-server 172.16.1.201;

filename "/pxelinux.0";

}

EOF

啓動dhcp查看日誌

[root@kickstart ~]# systemctl start dhcpd

[root@kickstart ~]# systemctl status dhcpd

tailf /var/log/messages

 

DHCP服務對kickstart系統的影響程度

 

新建空白虛擬機,建完後作快照。

 

TFTP沒有最終報錯

安裝TFTP服務

安裝

[root@kickstart ~]# yum -y install tftp-server

啓動

systemctl start tftp.socket

 

TFTP服務對kickstart系統的影響程度

 

上面報錯是在TFTP服務的根目錄找不到啓動文件pxelinux.0 下載

[root@kickstart ~]# cd /var/lib/tftpboot/ # TFTP服務的根目錄

[root@kickstart tftpboot]# ls

[root@kickstart tftpboot]#

syslinux是一個功能強大的引導加載程序,並且兼容各類介質。SYSLINUX是一個小型的Linux操做系統,它的目的是簡化首次安裝Linux的時間,並創建修護或其它特殊用途的啓動盤。若是沒有找到pxelinux.0這個文件,能夠安裝一下。

 

yum -y install syslinux

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

 

首先排除最簡單故障緣由:selinux是否關閉,防火牆是否關閉

上面的錯誤是由於pxelinux.0這個小系統的配置文件(default)不存在,或者文件名不對

 

如何找到這個配置文件

第一步:掛載鏡像

第二步

mkdir -p /var/www/html/CentOS7

mount /dev/cdrom /var/www/html/CentOS7

 

第三步:從鏡像中找到相關的配置文件

cp -a /var/www/html/CentOS7/isolinux/* /var/lib/tftpboot/

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

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

 

啓動軟件安裝報錯

這是由於centos 文件沒有進行修改 跳過直接安裝http

安裝HTTP服務

做用1:提供自動應答文件下載

做用2:提供安裝系統所需的全部rpm包下載

 

[root@kickstart ~]# yum -y install httpd

[root@kickstart ~]# systemctl start httpd.service

 

檢查步驟

http://10.0.0.201/CentOS7/

curl http://172.16.1.201/CentOS7/

 

 

default配置文件

  1. [root@kickstart tftpboot]# pwd
  2. /var/lib/tftpboot
  3. [root@kickstart tftpboot]# cd pxelinux.cfg/
  4. [root@kickstart pxelinux.cfg]# vim default
  5. efault ks
  6. prompt 0
  7. label ks
  8.   kernel vmlinuz
  9.   append initrd=initrd.img ks=http://172.16.1.201/ks_config/CentOS7-ks.cfg net.ifnames=0 biosdevname=0 ksdevice=eth1
  10. 配置 網卡

建立ks.cfg文件

一般,咱們在安裝操做系統的過程當中,須要大量的和服務器交互操做,爲了減小這個交互過程,kickstart就誕生了。使用這種kickstart,只需事先定義好一個Kickstart自動應答配置文件ks.cfg(一般存放在安裝服務器上),並讓安裝程序知道該配置文件的位置,在安裝過程當中安裝程序就能夠本身從該文件中讀取安裝配置,這樣就避免了在安裝過程當中屢次的人機交互,從而實現無人值守的自動化安裝。

生成kickstart配置文件的三種方法:

  • 方法一、 每安裝好一臺Centos機器,Centos安裝程序都會建立一個kickstart配置文件,記錄你的真實安裝配置。若是你但願實現和某系統相似的安裝,能夠基於該系統的kickstart配置文件來生成你本身的kickstart配置文件。(生成的文件名字叫anaconda-ks.cfg位於/root/anaconda-ks.cfg)
  • 方法二、Centos提供了一個圖形化的kickstart配置工具。在任何一個安裝好的Linux系統上運行該工具,就能夠很容易地建立你本身的kickstart配置文件。kickstart配置工具命令爲redhat-config-kickstart(RHEL3)或system-config-kickstart(RHEL4,RHEL5).網上有不少用CentOS桌面版生成ks文件的文章,若是有現成的系統就沒什麼可說。但沒有現成的,也沒有必要去用桌面版,命令行也很簡單。
  • 方法三、閱讀kickstart配置文件的手冊。用任何一個文本編輯器均可以建立你本身的kickstart配置文件。
  1. [root@CentOS-7 ks_config]# vim CentOS7-ks.cfg
  2.  
  3. # Kickstart Configurator for CentOS 7 by yao zhang
  4. Install 告知安裝程序,這是一次全新安裝,而不是升級upgrade。
  5. url --url=http://172.16.1.201/CentOS7/ 經過FTP或HTTP從遠程服務器上的安裝樹中安裝。
  6. text 使用文本模式安裝。
  7. lang en_US.UTF-8 設置在安裝過程當中使用的語言以及系統的缺省語言
  8. keyboard us 設置系統鍵盤類型。keyboard us
  9. zerombr 清除mbr引導信息。系統引導相關配置。
  10. bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
  11.  --location=,指定引導記錄被寫入的位置.有效的值以下:mbr(缺省),partition(在包含內核的分區的第一個扇區安裝引導裝載程序)或none(不安裝引導裝載程序)。
  12. --driveorder,指定在BIOS引導順序中居首的驅動器。
  13.  --append=,指定內核參數.要指定多個參數,使用空格分隔它們。
  14. network --bootproto=static --device=eth1 --ip=172.16.1.202 --netmask=255.255.255.0 –activate
  15. --bootproto=[dhcp/bootp/static]中的一種,缺省值是dhcp。bootp和dhcp被認爲是相同的
  16. --ip=,要安裝的機器的IP地址. --netmask=,安裝的系統的子網掩碼.
  17. network --hostname=Cobbler --hostname=,安裝的系統的主機名.
  18. #network --bootproto=dhcp --device=eth1 --onboot=yes --noipv6 --hostname=CentOS7
  19. --bootproto=[dhcp/bootp/static]中的一種,缺省值是dhcp。bootp和dhcp被認爲是相同的。 --onboot=,是否在引導時啓用該設備.
  20. timezone --utc Asia/Shanghai 設置系統時區。timezone --utc Asia/Shanghai
  21. authconfig --enableshadow --passalgo=sha512 系統認證信息。authconfig --enableshadow --passalgo=sha51設置密碼加密方式爲sha512?啓用shadow文件
  22. clearpart --all –initlabel 清空分區。clearpart --all –initlabel --all 從系統中清除全部分區,--initlable 初始化磁盤標籤 磁盤分區。
  23. part /boot --fstype xfs --size 1024 --size=,以MB爲單位的分區最小值.在此處指定一個整數值,如500.不要在數字後面加MB。
  24. part swap --size 1024
  25. part / --fstype xfs --size 1 –grow --fstype=,爲分區設置文件系統類型.有效的類型爲ext2,ext3,swap和vfat。
  26. firstboot –disable
  27. selinux --disabled
  28. firewall --disabled
  29. logging --level=info
  30. reboot
  31.  
  32. %packages
  33. @^minimal 指定安裝的包組
  34. @compat-libraries
  35. @debugging
  36. @development
  37. tree
  38. nmap
  39. sysstat
  40. lrzsz
  41. dos2unix
  42. telnet
  43. wget
  44. vim
  45. bash-completion
  46. %end
  47.  
  48. %post
  49. systemctl disable postfix.service
  50. %end

保存,啓動安裝虛擬機,就能夠一件化安裝。

不應出現的錯誤

報錯緣由:selinux沒關

相關文章
相關標籤/搜索