天天看點

基于Kickstart自動化安裝CentOS實踐基于Kickstart自動化安裝CentOS實踐

基于Kickstart自動化安裝CentOS實踐基于Kickstart自動化安裝CentOS實踐

<a target="_blank"></a>

因為需要在浪潮的x86伺服器中集中部署centos搭建基于hadoop的大資料平台,平時接觸sles(suse linux enterprise server)較多并且已經實作基于autoyast方式使用CD光牒或者pxe網絡自動化安裝(後續會分享具體實作方法)。這次主要通過學習kisckstart實作最簡單的CD光牒方式自動化安裝centos,而網上的大多數教程并不完全适用于自身的環境,本文将不再贅述kickstart相關概念,細節可參考擴充閱讀。

kickstart是最為通用的linux自動化安裝方法之一
centos-6.4-x86_64
代理上網小技巧,export http_proxy=ip:port

<code>yum -y install createrepo mkisofs</code>

拷貝centos原始鏡像内容,不做任何精簡

<code>mkdir /mnt/centos</code>

<code>mount /dev/sr0 /mnt/centos</code>

<code>mkdir /tmp/iso</code>

<code>cp -r /mnt/centos/* /tmp/iso</code>

檔案路徑和安裝方式可自由定義

<code>cd /tmp/iso/isolinux</code>

<code>#修改引導,注意ks=部分</code>

<code>vi isolinux.cfg</code>

<code></code>

<code>label linux</code>

<code>menu label ^install or upgrade an existing system</code>

<code>menu default</code>

<code>kernel vmlinuz</code>

<code>append initrd=initrd.img ks=cdrom:/isolinux/ks.cfg</code>

<code>#手動增加kickstart配置檔案</code>

<code>vi ks.cfg</code>

<code>#kickstart file automatically generated by anaconda.</code>

<code>#version=devel</code>

<code>#install os instead of upgrade</code>

<code>#表示是安裝,而不是更新</code>

<code>install</code>

<code>#use text mode install</code>

<code>#文本方式安裝</code>

<code>text</code>

<code>#use network installation</code>

<code>#使用網絡安裝</code>

<code>#url --url=ftp://ip/centos</code>

<code>#local installation use cdrom installation media</code>

<code>#使用CD光牒安裝</code>

<code>cdrom</code>

<code>#installation number configuration</code>

<code>#如果是redhat的系統,會要求輸入key,這裡配置為跳過,如果不配置安裝時會停在那裡要求使用者輸入key</code>

<code>#key –skip</code>

<code>#system language</code>

<code>#語言環境</code>

<code>#lang en_us.utf-8</code>

<code>lang zh_cn.utf-8</code>

<code>#system keyboard</code>

<code>#鍵盤類型</code>

<code>keyboard us</code>

<code>#network information</code>

<code>#網絡配置</code>

<code>#network --device eth0 --bootproto dhcp --onboot yes</code>

<code>#root password</code>

<code>#root密碼</code>

<code>rootpw chinaums</code>

<code>#firewall configuration</code>

<code>#禁用防火牆</code>

<code>firewall --disabled</code>

<code>#selinux configuration</code>

<code>#禁用selinux</code>

<code>selinux --disabled</code>

<code>#run the setup agent on first boot</code>

<code>#禁用第一次啟動時設定系統的向導</code>

<code>firstboot --disable</code>

<code>#system authorization information</code>

<code>#使用者認證配置,useshadow表示使用本地認證,--passalgo表示密碼加密算法</code>

<code>authconfig --enableshadow --passalgo=sha512</code>

<code>#system timezone</code>

<code>#設定時區為上海</code>

<code>timezone --isutc asia/shanghai</code>

<code>#system bootloader configuration</code>

<code>#指明bootloader的安裝位置,指明驅動器的排序,指明作業系統安裝完成之後,向核心傳遞的參數</code>

<code>bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"</code>

<code>#clear the master boot record</code>

<code>#清除mbr引導記錄</code>

<code>zerombr yes</code>

<code>#partition clearing information</code>

<code>#清除硬碟上的所有資料</code>

<code>clearpart --all --initlabel</code>

<code>#disk partitioning information</code>

<code>#自定義分區</code>

<code>#建立一個200m大小的分區挂載/boot類型為ext4</code>

<code>part /boot --fstype=ext4 --size=200 --ondisk=sda</code>

<code>#建立一個20000m大小的swap分區</code>

<code>part swap --size=20000 --ondisk=sda</code>

<code>#建立/目錄</code>

<code>part / --fstype=ext4 --grow --size=1 --ondisk=sda</code>

<code>#reboot after installation</code>

<code>#設定完成之後重新開機</code>

<code>reboot --eject</code>

<code>#this packages is for centos 6.4</code>

<code>#為centos 6.4定制的軟體包</code>

<code>%packages</code>

<code>@base</code>

<code>@core</code>

<code>@chinese-support</code>

<code>#增加安裝後運作腳本</code>

<code>%post</code>

<code>#config service</code>

<code>#自定義服務</code>

<code>service networkmanager stop</code>

<code>chkconfig networkmanager off</code>

<code>#eject cdrom</code>

<code>#安裝完成彈出光碟</code>

<code>#eject</code>

<code>#reboot</code>

<code>#執行完畢後重新開機</code>

<code>#reboot -f</code>

<code>#結束自動化部署</code>

<code>%end</code>

注意路徑和指令的準确性

<code>cd /tmp/iso</code>

<code>createrepo -g repodata/*comps.xml .</code>

<code>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/</code>

原文釋出時間:2015-05-22

本文來自雲栖合作夥伴“linux中國”