日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

利用Cobbler批量布署CentOS

發布時間:2025/5/22 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用Cobbler批量布署CentOS 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

從事網游運維的兄弟們應該深有感觸,往往在開新服的時候需要大批量的布署新的服務器,時間緊迫而且量大,裝系統、初始化,枯燥而又乏味,有時還容易出錯, 為了解放我們的雙手,所以要實現自動化,Red Hat 最新發布了網絡安裝服務器套件 Cobbler(補鞋匠)集成了PXE、DHCP、DNS、Kickstart服務管理和yum倉庫管理工具,相對之前的 Kickstart 更加快捷、方便的批量布署red hat、centos類系統


1、安裝rpmforce源
CentOS 5.5默認的Repository里找不到Cobbler,先安裝rpmforce這個Repository
cd /opt
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
rpm -ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpm

2、安裝相關軟件
yum -y install cobbler dhcp httpd xinetd tftp-server

3、檢查cobbler配置
cobbler check

根椐提示修改配置文件
/var/lib/cobbler/settings 中的 server 和 next_server 對應的127.0.0.1修改為本服務器的 IP 地址,
manage_dhcp 設為 1,以便管理 DHCP


將 /etc/xinetd.d/tftp 中 disable = no

4、導入精簡后的ISO
mkdir -p /mnt/iso
mount -o loop /data/KerryOS-1.0-i386.iso /mnt/iso
cobbler import --mirror=/mnt/iso --name=kerryOS-1.0-i386

查看導入結果
cobbler distro list


