DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> DIV十CSS布局 >> 布局實例 >> CentOS下Cobbler的安裝和配置教程
CentOS下Cobbler的安裝和配置教程
編輯:布局實例     

   Cobbler是一個快速網絡安裝linux的服務,而且在經過調整也可以支持網絡安裝windows。該工具使用python開發,小巧輕便(才15k行python代碼),使用簡單的命令即可完成PXE網絡安裝環境的配置,同時還可以管理DHCP、DNS、以及yum倉庫、構造系統ISO鏡像。

  Cobbler支持命令行管理,web界面管理,還提供了API接口,可以方便二次開發使用。

  Cobbler客戶端Koan支持虛擬機安裝和操作系統重新安裝,使重裝系統更便捷。

  cobbler提供的功能

  使用 Cobbler,您無需進行人工干預即可安裝機器。Cobbler 設置一個 PXE 引導環境(它還可使用 yaboot 支持 PowerPC),並控制與安裝相關的所有方面,比如網絡引導服務(DHCP 和 TFTP)與存儲庫鏡像。當希望安裝一台新機器時,Cobbler 可以:

  使用一個以前定義的模板來配置 DHCP 服務(如果啟用了管理 DHCP)

  將一個存儲庫(yum 或 rsync)建立鏡像或解壓縮一個媒介,以注冊一個新操作系統

  在 DHCP 配置文件中為需要安裝的機器創建一個條目,並使用您指定的參數(IP 和 MAC 地址)

  在 TFTFP 服務目錄下創建適當的 PXE 文件

  重新啟動 DHCP 服務以反映更改

  重新啟動機器以開始安裝(如果電源管理已啟用)

  Cobbler 支持眾多的發行版:Red Hat、Fedora、CentOS、Debian、Ubuntu 和 SuSE。當添加一個操作系統(通常通過使用 ISO 文件)時,Cobbler 知道如何解壓縮合適的文件並調整網絡服務,以正確引導機器。

  Cobbler 可使用 kickstart 模板。基於 Red Hat 或 Fedora 的系統使用 kickstart 文件來自動化安裝流程。通過使用模板,您就會擁有基本的 kickstart 模板,然後定義如何針對一種配置文件或機器配置而替換其中的變量。例如,一個模板可能包含兩個變量 $domain和 $machine_name。在 Cobbler 配置中,一個配置文件指定 domain=mydomain.com,並且每台使用該配置文件的機器在machine_name 變量中指定其名稱。該配置文件中的所有機器都使用相同的 kickstart 安裝且針對 domain=mydomain.com 進行配置,但每台機器擁有其自己的機器名稱。您仍然可以使用 kickstart 模板在不同的域中安裝其他機器並使用不同的機器名稱。

  為了協助管理系統,Cobbler 可通過 fence scripts 連接到各種電源管理環境。Cobbler 支持 apc_snmp、bladecenter、bullpap、drac、ether_wake、ilo、integrity、ipmilan、ipmitool、lpar、rsa、virsh 和 wti。要重新安裝一台機器,可運行 reboot system foo命令,而且 Cobbler 會使用必要的憑據和信息來為您運行恰當的 fence scripts(比如機器插槽數)。

  除了這些特性,還可使用一個配置管理系統 (CMS)。您有兩種選擇:該工具內的一個內部系統,或者集成一個現有的外部 CMS,比如 Chef 或 Puppet。借助內部系統,您可以指定文件模板,這些模板會依據配置參數進行處理(與 kickstart 模板的處理方式一樣),然後復制到您指定的位置。如果必須自動將配置文件部署到特定機器,那麼此功能很有用。

  使用 koan 客戶端,Cobbler 可從客戶端配置虛擬機並重新安裝系統。我不會討論配置管理和koan 特性,因為它們不屬於本文的介紹范疇。但是,它們是值得研究的有用特性。

  Cobbler 安裝和配置的方法:

  一、加載epel源

  代碼如下:

  rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm

  二、安裝cobbler

  1.yum安裝所需要的文件

  代碼如下:

  yum -y install tftp-server cobbler cobbler-web pykickstart debmirror httpd python-ctypes xinetd rsync

  2.檢查cobbler配置是否正確

  代碼如下:

  cobbler check

  3.更改settings配置文件

  代碼如下:

  vi /etc/cobbler/settings

  next_server: dhcp服務器地址

  server: cobbler服務器地址

  manage_dhcp: 1

  manage_rsync: 1

  4.關閉iptables和selinux

  代碼如下:

  /etc/init.d/iptables stop

  setenforce 0

  5.設置tftp和rsync服務

  代碼如下:

  vi /etc/xinetd.d/tftp

  disable yes => disable no

