从操作系统的自动化部署、到系统内的账户、软件、服务、文件、任务等资源的自动化部署管理,用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有更详细的官方文档等待去挖掘