5、修改 DHCP 和 Kickstart 配置模板
#修改DHCP配置模板
vi /etc/dhcpd.conf
vi /etc/cobbler/dhcp.template

  • ddns-update-style?interim; ?
  • ?
  • allow?booting; ?
  • allow?bootp; ?
  • ?
  • ignore?client-updates; ?
  • set?vendorclass?=?option?vendor-class-identifier; ?
  • ?
  • subnet?192.168.9.0?netmask?255.255.255.0?{ ?
  • ?????option?routers??????????192.168.9.1;???#路由器地址 ?
  • ?????option?subnet-mask??????255.255.255.0;??#子網掩碼選項 ?
  • ?????option?domain-name-servers??192.168.9.1;??#DNS地址 ?
  • ?????range?dynamic-bootp?????192.168.9.200?192.168.9.254;??#動態IP范圍 ?
  • ?????filename????????????????"/pxelinux.0"; ?
  • ?????default-lease-time??????21600;?????#缺省租約時間 ?
  • ?????max-lease-time??????????43200;?#最大租約時間 ?
  • ?????next-server?????????????192.168.9.230;??#指定引導服務器 ?
  • }?
  • #修改 Kickstart 配置模板
    mv /var/www/cobbler/kickstarts/kerryOS-1.0-i386/ks.cfg /var/www/cobbler/kickstarts/kerryOS-1.0-i386/ks.cfg.bak
    mv /var/www/cobbler/kickstarts/kerryOS-1.0-xen-i386/ks.cfg /var/www/cobbler/kickstarts/kerryOS-1.0-xen-i386/ks.cfg.bak
    vi /etc/cobbler/default.ks
    vi /var/www/cobbler/kickstarts/kerryOS-1.0-i386/ks.cfg
    vi /var/www/cobbler/kickstarts/kerryOS-1.0-xen-i386/ks.cfg?

  • #?Kickstart?file?automatically?generated?by?anaconda. ?
  • #Install?OS?instead?of?upgrade ?
  • install ?
  • #Use?text?mode?install? ?
  • text ?
  • #Use?CDROM?installation?media? ?
  • cdrom ?
  • lang?en_US.UTF-8 ?
  • keyboard?us ?
  • ?
  • #Skip?the?X?Configuration ?
  • skipx ?
  • #Use?network?installation ?
  • url?--url=http://192.168.9.230/cobbler/ks_mirror/kerryOS-1.0-i386 ?
  • #Network?information? ?
  • #network?--device?eth0?--bootproto?static?--ip?192.168.9.226?--netmask?255.255.255.0?--gateway?192.168.9.1?--nameserver?192.168.9.1?--noipv6?--onboot=yes?--hostname?kerry-web-001 ?
  • network?--device?eth0?--bootproto?dhcp?--noipv6?--hostname?kerry-web-001 ?
  • #root?--?1q2w3e ?
  • rootpw?--iscrypted?$1$n07CbCot$GP.VBeICPHj.QkJb5Y2C2. ?
  • firewall?--disabled ?
  • #System?authorization?information ?
  • authconfig?--enableshadow?--enablemd5 ?
  • selinux?--disabled ?
  • timezone?--utc?Asia/Shanghai ?
  • #System?bootloader?configuration? ?
  • bootloader?--location=mbr?
  • #Clear?the?Master?Boot?Record ?
  • zerombr?yes ?
  • ?
  • #?Set?the?Mouse ?
  • mouse?generic3ps/2 ?
  • ?
  • #?The?following?is?the?partition?information?you?requested ?
  • #?Note?that?any?partitions?you?deleted?are?not?expressed ?
  • #?here?so?unless?you?clear?all?partitions?first,?this?is ?
  • #?not?guaranteed?to?work ?
  • ?
  • #Partition?clearing?information ?
  • clearpart?--all?--initlabel ?
  • part?/boot?--fstype?ext3?--size=200?--asprimary ?
  • part?/?--fstype?ext3?--size=10000?
  • part?swap?--size=2048?
  • part?/data?--fstype?ext3?--size=1?--grow ?
  • ?
  • #---?Reboot?the?host?after?installation?is?done ?
  • reboot ?
  • ?
  • %packages ?
  • %packages ?
  • @base ?
  • @core ?
  • @development-libs ?
  • @development-tools ?
  • @editors ?
  • @text-internet ?
  • keyutils ?
  • trousers ?
  • fipscheck ?
  • device-mapper-multipath ?
  • imake ?
  • ?
  • %post?--nochroot ?
  • #?Mount?CDROM ?
  • mkdir?-p?/mnt/cdrom ?
  • mount?-r?-t?iso9660?/tmp/cdrom?/mnt/cdrom ?
  • cp?/mnt/cdrom/ipmod?/mnt/sysp_w_picpath/root/ipmod?>?/dev/null ?
  • ?
  • umount?/mnt/cdrom ?
  • ?
  • %post ?
  • #vim?syntax?on ?
  • sed?-i?"8?s/^/alias?vi='vim'/"?/root/.bashrc?2>/dev/null ?
  • echo?'syntax?on'?>?/root/.vimrc?2>/dev/null ?
  • ?
  • #init_ssh ?
  • ssh_cf="/etc/ssh/sshd_config"?
  • sed?-i?-e?'74?s/^/#/'?-i?-e?'76?s/^/#/'?$ssh_cf ?
  • sed?-i?"s/#UseDNS?yes/UseDNS?no/"?$ssh_cf ?
  • ?
  • #client ?
  • sed?-i?-e?'44?s/^/#/'?-i?-e?'48?s/^/#/'?$ssh_cf ?
  • ?
  • #?Remove?the?ISO?File?translation?files ?
  • find?/?-name?TRANS.TBL?-exec?rm?{}?\;?/dev/null?2>/dev/null ?
  • ?
  • #?Remove?some?unneeded?services ?
  • #-------------------------------------------------------------------------------- ?
  • cat?<<?EOF?
  • +--------------------------------------------------------------+ ?
  • |?===?Welcome?to?Tunoff?services?===?| ?
  • +--------------------------------------------------------------+ ?
  • EOF ?
  • #--------------------------------------------------------------------------------- ?
  • for?i?in?`ls?/etc/rc3.d/S*` ?
  • do ?
  • ????CURSRV=`echo?$i|cut?-c?15-` ?
  • echo?$CURSRV ?
  • case?$CURSRV?in ?
  • ????????crond?|?irqbalance?|?microcode_ctl?|?network?|?random?|?sshd?|?syslog?|?local?) ?
  • ????echo?"Base?services,?Skip!" ?
  • ????;; ?
  • ????*) ?
  • ????????echo?"change?$CURSRV?to?off" ?
  • ????????chkconfig?--level?235?$CURSRV?off ?
  • ????????service?$CURSRV?stop ?
  • ????;; ?
  • esac ?
  • done ?
  • ?
  • #?file?descriptors ?
  • ulimit?-HSn?65535 ?
  • ?
  • echo?-ne?" ?
  • *?soft?nofile?65536 ?
  • *?hard?nofile?65536 ?
  • "?>>/etc/security/limits.conf ?
  • ?
  • #set?sysctl ?
  • true?>?/etc/sysctl.conf ?
  • cat?>>?/etc/sysctl.conf?<<?EOF?
  • net.ipv4.ip_forward?=?0?
  • net.ipv4.conf.default.rp_filter?=?1?
  • net.ipv4.conf.default.accept_source_route?=?0?
  • kernel.sysrq?=?0?
  • kernel.core_uses_pid?=?1?
  • net.ipv4.tcp_syncookies?=?1?
  • kernel.msgmnb?=?65536?
  • kernel.msgmax?=?65536?
  • kernel.shmmax?=?68719476736?
  • kernel.shmall?=?4294967296?
  • net.ipv4.tcp_max_tw_buckets?=?6000?
  • net.ipv4.tcp_sack?=?1?
  • net.ipv4.tcp_window_scaling?=?1?
  • net.ipv4.tcp_rmem?=?4096?87380?4194304 ?
  • net.ipv4.tcp_wmem?=?4096?16384?4194304 ?
  • net.core.wmem_default?=?8388608?
  • net.core.rmem_default?=?8388608?
  • net.core.rmem_max?=?16777216?
  • net.core.wmem_max?=?16777216?
  • net.core.netdev_max_backlog?=?262144?
  • net.core.somaxconn?=?262144?
  • net.ipv4.tcp_max_orphans?=?3276800?
  • net.ipv4.tcp_max_syn_backlog?=?262144?
  • net.ipv4.tcp_timestamps?=?0?
  • net.ipv4.tcp_synack_retries?=?1?
  • net.ipv4.tcp_syn_retries?=?1?
  • net.ipv4.tcp_tw_recycle?=?1?
  • net.ipv4.tcp_tw_reuse?=?1?
  • net.ipv4.tcp_mem?=?94500000?915000000?927000000 ?
  • net.ipv4.tcp_fin_timeout?=?1?
  • net.ipv4.tcp_keepalive_time?=?1200?
  • net.ipv4.ip_local_port_range?=?1024?65535 ?
  • EOF ?
  • ?
  • /sbin/sysctl?-p ?
  • ?
  • #close?ctrl+alt+del ?
  • sed?-i?"s/ca::ctrlaltdel:\/sbin\/shutdown?-t3?-r?now/#ca::ctrlaltdel:\/sbin\/shutdown?-t3?-r?now/"?/etc/inittab ?
  • ?
  • #set?purview? ?
  • chmod?600?/etc/passwd ?
  • chmod?600?/etc/shadow ?
  • chmod?600?/etc/group ?
  • chmod?600?/etc/gshadow?
  • 6、生成并同步所有配置
    cobbler sync

    7、啟動相關的服務
    /etc/init.d/httpd start
    /etc/init.d/xinetd start
    /etc/init.d/dhcpd start
    /etc/init.d/cobblerd start

    chkconfig --level 35 httpd on
    chkconfig --level 35 xinetd on
    chkconfig --level 35 dhcpd on
    chkconfig --level 35 cobblerd on

    #記得關閉防火墻
    /etc/init.d/iptables stop
    chkconfig --level 35 iptables off

    8、相關配置文件及目錄
    cobbler相關配置文件: /etc/cobbler
    cobbler數據存儲目錄: /var/www/cobbler
    dhcp配置文件: /etc/dhcpd.conf
    dhcp租期緩存文件: /var/lib/dhcpd/dhcpd.leases
    pxe配置文件: /tftpboot/pxelinux.cfg/default
    ks模板文件: /var/lib/cobbler/kickstarts_*.ks

    9、客戶端通過PXE安裝系統
    啟動另一臺新服務器,通過 PXE 啟動進入,提示"boot:"時輸入"menu"即可進入藍色的 Cobbler 安裝界面,選擇安裝項,自動完成系統安裝。

    10、重裝系統
    CentOS 5.5默認的Repository里找不到koan,先安裝rpmforce這個Repository
    cd /opt
    wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
    rpm -ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpm

    #在要重裝的機器安裝koan?
    yum -y install koan?

    #查看cobbler服務器有哪些安裝盤?
    koan --list-profiles --server=192.168.9.230

    #選擇要重裝的系統并重啟?
    koan --replace-self --server=192.168.9.230 --profile=kerryOS-1.0-i386
    reboot?

    11、服務控制腳本
    vi /etc/init.d/cobbler_all

  • #!/bin/sh ?
  • ?
  • case?$1?in ?
  • ????????start) ?
  • ???????????????/etc/init.d/httpd?start ?
  • ???????????????/etc/init.d/xinetd?start? ?
  • ???????????????/etc/init.d/dhcpd?start ?
  • ???????????????/etc/init.d/cobblerd?start ?
  • ????????????????;; ?
  • ????????stop) ?
  • ???????????????/etc/init.d/httpd?stop ?
  • ???????????????/etc/init.d/xinetd?stop? ?
  • ???????????????/etc/init.d/dhcpd?stop ?
  • ???????????????/etc/init.d/cobblerd?stop ?
  • ????????????????;; ?
  • ????????status) ?
  • ????????????????/etc/init.d/httpd?status ?
  • ????????????????/etc/init.d/xinetd?status? ?
  • ????????????????/etc/init.d/dhcpd?status ?
  • ????????????????/etc/init.d/cobblerd?status ?
  • ????????????????;;????? ?
  • ?????????sync) ?
  • ????????????????cobbler?sync ?
  • ????????????????;;?????????????????????????? ?
  • ????????*) ?
  • ????????????????echo?"Input?error,please?in?put?'start|stop|status|sync'!";? ?
  • ????????????????exit?2>&1?>/dev/null?& ?
  • ????????????????;;? ?
  • ????????esac?
  • chmod +x /etc/init.d/cobbler_all

    /etc/init.d/cobbler_all? start|stop|startus|sync

    本文出自 “聆聽未來” 博客,請務必保留此出處http://kerry.blog.51cto.com/172631/648430

    轉載于:https://blog.51cto.com/navyaijm/809429

    總結

    以上是生活随笔為你收集整理的利用Cobbler批量布署CentOS的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。