PXE自動安裝

Centos的安裝管理程序是anaconda,系統安裝完成之後會在root的家目錄下自動生成anaconda_ks.cfg。這個文件主要安裝的系統所需要的配置,主要是由命令段,軟件包段和腳本段構成。我們可以通過編輯修改安裝完成後的系統根下的anaconda_ks.cfg.kickstart文件。另外我們也可以通過安裝system-config-kickstart,其圖形化界面配置相當的直觀,只是對於磁盤的分區對於raidlvm有一定的約束,不過我們可以通過修改添加也可以完成。代碼修改完成後,可以通過命令ksvalidator可以檢查kickstart文件的語法是否正確。

我們如何完成自動化安裝呢?

一、dhcp安裝

1、安裝dhcp

[root@bogon ~]# yum install dhcp

 

2、修改dhcp配置腳本

配置dhcp服務

  cat /etc/dhcp/dhcpd.conf

[root@bogon ~]# cat /etc/dhcp/dhcpd.conf

# DHCP Server Configuration file.

#   see /usr/share/doc/dhcp*/dhcpd.conf.sample

#   see 'man 5 dhcpd.conf'

 

 

配置DHCP,編輯配置文件/etc/dhcp/dhcpd.conf

1

2

3

4

5

6

7

8

9

10

11

12

13

14

option domain-name "practicedhcp"; # 指定網域的域名

option domain-name-servers 192.16.33.1; # DNS 多個可用逗號隔開

 

default-lease-time 86400; # 默認租約期限這裏設置爲1天

max-lease-time 100000; # 最大租約期限

  

log-facility local7; # 日誌設備類型爲local7

 

subnet 192.168.0.0 netmask 255.255.255.0 # 指定網段的分配ip 和子網掩碼

   range 192.168.33.2 172.16.33.254; # 可使用的地址池範圍

   option routers 192.168.33.1; # 指定網關

   next-server 172.16.33.1; # 指定下一個Server爲tftp服務器地址

   filename "pxelinux.0 "; # 指定到tftp服務器上下載pxelinux.0文件

 

設置dhcp開機啓動服務

1

# chkconfig dhcpd on

查看dhcp開機啓動情況

1

2

3

# chkconfig --list dhcpd

dhcpd           0:off 1:off 2:on 3:on 4:on 5:on 6:off         

# 在2,3,4,5運行級別開機啓動服務

 

、配置tftp Server

2.1、安裝tftp & tftp-server

1

# yum install tftp tftp-server

2.2開啓tftp服務

1

2

# chkconfig tftp on

# service xinetd restart

、提供PXE工作環境和內核引導文件

3,1、安裝syslinux

1

# yum install syslinux

3.2複製pxelinux.0文件到tftp

1

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

 

3.3、提供引導內核等所需文件

掛載系統光盤至/media/cdrom

1

# mount /dev/cdrom /media/cdrom

3.4複製文件到tftpboot目錄中

1

2

# cp /media/cdrom/p_w_picpaths/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot

# cp /media/cdrom/isolinux/{splash.jpg,vesamenu.c32,boot.msg}  /var/lib/tftpboot

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

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

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

 

# 配置文件的內容

default vesamenu.c32  # 使用vesamenu.c32文本界面程序

#prompt 1

timeout 600  # 設定超時60秒,單位爲0.1秒

 

display boot.msg

 

menu background splash.jpg   # 設置背景圖片

menu title Welcome to magedu linux! # 設置標題

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    # 設置標籤,啓動時按tab鍵進入命令行界面是,可以使用標籤代替命令和參數

  menu label ^Install or upgrade an existing system

  menu default

  kernel vmlinuz # 內核位置

  append initrd=initrd.img ks= # 內核後帶的參數,指定了ks文件位置 

label vesa

  menu label Install system with ^basic video driver

  kernel vmlinuz

  append initrd=initrd.img xdriver=vesa nomodeset  # 沒有顯卡驅動時,使用基本的顯示驅動

label rescue

  menu label ^Rescue installed system

  kernel vmlinuz

  append initrd=initrd.img rescue # 救援模式

label local

  menu label Boot from ^local drive

  localboot 0xffff  # 啓動本地磁盤

label memtest86     #內存測試

  menu label ^Memory test

  kernel memtest

  append -

 

、提供安裝源

4.1安裝httpd

1

2

3

4

5

6

7

8

9

10

# yum install httpd

# 創建光盤掛載目錄

# mkdir /var/www/html/centos

 

# 掛載光盤到目錄

# mount /dev/cdrom /var/www/html/centos

 

# 或者把光盤掛載至/media/cdrom,再將/var/www/html/centos綁定掛載至/media/cdrom

# mount /dev/cdrom /media/cdrom

# mount /media/cdrom /var/www/html/centos

 

6、提供ks.cfg文件

注意:ks.cfg 文件other用戶要擁有可讀權限

ks.cfg文件複製到http默認目錄下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

# cp ~/anaconda_ks.cfg /var/www/html/ks.cfg

 

# Kickstart file automatically generated by anaconda.

#version=DEVEL

install

 

# 兼容Centos5的安裝源,不可省略,會報錯

url --url=http://172.16.142.1/centos 

....

 

# 分區格式化

clearpart --all

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

part pv.008002 --size=61440

volgroup vg0 --pesize=8192 pv.008002

logvol / --fstype=ext4 --name=root --vgname=vg0 --size=20480

logvol swap --name=swap --vgname=vg0 --size=2048

logvol /usr --fstype=ext4 --name=usr --vgname=vg0 --size=10240

logvol /var --fstype=ext4 --name=var --vgname=vg0 --size=20480

 

# 指定安裝源

repo --name="CentOS"  --baseurl=http://172.16.142.1/centos --cost=100

 

# 配置安裝的包和包組

%packages

@Base

@Core

@base

@basic-desktop

...

ibus-table-cangjie

ibus-table-erbi

ibus-table-wubi

lftp

%end

 

# 安裝後腳本

%post

...

 

%end

 到此,所有的工作都完成,只需啓動即可。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章