基于Kickstart自動化安裝CentOS實踐

nwbg 9年前發布 | 19K 次閱讀 CentOS

基于Kickstart自動化安裝CentOS實踐

前言

因為需要在浪潮的x86服務器中集中部署CentOS搭建基于Hadoop的大數據平臺,平時接觸SLES(SuSE Linux Enterprise Server)較多并且已經實現基于Autoyast方式使用光盤或者PXE網絡自動化安裝(后續會分享具體實現方法)。這次主要通過學習Kisckstart實現最簡單的光盤方式自動化安裝CentOS,而網上的大多數教程并不完全適用于自身的環境,本文將不再贅述Kickstart相關概念,細節可參考擴展閱讀。

Kickstart是最為通用的Linux自動化安裝方法之一

</blockquote>

環境準備

定制系統

CentOS-6.4-x86_64

</blockquote>

官方下載地址 - http://wiki.centos.org/Download

安裝軟件包

DL上網小技巧,export http_proxy=ip:port

</blockquote>

yum -y install createrepo mkisofs

制作流程

目錄結構

拷貝CentOS原始鏡像內容,不做任何精簡

</blockquote>

mkdir /mnt/centos
mount /dev/sr0 /mnt/centos
mkdir /tmp/iso
cp -r /mnt/centos/* /tmp/iso

增加Kickstart配置文件

文件路徑和安裝方式可自由定義

</blockquote>

cd /tmp/iso/isolinux

修改引導,注意ks=部分

vi isolinux.cfg

label linux menu label ^Install or upgrade an existing system menu default kernel vmlinuz append initrd=initrd.img ks=cdrom:/isolinux/ks.cfg

手動增加Kickstart配置文件

vi ks.cfg</pre>

#Kickstart file automatically generated by anaconda.

version=DEVEL

Install OS instead of upgrade

表示是安裝,而不是升級

install

Use text mode install

文本方式安裝

text

Use network installation

使用網絡安裝

url --url=ftp://ip/centos

Local installation Use CDROM installation media

使用光盤安裝

cdrom

Installation Number configuration

如果是RedHat的系統,會要求輸入key,這里配置為跳過,如果不配置安裝時會停在那里要求用戶輸入key

key –skip

System language

語言環境

lang en_US.UTF-8

lang zh_CN.UTF-8

System keyboard

鍵盤類型

keyboard us

Network information

網絡配置

network --device eth0 --bootproto dhcp --onboot yes

Root password

root密碼

rootpw chinaums

Firewall configuration

禁用防火墻

firewall --disabled

SELinux configuration

禁用selinux

selinux --disabled

Run the Setup Agent on first boot

禁用第一次啟動時設置系統的向導

firstboot --disable

System authorization information

用戶認證配置,useshadow表示使用本地認證,--passalgo表示密碼加密算法

authconfig --enableshadow --passalgo=sha512

System timezone

設置時區為上海

timezone --isUtc Asia/Shanghai

System bootloader configuration

指明bootloader的安裝位置,指明驅動器的排序,指明操作系統安裝完成之后,向內核傳遞的參數

bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"

Clear the Master Boot Record

清除MBR引導記錄

zerombr yes

Partition clearing information

清除硬盤上的所有數據

clearpart --all --initlabel

Disk partitioning information

自定義分區

創建一個200M大小的分區掛載/boot類型為ext4

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

創建一個20000M大小的SWAP分區

part swap --size=20000 --ondisk=sda

創建/目錄

part / --fstype=ext4 --grow --size=1 --ondisk=sda

Reboot after installation

設置完成之后重啟

reboot --eject

This packages is for CentOS 6.4

為CentOS 6.4定制的軟件包

%packages @base @core @chinese-support

增加安裝后運行腳本

%post

config service

自定義服務

service NetworkManager stop chkconfig NetworkManager off

eject cdrom

安裝完成彈出光碟

eject

reboot

執行完畢后重啟

reboot -f

結束自動化部署

%end</pre>

生成依賴關系和ISO文件

注意路徑和命令的準確性

</blockquote>

cd /tmp/iso
createrepo -g repodata/*comps.xml . 
mkisofs -o /tmp/CentOS-6.4_64_auto.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table  -joliet-long  -R -J -v -T /tmp/iso/

測試和建議

推薦兩篇參考文獻,建議先在虛擬機上反復測試驗證再到物理機部署

</blockquote>

 本文由用戶 nwbg 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!