歡迎您光臨本站 註冊首頁

kickstart 網路安裝Linux

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

網路安裝Linux

一、通過網路進行安裝Linux可快速大量部署Linux的環境,搭建Linux 網路安裝伺服器需注意以下幾點: 1、主機網卡需支持PXE Client , 也就是俗話說的支持 LAN Boot 2、需架設DHCP伺服器以分配給PXE Client IP address 3、需架設TFTP伺服器提高PXE Client開機所需的kernel image 及相關的配置文件 4、支持Kickstart 安裝,為了讓伺服器支持Kickstart 安裝,則得架設Kickstart installation Server 及編寫Kickstart 文件 二、通過網路進行安裝Linux的基本原理: 1、 網卡得先和DHCP Server 溝通,然後DHCP Server告訴PXE Client 到哪裡(TFTP Server 的 位置)去下載 pxelinux.0 , pxelinux.0是Linux的boot loader , 就是開機程式 2、 接著利用 TFTP 取得pxelinux.0 文件及Kickstart 自動安裝配置文件所在位置,把 pxelinux.0 載入內存,此時巳如同將Linux kernel 內存中. 3、 接著kernel 根據DHCP Sserver 所告知的Kickstart 位置,取得Kicstart 的配置文件, 然 后根據Kickstart 文件的內容來自動安裝Linux 三、詳細安裝步驟: 1、 安裝DHCP Server # cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcpd.conf #cat /etc/dhcpd.conf subnet 172.16.32.0 netmask 255.255.255.0 { option routers 172.16.32.1; option subnet-mask 255.255.255.0; option nis-domain "domain.org"; option domain-name "domain.org"; option domain-name-servers 8.8.8.8; option time-offset -18000; # Eastern Standard Time range dynamic-bootp 172.16.32.10 172.16.32.100;

default-lease-time 21600; max-lease-time 43200; host ns { next-server marvin.redhat.com; hardware ethernet 12:34:56:78:AB:CD; fixed-address 207.175.42.254; } 只需在文件最後結尾的“}”前加入兩行設定 next-server 172.16.32.1; #TFTP server 的IP地址 filename "pxelinux.0"; #下載linux boot loader pxelinux.0 } #service dhcpd restart 2、TFTP Server 就略嫌麻煩些了,除了pxelinux.0 這個重要的boot loader 外,一般會 希望PXE開機后,應該出現選單,讓使用者有所選擇,例如從原有的硬碟開機, 或是利用Kickstart 配置文件重新安裝/部署這台伺服器. pxelinux.0 是由syslinux 套件所提供,首先檢查是否巳安裝syslinux 套件及 pxelinux.0 的存放位置. [[email protected] ~]# rpm -ql syslinux-3.11-4 |grep pxe /usr/lib/syslinux/pxelinux.0 /usr/share/doc/syslinux-3.11/pxelinux.doc 接著安裝 tftp-server 及tftp 套件及啟用tftp server 註:實踐證明只需安裝tftp-server [[email protected] Server]# rpm -q tftp-server package tftp is not installed package tftp-server is not installed [[email protected] Server]# rpm -ivh tftp-server-0.49-2.i386.rpm [[email protected] Server]#service xinetd start [[email protected] Server]#chkconfig tftp on 複製pxelinux.0到/tftpboot [ [email protected] media]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/ 將Linux 安裝光碟中的幾個文件複製到/tftpboot [[email protected] media]# mount /dev/cdrom /media/ [[email protected] media]# cp images/pxeboot/initrd.img /tftpboot/ [[email protected] media]# cp images/pxeboot/vmlinuz /tftpboot/ [[email protected] ~]# ls /tftpboot/ initrd.img pxelinux.0 vmlinuz 這3個文件一定要存在 [[email protected] media]# mkdir /tftpboot/pxelinux.cfg 建立 PXE 設定文件,PXE 設定預設是讀取「/tftpboot/pxelinux.cfg/default」來覺得定PXE Menu 的選項,例如輸入「0」是從硬碟啟動;輸入「1」則是重新安裝最 小的作業系統;輸入「1」則是重新安裝workstation 用途.其實為什麼可以安裝 不同需求的作業系統,原理很簡單,在「/tftpboot/pxelinux.cfg/default」指定不 同的選項(Label)對應到不同的Kickstart 檔案. 下面便是一個實用的「/tftpboot/pxelinux.cfg/default」範例: # cat /tftpboot/pxelinux.cfg/default default 0 #預設選項是