< p>vi /etc/xinetd.d/rsync

 

  disable yes => disable no

  6.設置centos系統密碼

  代碼如下:

  openssl passwd -1 -salt 'Cobbler' 'cobbler'

  7.下載fedora的loader信息

  代碼如下:

  cobbler get-loaders

  8.修改dhcp配置模版文件.需要主機的事分配的dhcp地址需要和本機地址在同一網段否則無法啟動dhcp

  代碼如下:

  ddns-update-style interim;

  allow booting;

  allow bootp;

  ignore client-updates;

  set vendorclass = option vendor-class-identifier;

  #修改為自己的網段

  subnet 192.168.0.0 netmask 255.255.255.0 {

  #修改路由地址

  option routers 192.168.0.1;

  #域名服務器地址

  option domain-name-servers 202.106.0.20;

  #子網

  option subnet-mask 255.255.255.0;

  #分配IP地址段

  range dynamic-bootp 192.168.0.100 192.168.0.254;

  filename "/pxelinux.0";

  default-lease-time 21600;

  max-lease-time 43200;

  next-server $next_server;

  }

  三、導入鏡像到cobbler

  1.創建鏡像掛載點目錄

  代碼如下:

  mkdir -p /mnt/foo

  2.掛載iso鏡像到創建的目錄(可以為自己定制過的iso鏡像)

  代碼如下:

  mount -o loop CentOS-6.4-x86_64-mini.iso /mnt/foo

  3.從掛載點目錄導入os 並將其命名為Centos6.4_mini arch=x86_64

  代碼如下:

  cobbler import --path=/mnt/foo --name=Centos6.4_mini --arch=x86_64

  4.指定kickstart文件 (可選 默認我們會指定一個自己定制的kickstart文件)

  代碼如下:

  cobbler profile edit --name=Centos6.4_mini-x86_64 --kickstart=文件路徑

  5.查看cobbler報告

  代碼如下:

  cobbler report

  Distribution : Centos6.4_mini-x86_64

  Enable gPXE? : 0

  Enable PXE Menu? : 1

  Fetchable Files : {}

  Kernel Options : {}

  Kernel Options (Post Install) : {}

  Kickstart : /var/lib/cobbler/kickstarts/sample_end.ks

  Kickstart Metadata : {}

  Management Classes : []

  Management Parameters : <>

  Name Servers : []

  Name Servers Search Path : []

  Owners : ['admin']

  Parent Profile :

  Proxy :

  Red Hat Management Key : <>

  ......

  6.查看導入的鏡像列表

  代碼如下:

  cobbler distro list

  7.是cobbler生效

  代碼如下:

  cobbler sync

  8.重啟進入網絡引導系統

  9.需要注意的是每一次的配置更改都需要執行cobbller sync

  四、kickstart文件(以我的配置文件為例)

  代碼如下:

  firewall --disabled

  install

  #cdrom

  rootpw --iscrypted $default_password_crypted

  auth --useshadow --passalgo=md5

  text

  firstboot --disable

  keyboard us

  lang en_US.UTF-8

  url --url=$tree

  $yum_repo_stanza

  $SNIPPET('network_config')

< p>selinux --disabled

 

  # Do not configure the X Window System

  skipx

  logging --level=info

  #reboot --eject

  timezone Asia/Shanghai

  #network --device em1 --bootproto=static --ip=192.168.7.123 --netmask=255.255.248.0 --gateway=192.168.0.1 --nameserver 8.8.8.8 --hostname=test --onboot=yes

  bootloader --location=mbr --driveorder=sda

< p># Clear the Master Boot Record

 

  zerombr yes

< p># Partition clearing information

 

  clearpart --all --initlabel

< p># Disk partitioning information

 

  part / --fstype="ext4" --size=10240

  part swap --size=4096

  part /data --fstype="ext4" --grow --size=1

< p>

 

  %packages

  @base

  @core

  @server-policy

  sgpio

  device-mapper-persistent-data

  ntp

< p>

 

  %post --nochroot

  mkdir -p /mnt/sysimage/tmp/custom_data >> /tmp/custom.log 2>&1

  cp /mnt/source/Packages/lnmp_pack.tar.gz /mnt/sysimage/tmp/custom_data >> /tmp/custom.log 2>&1

  cp /mnt/source/Packages/install_packages.sh /mnt/sysimage/tmp/custom_data >> /tmp/custom.log 2>&1

  cp /mnt/source/Packages/ncftp-3.2.5-src.tar.gz /mnt/sysimage/tmp/custom_data >>/tmp/custom.log 2>&1

  cp /mnt/source/Packages/rarlinux-3.8.0.tar.gz /mnt/sysimage/tmp/custom_data >>/tmp/custom.log 2>&1

  cp /mnt/source/Packages/nmon_linux_14i.tar.gz /mnt/sysimage/tmp/custom_data >>/tmp/custom.log 2>&1

< p>

 

  %post

  cd /tmp/custom_data >> /tmp/custom.log 2>&1

  chmod +x install_packages.sh

  sh install_packages.sh

