成都网站建设设计

将想法与焦点和您一起共享

Cobbler+puppet+nagios自动化运维(1)

从操作系统的自动化部署、到系统内的账户、软件、服务、文件、任务等资源的自动化部署管理,用nagios进行自动化监控报警。全过程加起来就可以说是半自动化运维了。自动化运维最基本的还是标准化,流程化。首先这些要做好。

10年积累的成都做网站、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先建设网站后付款的网站建设流程,更有同仁免费网站建设让你可以放心的选择与我们合作。

本文从操作系统的自动化部署开始

环境:Centos 5.9 -X86_64,最小化安装。

参考https://github.com/cobbler/cobbler/wiki

1.安装cobbler。

默认yum源是没有cobbler的,先安装epel5

Epel5源很多以搜狐的为例

rpm -ivh http://mirrors.sohu.com/fedora-epel/5/x86_64/epel-release-5-4.noarch.rpm

然后安装

yum -y install cobbler httpd rsynctftp-server xinetd dhcp python-ctypes cman pykickstart cobbler-web

cobbler-web是图形化的管理,可以不装。

2安装完后 cobbler的所有配置文件模板文件都在/etc/cobbler下,修改/etc/cobbler/settings

sed -i 's/pxe_just_once: 0/pxe_just_once:1/g' /etc/cobbler/settings #设置只PXE启动1次

sed -i 's/server: 127.0.0.1/server:192.168.xx.20/g' /etc/cobbler/settings#设置cobbler监听地址

sed -i 's/manage_dhcp: 0/manage_dhcp: 1/g'/etc/cobbler/settings  #管理DhCP

sed -i 's/manage_rsync: 0/manage_rsync:1/g' /etc/cobbler/settings #管理rsync

sed -i '/disable/c\\tdisable\t\t\t= no'/etc/xinetd.d/tftp   #启用tftp

sed -i 's/next_server:127.0.0.1/next_server: 192.168.xx.20/g' /etc/cobbler/settings设置tftp地址

sed -i 's/\=\ yes/\=\ no/g' /etc/xinetd.d/rsync #启用rsync

sed -i 's@#LoadModule@LoadModule@g' /etc/httpd/conf.d/wsgi.conf#在apache中启用wsgi模块

执行 openssl passwd -1 -salt 'this is random chart' 'skybug'

得到 $1$random-p$JneCeDar3mzdRxTjLKati0

将加密后的密码拷贝到settings

vim /etc/cobbler/settings

grep default_password_crypted  /etc/cobbler/settings#修改为如下配置

default_password_crypted:"$1$random-p$JneCeDar3mzdRxTjLKati0

配置dhcp模板 /etc/cobbler/dhcp_templates

按照自己的需要把如下部分修改其他不变

subnet 192.168.48.0 netmask 255.255.252.0 {

   option routers            192.168.xx.254;

   option domain-name-servers 192.168.xx.20;

   option subnet-mask        255.255.252.0;

   range dynamic-bootp        192.168.49.30 192.168.49.254;

   filename                  "/pxelinux.0";

   default-lease-time         21600;

   max-lease-time             43200;

   next-server               $next_server;

}

,Bind如果需要用cobbler管理的话也在/etc/cobbler/目录下有named的模板和zone的模板。由于实际环境中DNS有诸多其他要求,这里DNS没有用cobbler管理,直接手动配置

named.conf和zone文件。

注册服务启动服务

/sbin/chkconfig httpd on

/sbin/chkconfig dhcpd on

/sbin/chkconfig xinetd on

/sbin/chkconfig tftp on

/sbin/chkconfig cobblerd on

/sbin/service httpd start

/sbin/service dhcpd start

/sbin/service xinetd start

/sbin/service cobblerd start

下载引导菜单

cobbler get-loaders

检查cobbler配置

Cobbler check

检查结果中如果有不合理配置或缺少组件会直接提示按提示完成。其中防火墙需要打开如下端口

A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -jACCEPT