0 prompt 1 #出現提示信息 timeout 3000 #單位是1/10 秒,若超過30sec 未有任何動作,則採取預設選項. display boot.msg #指定開機信息檔為 /tftpboot/boot.msg # cat /tftpboot/pxelinux.cfg/default label 0 localboot 0 label 1 kernel vmlinuz append initrd=initrd.img noipv6  ks=ftp://172.16.32.1/pub/kscfg/rhel5baseraid.cfg #172.16.32.1 我的Kickstart Server label 2 kernel vmlinuz append initrd=initrd.img noipv6 ks=ftp://172.16.32.1/pub/kscfg/workstation.cfg PXE 訊息檔為/tftpboot/boot.msg,讀者可以在boot.msg 中建立PXE Menu 的說明, 讓使用者清楚知道每個選項所代表的意義. # more /tftpboot/boot.msg INSTALLATION MENU Choose installation type: 0 Local Boot (default) 1 RHEL5.1 Base System 2 RHEL5.1 Workstation 此時,若是重開 PXE Client,則會看到下列畫面

若是此時選擇「1」,會發現畫面跟用光碟開機雷同但無法安裝下去 原因是找不到Kickstart 檔案,最後只要再架設好Kickstart installation server 及編 寫好對應的Kickstart 檔案便可大功告成. 4 Kickstart installation Server 部份 首先將 RedHat 安裝光碟的內容複製至Server 上,並利用NFS、FTP 或HTTP 將其分享出來. 安裝vsftp ,並啟動vsftpd #service vsftpd start(立即啟動FTP Server) #chkconfig vsftpd on(開機後自動啟用FTP Server) 最後再根據需求,在/var/ftp/pub/kscfg目錄下編寫rhel5base.cfg 及 workstation.cfg,讓PXE Client 根據Kickstart 進行自動安裝. 附上簡單分區方案的kickstart 配置文件: ###################### 開始 ########################################## install
text
url --url ftp://192.168.0.12/pub/iso ##將 系統光碟掛載到 /var/ftp/pub/iso/
key --skip


lang en_US.UTF-8
keyboard us
rootpw 445566
firewall --enabled --port=22:tcp
authconfig --enableshadow --enablemd5
selinux --enforcing
timezone --utc Asia/Shanghai
bootloader --location=partition --driveorder=sda --append="rhgb quiet"
clearpart --initlabel --all
part swap --size=1024
part /boot --fstype=ext3 --size=100
part / --fstype=ext3 --size=28000
%packages
@text-internet
@core
@base ###################### 完 以下是一個raid-1分區的配置文件################################
[[email protected] Server] cat /var/ftp/pub/kscfg/rhel5baseraid.cfg # Kickstart file automatically generated by anaconda. install text ftp://172.16.32.1/pub/iso ##將 系統光碟掛載到 /var/ftp/pub/iso/ key --skip lang en_US.UTF-8 keyboard us rootpw 445566 firewall --enabled --port=22:tcp authconfig --enableshadow --enablemd5 selinux --enforcing timezone --utc Asia/Shanghai ################################################################### bootloader --location=partition --driveorder=sda,sdb --append="rhgb quiet" clearpart --initlabel --all part swap --size=2048 --ondisk=sdb part swap --size=2048 --ondisk=sda part raid.01 --size=101 --ondisk=sda part raid.02 --size=101 --ondisk=sdb part raid.04 --size=10000 --ondisk=sdb part raid.03 --size=10000 --ondisk=sda part raid.05 --size=1 --grow --ondisk=sdb part raid.06 --size=1 --grow --ondisk=sda raid / --fstype ext3 --device=md0 --level=RAID1 raid.03 raid.04 raid /boot --fstype ext3 --device=md1 --level=RAID1 raid.01 raid.02 raid /data --fstype ext3 --device=md2 --level=RAID0 raid.05 raid.06 ################################################################## %packages @text-internet @core @base ----------完………………….

2010-10-19

本文出自 「IT菜鳥」 博客,請務必保留此出處http://ckc620.blog.51cto.com/631254/415868


[火星人 ] kickstart 網路安裝Linux已經有702次圍觀

http://coctec.com/docs/linux/show-post-49609.html