本人于2009年12月迁移至独立BLOG。
1、欢迎光临运维进行时,希望认识更多志向相同的朋友!
2、本站部分资源来源于网络,如有侵权请及时与我联系!
3、强烈建议使用Firefox、Opera、Safari及IE7以上的浏览器访问,以获得最佳浏览质量!
4、请勿发表与中华人民共和国法律、法规相抵触的言论,谢谢合作!
5、本人发布的文章与评论内容仅代表本人观点。
1、欢迎光临运维进行时,希望认识更多志向相同的朋友!
2、本站部分资源来源于网络,如有侵权请及时与我联系!
3、强烈建议使用Firefox、Opera、Safari及IE7以上的浏览器访问,以获得最佳浏览质量!
4、请勿发表与中华人民共和国法律、法规相抵触的言论,谢谢合作!
5、本人发布的文章与评论内容仅代表本人观点。
Symbolic是一个开源的企业平台,旨在建立、配置和管理您的庞大分布式数据中心为目的开源框架,代表了目前最先进的数据中心解决方案的集中管理平台。
特征
1、属于RedHat认证协议栈的应用
2、具于func后端应用
3、支持 RHEL、Centos及Fedora
4、先进的拖放标签管理(Ajax)
5、提供Cobbler支持
6、灵活管理操作用户、主机
7、组和权限管理标记
8、先进的基于Web的Ajax接口
9、支持LDAP,Kerberos和本地认证
10、符合JEE标准
11、完全可定制的业务
12、灵活的管理用户和主机
13、安全的SSL连接
14、虚拟机管理
15、可定制的插件支持
16、执行各种语言编写的外部脚本(Python、Groovy、bashshell)
平台截图


特征
1、属于RedHat认证协议栈的应用
2、具于func后端应用
3、支持 RHEL、Centos及Fedora
4、先进的拖放标签管理(Ajax)
5、提供Cobbler支持
6、灵活管理操作用户、主机
7、组和权限管理标记
8、先进的基于Web的Ajax接口
9、支持LDAP,Kerberos和本地认证
10、符合JEE标准
11、完全可定制的业务
12、灵活的管理用户和主机
13、安全的SSL连接
14、虚拟机管理
15、可定制的插件支持
16、执行各种语言编写的外部脚本(Python、Groovy、bashshell)
平台截图