# DNS - TCP/UDP

-A INPUT -m state --state NEW -m udp -p udp --dport 53 -jACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -jACCEPT

# DHCP

-A INPUT -m state --state NEW -m udp -p udp --dport 68 -jACCEPT

# TFTP - TCP/UDP

-A INPUT -m state --state NEW -m tcp -p tcp --dport 69 -jACCEPT

-A INPUT -m state --state NEW -m udp -p udp --dport 69 -jACCEPT

# NTP

-A INPUT -m state --state NEW -m udp -p udp --dport 123-j ACCEPT

# HTTP/HTTPS

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -jACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 443-j ACCEPT

# Syslog for cobbler

-A INPUT -m state --state NEW -m udp -p udp --dport 25150-j ACCEPT

# Koan XMLRPC ports

-A INPUT -m state --state NEW -m tcp -p tcp --dport 25151-j ACCEPT

Cobbler修改配置后需要同步

cobbler sync

安装完成。

Distro  安装源

Profile  配置组

System主机配置

Repo    yum源

导入安装源。以ISO镜像为例

cp CentOS-5.9-x86_64-bin-DVD-2of2.iso/var/tmp

挂载iso

mount -o loop /www/os/CentOS-5.9-x86_64-bin-DVD-2of2.iso/mnt/centos59-86_64

导入

cobbler import --path=/mnt/centos59-86_64--name=centos5.9 --arch=x86_64

cobbler distro list

可以看到安装源

[root@ns ~]# cobbler distro list

  Centos6.0-x86_64

 centos5.9--x86_64

centos5.5--x86_64

创建配置组

/var/lib/cobbler/kickstarts/有默认的sample.ks

复制后按照不通的安装需求修改为自己的ks文件

cobbler profile add --name=webserver--distro=centos5.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/webserver.ks

cobbler profile add --name=solr--distro=centos5.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/solr.ks

………

Profile需要制定distro即 profile里要配置从哪个安装源安装,安装些什么怎么装等等(ks里配置)

注意:这里的sample.ks修改而来的ks文件不是system-config-kickstart配置出来的ks文件,这个是cobbler的ks文件模板,cobbler需要用这个ks文件去配合system生成每个主机自己的ks文件,ks文件生成后查看地址

http://serverip/ cblr/svc/op/ks/system/systemname

那么众多的服务器用这个ks安装后机器名 IP地址 DNS等等这些都不一样怎么办?

用 system解决

创建主机配置system

cobbler system add --name=node1 --mac= 00:50:56:b7:00:57--ip-address=192.168.xx.1 --subnet=255.255.252.0 --gateway=192.168xx.254--interface=eth0 --static=1 --profile=vip_no_sql --dns-name=node1.vipcloud--hostname=node1.vipcloud --netboot-enabled=true--name-servers="192.168.xx.20 8.8.8.8"

就是用mac地址来确定这个机器是谁,name要唯一 mac也要唯一。这里可以配置这个机器使用哪个profile。

如果有2个网卡怎么办?

cobbler system edit --name=node1--ip-address=10.2.2.1 --subnet=255.255.255.0 --interface=eth2 --static=1

这就把第二个网卡也设置了。

如果需要给网卡添加静态路由怎么办?(比如OPEN×××的地址)

cobbler system edit --name=node1 --interface=eth2--static-routes=”192.168.99.0/24:192.168.50.162”  --netboot-enabled=true

至此,只要把node1机器开机,确保能够PXE启动,则就能顺利的进行系统安装了。一次安装1000个?

那就写个sh把system批量加好吧

cobbler status

可以看到安装的进度。(哪些在装,哪些装好了而已,多的看不到)

初次接触cobbler暂时就这些。https://github.com/cobbler/cobbler/wiki有更详细的官方文档等待去挖掘


网页名称:Cobbler+puppet+nagios自动化运维(1)
新闻来源:http://chengdu.cdxwcx.cn/article/jdddpc.html