<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中國”