Sunday, February 22, 2015

Setting up Kickstart in RHEL/CentOS7

          အခုပြောမယ့် Kickstart ကတော့ ကျွန်တော်တို့ Linux system များကို တစ်ပြိုင်နက်ထဲ network ပေါ်ကနေ deployment လုပ်ချင်တဲ့အခါ သုံးတဲ့ solution တစ်ခုဖြစ်ပါတယ်။ ကျွန်တော်တို့ Red Hat (or) CentOS ရဲ့ "/root" ဆိုတဲ့ အပိုင်းအောက်မှာ "anaconda.cfg" ဆိုတဲ့ file တစ်ခု ရှိနေမှာ ဖြစ်ပါတယ်။ ထို file ကို အခု အသုံးပြုပြီး kickstart နဲ့ auto deploy လုပ်တာဖြစ်ပါတယ်။



 
 Prerequisites for Kickstart

 1. vsftp (or) http (or) nfs service
 2. DHCP Service for IP assign to deployment pc
 3. System-config-kickstart #Optional, you can use vim/vi editor to edit *.cfg file


Check requirement services #using rpm -qa

         အခု ပုံက အပေါ်မှာပြောခဲ့တဲ့ services တွေကို စက်မှာ install လုပ်ထားလား မလုပ်ထားလား စစ်ထားတာ ဖြစ်ပါတယ်။ မရှိခဲ့လျှင် အရင်ဆုံး yum install ဖြင့် လိုအပ်တဲ့ services တွေကို install လုပ်ပေး ရမည်။








Configuration for DHCP

              အရင်ဆုံး dhcp service ကို configure လုပ်ပါမယ်။ "/etc/dhcp/dhcpd.conf" ထဲမှာ ရေးရမယ့် အကြောင်းတွေ ကို #rpm -qd dhcp ဖြင့် "/usr/share/doc/dhcp*/dhcpd.conf.sample" ကနေယူ နိင်ပါတယ်။










Configuration for HTTP

            ဒီမှာတော့ http ကိုအသုံးပြုမှာ ဖြစ်တဲ့အတွက် အရင်ဆုံး service install လုပ်ပြီးရင် CentOS7 ISO file mount လုပ်ပြီး "/var/www/html"အောက်မှာ copy အကုန်ကူထားလိုက်ပါ။ နောက်ပြီ: "/root" အောက်က "anaconda.cfg" ကိုလဲ အခု လမ်းကြောင်းအောက်မှာ directory တစ်ခုဆောက်ပြီး "ks.cfg"အနေနဲ့ copy ကူးထားပါ။ 










Using #system-config-kickstart to edit ks.cfg



            Termial မှာ #system-config-kickstart ကိုရိုက်ပြီး ခုနက "http" လမ်းကြောင်းအောက်မှာ ထားထားတဲ့ "ks.cfg" file ကို ရွေးရမည် ဖြစ်ပါတယ်။ အခု ဒီ kickstart editor ကိုအသုံးပြုပြီး auto deployment တင်မည့် စက်မှာ လိုအပ်တာတွေ ကို တစ်ခါထဲ ပြင်ဆင်သွားနိုင်ပါတယ်။ ဥပမာ choosing packages, managing disk partitions, managing selinux,firewall services etc. အောက်မှာ ပုံ တစ်ချို့ ကိုပြထားပါတယ်။



       အခုအောက်ကပုံမှာ kickstart ဖြင့် deployment လုပ်ရန် http ကို အသုံးပြုထားတော့သော်ကြောင့် ထိုနေရာမှာ "http" ကို ရွေးရမှာ ဖြစ်ပါတယ်။ "HTTP Directory" က CentOS7 copy ကူးထားတဲ့ နေရာ ကိုရွေးရမှာ ဖြစ်ပါတယ်။


       
         Network Configuration မှာ DHCP Server အသုံးပြုထားသောကြောင့် DHCP ကိုရွေးထားပါတယ်။




             အခုအောက်ပုံကတော့ deploy လုပ်မယ့်စက်မှာ ကြိုပြီး partition သတ်မှတ်ထားတာ ဖြစ်ပါတယ်။ "ks.cfg" ဖိုင်ကို လဲ #vim နဲ့ ဖွင့်ကြည့်လျှင် partition တွေသတ်မှတ်ထားကို တွေ့ပါမည်။






 Start Services using #systemctl



             အခုဒီ RHEL/CentOS7 မှာ Services တွေကို start/stop လုပ်တာတွေ နောက် အရင်က #chkconfig ကို သုံးတဲ့နေရာမှာလဲ အကုန်လုံးကို #systemctl က လုပ်ဆောင်သွားပါတယ်။ Services start/stop လုပ်ချင်ရင် #systemctl start/stop/status  ကို သုံးပြီ: reboot ချလို့ ပြန်တက်ရင် services တွေကို အမြဲ running လုပ်စေချင်ရင် #systemctl enable command  ဖြင့် အသုံးပြုရပါတယ်။







Deploying Kickstart on client machine

             အခု vm ပေါ် မှာဖြစ်တဲ့ အတွက် centos7.iso နဲ့ boot တက်ပြီ: install လုပ်မယ့်နေရာမှာ "Tab" key ကို နိုပ်ပြီး "ks=http://192.168.100.1/ks/ks.cfg" ဟု ks.cfg ဖိုင်ကို ရွေးပေးရမည်။ ထိုနေရာမှာ မှားရျ် မရပါ။ 







         အခုဆိုလျှင် Kickstart ကိုအသုံးပြုပြီ: client စက်မှာ centos 7 ကို auto deploy လုပ်နေပြီဖြစ်ပါတယ်။ နောက်တစ်ခု  PXE Server နဲ့ kickstart ကိုပေါင်းပြီ: deploy လုပ်တာလဲ ရှိပါတယ်။ အခု ဒီ Kickstart Configuration ကတော့ RHCSA မှာ objective တစ်ခုအနေနဲ့ ပါ၀င်ပါတယ်။


Share:

0 comments:

Post a Comment