
使用 IPython 真的很让人着迷,我决定把家里的 iMac 也安装上 IPython 以便于我进一步的学习。在 Mac OS X 下安装 IPython 则是件很简单的事,使用 easy_install 命令即可。值得说明的是,由于 Mac OS X Snow Leopard 更改了 GNU Lisence,所以在 Mac OS X 下安装 IPython 还单独需要 readline 功能,不过在 setuptools 工具面前一切都那么简单。直接在 Mac 的命令行下执行如下命令即可,具体过程如下:
… …
上周利用一周的时间学习了《A Byte of Python》,基本掌握了 Python 语言,但我作为一名系统工程师,基本告别了令人讨厌的编码工作,所以学习 Python 的主要原因除了爱好,就是想用它进行系统管理,所以我又开始读《Python for Unix and Linux System Administration》这本书,我开始尝试用 Python 来进行系统配置。工欲善其事,必先利其器!使用 Python 进行系统管理,当然首推 IPython,IPython 是一种“高级交互式Python”, 除了包含内置的交互解释器的功能(当然这个用起来感觉还是不一样地)以外还提供了一组灰常灰常有用的工具。Fernando Pérez 是 iPython 的创建者,他通过阅读《IPP and LazyPython》产生了灵感,现在他是 IPython 对象的核心开发人。在 Fernando 看来,IPython 是一种能够解决问题的高度可配置的工具。
下面我来介绍一下在 RHEL 5.5 下如何安装 Python 和 IPython。我的 RHEL 5.5 64bit 预装的是 Python 2.4.3,版本比较老,而 iPython 0.11 要求 Python 的版本至少是2.6。好在可以在一个系统上安装多个版本的 Python,前提是不要安装在同一个目录中,具体的安装配置过程如下:
- 使用 yum 安装 Python 的依赖包。
- 编译安装 Python 程序包。
- 创建软连接
- 如果运行上一步创建的软连接报函数库没有加载的错误,请配置 Python 函数库:
- 安装 IPython 程序包。
- 大功告成!
在公司的监控服务器上运行 yum 命令安装软件一直不成功,报错的内容是 “Segmentation fault(段错误)”,上网搜了搜,基本都是一样的解决方案(1.yum clean all 2.修改源 3.修改 yum.conf),照此执行,但并不能解决我的问题,有点绝望,但老天不负有心人,我终于找到了这篇帖子。
问题的描述如下:
Summary:
0004702: yum fails with segfault after source zlib upgrade
Description:
Some apps require the latest version of zlib (1.2.5)
After installation from source yum segfaults. (took me ages to figure it out)
Solution, rm -rf /usr/lib/libz.* & reinstall zlib-1.2.3.
Affects all CentOS 4.* and RHEL 4.* versions.
Additional Information:
[root@SirVic ~]# yum update
Setting up Update Process
Setting up repositories
Segmentation fault
last lines of strace :
_llseek(6, 0, [0], SEEK_CUR) = 0
read(6, " read(6, "", 4346) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
最近我在利用红帽的 RHCS 搭建 Oracle HA 环境的时候,又遇到了共享存储的多路径问题,上次遇到的产品是 IBM DS4700,而这次的产品是 HP MSA2312fc。IBM 产品的多路径解决方案使用的是重新编译内核,而 HP 的存储产品的解决方案则更标准化一些,主要利用 Red Hat 的 DM-Multipath 的特性来配置解决。咱们直入主题,具体的解决方案步骤如下:
- 确认 RHEL 系统中是否安装了 device-mapper-multipath 软件。如果没有安装,请挂载 RHEL 5.5 的光盘镜像,自行安装。我在实践中 device-mapper-multipath 已经安装成功。
- 下载 HPDMmultipath 软件。
- 解压安装 HPDMmultipath 软件。
- 针对具体的 HP 存储型号进行 DM-multipath 相关配置,具体操作如下:
- 配置 multipathd 服务,重启系统。
- 建立链路,查看链路状况。
- 再次编辑 /etc/multipath.conf 配置文件,把 multipath 这个段前的 # 号去掉,然后将 wwid 后面的 id 填写为前面 multipath -ll 命令输出的 id ,并将 alias 改为 mpath0。
- 重启 multipathd 服务查看是否配置成功。如果 /dev/mapper 目录下有 mpath0 设备文件则表示上述配置成功。
- … …
普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系。而到了有光纤组成的SAN环境,由于主机和存储通过了光纤交换机连接,这样的话,就构成了多对多的关系。也就是说,主机到存储可以有多条路径可以选择。主机到存储之间的 I/O 由多条路径可以选择,如下图:

根据上图所示,每个主机到所对应的存储可以经过几条不同的路径,如果是同时使用的话,I/O 流量如何分配?其中一条路径坏掉了,如何处理?还有在操作系统的角度来看,每条路径,操作系统会认为是一个实际存在的物理盘,但实际上只是通向同一个物理盘的不同路径而已,这样是在使用的时候,就给用户带来了困惑。多路径软件就是为了解决上面的问题应运而生的。多路径的主要功能就是和存储设备一起配合实现如下功能:
- 故障的切换和恢复
- I/O 流量的负载均衡
- 磁盘的虚拟化
由于多路径软件是需要和存储在一起配合使用的,不同的厂商基于不同的操作系统,都提供了不同的版本。并且有的厂商,软件和硬件也不是一起卖的,如果要使用多路径软件的话,可能还需要向厂商购买 License 才行。比如EMC公司基于 Linux 下的多路径软件,就需要单独的购买 License。好在, RedHat 和 Suse 的2.6的内核中都自带了免费的多路径软件包,并且可以免费使用,同时也是一个比较通用的包,可以支持大多数存储厂商的设备,即使是一些不是出名的厂商,通过对配置文件进行稍作修改,也是可以支持并运行的很好的。但是,RedHat 自带的多路径软件包配置起来比较复杂一些,由于公司采购的是 IBM DS4700,所以我们采用了一种更简单便捷的方法来解决多路径问题。如果对如何配置 RedHat 自带的 multipath 多路径包感兴趣,请参考这篇 文章。下面我来具体介绍一下如何在 RHEL 5.5 下解决 IBM DS4700 的多路径问题:
在 RHEL 5.5 下编译安装完 Apache 之后(不是通过软件包安装),默认是不会添加到服务和自启动的,需要工程师手动修改,具体步骤如下:
[root@pubservicedb ~]# cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd
[root@pubservicedb ~]# vi /etc/rc.d/init.d/httpd#!/bin/sh
# chkconfig: 2345 85 15
# description: Apache Web Server[root@pubservicedb ~]# chkconfig –add httpd
[root@pubservicedb ~]# chkconfig httpd on
[root@pubservicedb ~]# chkconfig httpd –list
httpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
[root@pubservicedb ~]# service httpd status
……
[root@pubservicedb ~]# service httpd restart
httpd: Could not reliably determine the server’s fully qualified domain name, using 10.10.6.201 for ServerName
[root@pubservicedb ~]#
通过上面的配置操作,就可以在命令行下使用“service httpd start”和“service httpd stop” 来启动和停止 Apache 了,同时 Apache 也会随系统一起启动。

最近一直把公司的 Cacti 监控系统的日志记录等级设定在 Debug 级,这两天发现日志文件(cacti.log)的容量增长的太快了,由于近期一直在用日志文件排查错误,所以在不能改变日志记录等级的情况下,我只好选用 logrotate 来将 Cacti 的日志文件进行轮转替换,这样保证了不但日志文件的完整性,而且对旧日志进行了压缩也减小了硬盘容量的负担。具体的操作如下:
1. 安装 logrotate 组件,一般的 Linux 系统都会安装 logrotate 组件,如果没有安装,使用如下命令安装即可:
yum install logrotate*
2. 创建 cacti.conf:vi /etc/logrotate.d/cacti 并添加如下内容:
/usr/local/apache/htdocs/cacti/log/cacti.log {
# keep two weeks of versions online
rotate 14
# rotate the log each day
daily
# compress the logs
compress
# create new file with the correct user/group attributes
create 644 cacti cacti
# add a YYYYMMDD extension instead of a number
dateext
}
请确保 cacti.log 文件的路径以及该文件的所有者和相应权限。
3. 运行 logrotate,命令如下:
logrotate -f /etc/logrotate.conf

最近工作中遇到这么个事,由于公司有几个服务是跑在 Windows Server 2008 的机器上,所以有必要用之前配置的 Cacti 监控下 Windows Server 2008,但是我在配置的时候发现 Cacti 自带的两个 Windows 相关的模板都不能实现对 Windows Server 2008 的监控。没办法我只有自己去 Cacti 的论坛上去找办法,费了九牛二虎的力气终于让我在这个 主题 下找到了解决方案。其详细的配置流程如下:
- 在 Windows 端安装 Windows 的 SNMP 服务,安装并配置。有疑问的朋友可以参考这篇 文章。
- 在 Windows 端安装 SNMP Informant,图形化的安装界面很简单,这里 提供 SNMP Informant 的下载
- 下载最新版本的监控模板。
- 在监控服务器端将 snmp_informant_*.xml 的文件放入 cacti/resource/snmp_queries 文件夹中,注意修改相应的文件所有者及权限。
- 在 Web 浏览器中登录 Cacti,导入 cacti_data_query_w32_*.xml 文件。
- 创建 Windows Server 2008 主机模板。
- 添加监控主机并应用新创建的 Windows Server 2008 主机模板。
- 大功告成!~
Categories
- 信息世界 | IT (85)
- Certification (1)
- Database (15)
- Google (10)
- Hardware (2)
- J2EE (4)
- Network (17)
- OS (17)
- Programming (11)
- Virtualization (1)
- Webmaster (5)
- 数码先锋 | Digital (15)
- 时事评论 | Event (5)
- 时光飞驰 | News (2)
- 杂七杂八 | Mix (2)
- 流金岁月 | Life (9)
- 游戏志 | Game (13)
- 看电影 | Movie (10)
- 红魔拥趸 | ManUtd (5)
- 读书频道 | Reading (1)
- 音乐无限 | Music (5)
- 信息世界 | IT (85)
Latest Comments
- Robin 发表在《查看已经安装的 Perl 模块》
- xiaochuanjiejie 发表在《查看已经安装的 Perl 模块》
- 马继军 发表在《About Me》
- Robin 发表在《在 Cacti 下实现对 Tomcat 的监控》
- 酱油 发表在《在 Cacti 下实现对 Tomcat 的监控》
- dream 发表在《理解 pkg-config 工具》
Twitter
- Chenjunlu’s Blog: 在 MIUI 系统下开启 App2SD+ 功能 http://t.co/t6F5HiRm 2012-02-15
- Chenjunlu’s Blog: 虚拟化 hypervisor 的类型对比 http://t.co/T7hvle03 2012-01-31
- I'm at 公主岭 (Siping) http://t.co/mpEU711u 2012-01-27
- 好像又没动静了。 2012-01-09
- I'm at 宜家家居 IKEA (Dalian) http://t.co/MJWDZt3g 2012-01-07
- I'm at 中山广场 Zhongshan Circus (大连) http://t.co/MyBQWjOF 2012-01-04
- I'm at Changchun Railway Station 长春站 (长白路5号, 长春市) http://t.co/sdcmprTJ 2012-01-03
- I'm at 万达广场 (Shenyang) http://t.co/EfAqBrNn 2011-12-31
- Chenjunlu’s Blog: Liferay Portal 集群配置指南 http://t.co/ANxjlSID 2011-12-26
- I'm at 壹品星海 (Dalian, China) http://t.co/knlcVidX 2011-12-14
- I'm at 五殼日本料理 (Dalian) http://t.co/Zocw45vI 2011-12-10
- I just became the mayor of 五殼日本料理 on @foursquare! http://t.co/rfHazBzj 2011-12-10
- I'm at 壹品星海 (Dalian, China) http://t.co/hQH7xCNa 2011-12-10
- I'm at 奥林匹克广场 Olympics Square (五四路, 大连) http://t.co/BWEGsBpt 2011-12-02
- Chenjunlu’s Blog: Kindle Keyboard 上手玩 http://t.co/hhN6HoN4 2011-12-02
豆瓣生活
Foursquare Checkins
标签
Android Apache Apple Cacti CPAN Digital Signature England Excel VBA Facebook Froyo Google Gravatar HA HTC Desire httpd https IBM iPad J2EE Java JBoss Konami Linux Man Utd Oracle Perl PES2011 Playstation Premier League PSP Red Hat RHCS RHEL RMAN Rooney RSA Secure Shell SNMP South Africa 2010 ssh Windows World Cup 人生 桌游 爱电影