关于Func非Python API实现远程调用,目的是给第三方工具提供调用及返回接口。Func使用func-transmit命令来实现,支持YAML 1.0 与 JSON,使用上非常简单。例子如下:
YAML格式
#vi run.yaml
JSON格式
#vi run.json
参数说明
clients 目标主机,"*"代码所有被控主机。
async 是否异步,是一个bool值,True为使用异步,False则不使用。
nforks 启用的线程数,用数字表示。
module 模块名称,如command。
method 方法名称,如command模块下的run方法。
parameters 参数,如"/usr/bin/tail -100 /var/log/messages"。
YAML格式
#vi run.yaml
JSON格式
#vi run.json
参数说明
clients 目标主机,"*"代码所有被控主机。
async 是否异步,是一个bool值,True为使用异步,False则不使用。
nforks 启用的线程数,用数字表示。
module 模块名称,如command。
method 方法名称,如command模块下的run方法。
parameters 参数,如"/usr/bin/tail -100 /var/log/messages"。
Func是目前redhat系列平台最棒的集群管理工具(个人看法),发现越来越多的人已经开始在使用,从接触的大部分人都会说自带的模块已经够用了。其实在我们的日常维护当中,尤其是大规模的服务器集群、满天飞的业务系统等等。此时Func自带的模块已经远远不能满足我们的需求,现介绍Func是如何实现一个简单的自定义模块的。
[方法一]
通过CommandModule来实现,只需修改要运行命令参数就可以了。
优点:简单、部署方便;
缺点:不够灵活,扩展性弱;
适合场景:中小型集群;
命令方式:
python api方式:
[方法一]
通过CommandModule来实现,只需修改要运行命令参数就可以了。
优点:简单、部署方便;
缺点:不够灵活,扩展性弱;
适合场景:中小型集群;
命令方式:
python api方式:
Func简介
Func是由红帽子公司以Fedora平台统一网络控制器 Func(Fedora Unified Network Controller https://fedorahosted.org/func),目的是为了解决这一系列统一管理监控问题而设计开发的系统管理基础框架。 它是一个能有效的简化我们多服务器系统管理工作的工具,它很容易学习、很容易使用、也很容易被扩展,它功能强大而我们只需要非常非常少的配置和维护。
Func分为master及slave两部分,master为主控端,slave为被控端。以下为两部分的安装配置说明
FUNC模块学习笔记
Func是由红帽子公司以Fedora平台统一网络控制器 Func(Fedora Unified Network Controller https://fedorahosted.org/func),目的是为了解决这一系列统一管理监控问题而设计开发的系统管理基础框架。 它是一个能有效的简化我们多服务器系统管理工作的工具,它很容易学习、很容易使用、也很容易被扩展,它功能强大而我们只需要非常非常少的配置和维护。
Func分为master及slave两部分,master为主控端,slave为被控端。以下为两部分的安装配置说明
FUNC模块学习笔记
* BridgeModule -- Allows for simple network bridge management
-------------------------------------------------------------
功能:操作网桥
方法:
list() Returns a dictionary containing the bridges and their connected interfaces.
add_bridge(brname) Creates a new bridge named brname.
add_interface(brname, ifname) Adds interface ifname to bridge brname.
delete_bridge(brname) Deletes bridge brname.
delete_interface(brname, ifname) Removes interface ifname from bridge brname.
add_promisc_bridge(brname, ifname) Creates a new bridge brname, attaches interface ifname to it and sets the MAC address of the connected interface to FE:FF:FF:FF:FF:FF, so traffic can flow freely through the bridge. This is required for use with Xen.
up_bridge(brname) Marks bridge brname and all it's connected interfaces as up.
down_bridge(brname) Marks bridge brname and all it's connected interfaces as down
-------------------------------------------------------------
-------------------------------------------------------------
功能:操作网桥
方法:
list() Returns a dictionary containing the bridges and their connected interfaces.
add_bridge(brname) Creates a new bridge named brname.
add_interface(brname, ifname) Adds interface ifname to bridge brname.
delete_bridge(brname) Deletes bridge brname.
delete_interface(brname, ifname) Removes interface ifname from bridge brname.
add_promisc_bridge(brname, ifname) Creates a new bridge brname, attaches interface ifname to it and sets the MAC address of the connected interface to FE:FF:FF:FF:FF:FF, so traffic can flow freely through the bridge. This is required for use with Xen.
up_bridge(brname) Marks bridge brname and all it's connected interfaces as up.
down_bridge(brname) Marks bridge brname and all it's connected interfaces as down
-------------------------------------------------------------
一、故障现象
1、在客户端安装好func及certmaster,配好certmaster参数。
2、service funcd start,端口及进程都起来了。
3、在certmaster server 运行certmaster-ca --list死活看不到客户端的主机名。
排查过程
1、将certmaster的主机名换成IP,无效。
2、更新客户端的func及certmaster版本,无效。
3、运行/usr/bin/certmaster-request,提示:socket.error: (111, 'Connection refused'),将certmaster修改成localhost就正常了。原因可以就在这里,因为certmaster是双向的,发现在/etc/hosts中有主机名指向127.0.0.1,此时连接不上certmaster server了。将/etc/hosts中的主机名删除,再用/usr/bin/certmaster-request来测试连接,成功!!在certmaster也能看到主机了,大功告成。
二、故障现象
#/usr/local/bin/certmaster-request 被控端证书请求
certificate does not match key (run certmaster-ca --clean first?)
排查过程
1、删除/etc/pki/certmaster/证书文件再试,无效
2、分别重启certmaster、funcd服务,无效
3、删除服务器证书文件.cert后再请求正常。
原因为主机名称发生变更时服务器端certmaster-ca -c "servername"没有成功删除.cert文件导致。
二、后续问题
1、ImportError: No module named dbm (NetSeek提供)
解决:
yum -y install gdbm gdbm-devel
1、在客户端安装好func及certmaster,配好certmaster参数。
2、service funcd start,端口及进程都起来了。
3、在certmaster server 运行certmaster-ca --list死活看不到客户端的主机名。
排查过程
1、将certmaster的主机名换成IP,无效。
2、更新客户端的func及certmaster版本,无效。
3、运行/usr/bin/certmaster-request,提示:socket.error: (111, 'Connection refused'),将certmaster修改成localhost就正常了。原因可以就在这里,因为certmaster是双向的,发现在/etc/hosts中有主机名指向127.0.0.1,此时连接不上certmaster server了。将/etc/hosts中的主机名删除,再用/usr/bin/certmaster-request来测试连接,成功!!在certmaster也能看到主机了,大功告成。
二、故障现象
#/usr/local/bin/certmaster-request 被控端证书请求
certificate does not match key (run certmaster-ca --clean first?)
排查过程
1、删除/etc/pki/certmaster/证书文件再试,无效
2、分别重启certmaster、funcd服务,无效
3、删除服务器证书文件.cert后再请求正常。
原因为主机名称发生变更时服务器端certmaster-ca -c "servername"没有成功删除.cert文件导致。
二、后续问题
1、ImportError: No module named dbm (NetSeek提供)
解决:
yum -y install gdbm gdbm-devel






