< p>

 

  # remove custom_data

  rm -rf /tmp/custom_data

< p>

 

  #vim syntax on

  echo alias vi='vim' >> /etc/bashrc

< p># disable ipv6

 

  echo "alias net-pf-10 off" >> /etc/modprobe.d/dist.conf

  echo -e "optionstipv6tdisable=1" >> /etc/modprobe.d/dist.conf

  echo "NETWORKING_IPV6=no" >> /etc/sysconfig/network

< p>#append lib

 

  echo "/usr/local/lib/" >> /etc/ld.so.conf

< p>#modify lang

 

  echo 'export LANG=zh_CN.UTF8' >> /etc/profile

< p>#disable system auto mail

 

  echo "unset MAILCHECK" >> /etc/profile

< p>#modify history

 

  echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >> /etc/profile

  sed -i "s/HISTSIZE=1000/HISTSIZE=999999999/" /etc/profile

< p>#modifu ssh port on 3389

 

  echo 'Port 3389' >> /etc/ssh/sshd_config

  echo 'UseDNS no' >> /etc/ssh/sshd_config

< p>

 

  for i in `ls /etc/rc3.d/S*`

  do

  CURSRV=`echo $i|cut -c 15-`

  chkconfig --level 3 $CURSRV off

  done

< p>for i in crond rsyslog iptables network ntpd sshd sysstat;do chkconfig --level 3 $i on;done

 

< p>sed -i '/HOSTNAME=/d' /etc/sysconfig/network

 

  echo 'HOSTNAME=test' >> /etc/sysconfig/network

< p>

 

< p># sysctl

 

  echo "net.core.netdev_max_backlog = 32768" >> /etc/sysctl.conf

  echo "net.core.rmem_default = 8388608" >> /etc/sysctl.conf

  echo "net.core.rmem_max = 16777216" >> /etc/sysctl.conf

  echo "net.core.somaxconn = 32768" >> /etc/sysctl.conf

  echo "net.core.wmem_default = 8388608" >> /etc/sysctl.conf

  echo "net.core.wmem_max = 16777216" >> /etc/sysctl.conf

  echo "net.ipv4.ip_local_port_range = 5000 65000" >> /etc/sysctl.conf

  echo "net.ipv4.tcp_fin_timeout = 30" >> /etc/sysctl.conf

  echo "net.ipv4.tcp_keepalive_time = 300" >> /etc/sysctl.conf

  echo "net.ipv4.tcp_max_orphans = 3276800" >> /etc/sysctl.conf

  echo "net.ipv4.tcp_max_syn_backlog = 65536" >> /etc/sysctl.conf

  echo "net.ipv4.tcp_max_tw_buckets = 5000" >> /etc/sysctl.conf

  echo "net.ipv4.tcp_mem = 94500000 915000000 927000000" >> /etc/sysctl.conf

  echo "net.ipv4.tcp_syn_retries = 2" >> /etc/sysctl.conf

  echo "net.ipv4.tcp_synack_retries = 2" >> /etc/sysctl.conf

  echo "net.ipv4.tcp_syncookies = 1" >> /etc/sysctl.conf

  echo "net.ipv4.tcp_timestamps = 0" >> /etc/sysctl.conf

  echo "net.ipv4.tcp_tw_recycle = 1" >> /etc/sysctl.conf

  echo "net.ipv4.tcp_tw_reuse = 1" >> /etc/sysctl.conf

  /sbin/sysctl -p

< p># modify core ulimt

 

  echo -e "*tsofttnofilet65535" >> /etc/security/limits.conf

  echo -e "*thardtnofilet65535" >> /etc/security/limits.conf

< p>echo -e "*tsofttnofilet65535" >> /etc/security/limits.d/90-nproc.conf

 

  echo -e "*thardtnofilet65535" >> /etc/security/limits.d/90-nproc.conf

< p># ntpd

 

  cat > /etc/sysconfig/clock <

  ZONE="Asia/Shanghai"

  UTC=true

  ARC=false

  EOF

  /sbin/service ntpd stop

  /usr/sbin/ntpdate 210.167.182.10

  /sbin/service ntpd start

< p>COMMIT

 

  EOF

< p>%end

 

  [/python]

< p>[python]

 

  # 訪問cobbler_web

  http://IP/cobbler_web

  [/python]

  五.報錯總結

  當出現以下信息解決辦法

  代碼如下:

  [python]

  1 : some network boot-loaders are missing from /var/lib/cobbler/loaders

  2 : comment out 'dists' on /etc/debmirror.conf for proper debian support

  3 : comment out 'arches' on /etc/debmirror.conf for proper debian support

  [/python]

  解決方法:

  代碼如下:

  [python]

  1.cobbler get-loaders

  2 - 3: yun install debmirror && vi /etc/debmirror.conf

  @dists="sid" => #@dists="sid"

  @arches="i386" => #@arches="i386"

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved