
Oracle 在 2011 年 7 月份收购了 Ksplice。使用了 Ksplice 的 Linux 系统,为 Kernel 打补丁无需重启动,做系统维护的朋友应该明白这是一个杀手级特性。现在该产品已经合并到 Oracle Linux 中。
对于企业级 Linux,Oracle 只对 Oracle Linux Premier Support 客户提供 Ksplice 服务。毫无疑问,这个产品从一定程度上大大提升生产环境(尤其是数据库服务器)的安全性、可靠性和可用性,对购买了 Oracle 相关服务的用户来说,无疑这是个好产品,但对于 Linux 生态来说可能是灾难,尤其是 Red Hat,市场或许将进一步被 Oracle 蚕食,短时间内不太可能找到替代性的产品。Oracle 已经成为 Linux 操作系统市场上举足轻重的玩家,但是不交钱,用户没办法和 Oracle 玩儿。因为我未来的工作的一部分是为做 Oracle Linux Support Sales 的同事提供技术支持,所以了解 Oracle Ksplice 的原理十分有必要。
最近我在利用红帽的 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 设备文件则表示上述配置成功。
- … …
最近的工作是在 RHEL 5.5 下实现 Oracle HA(双机热备),由于之前在这两台试验机上进行了 Oracle RAC 的配置演练,所以在进行 Oracle HA 实验前只能先把已经安装的 Oracle 数据库软件完全卸载。我 Google 了一番,最后在 Oracle 的官方论坛找了一篇文章,按照里面的方法一步一步的操作,成功在试验机上卸载了 Oracle 10g,具体操作流程如下:
- 关闭数据库:
[oracle@rac1 ~]$ sqlplus /nolog
SQL> connect / as sysdba
SQL> shutdown immediate
SQL> exit - 停止 Listener:
[oracle@rac1 ~]$ lsnrctl stop
- 依次在 Shell 下运行如下命令:
- $ORACLE_HOME/bin/localconfig delete
- rm -rf $ORACLE_HOME
- rm -rf $ORACLE_BASE
- rm -rf /etc/oraInst.loc /etc/oratab
- rm -rf /etc/oracle
- rm -rf /etc/inittab.cssd
- rm -rf /usr/local/bin/coraenv
- rm -rf /usr/local/bin/dbhome
- rm -rf /usr/local/bin/oraenv
- rm -rf /tmp/.oracle
- rm -rf /var/tmp/.oracle
- 删除相关用户和用户组:
[root@rac1 ~]# userdel oracle
[root@rac1 ~]# groupdel dba
[root@rac1 ~]# groupdel oinstall
普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系。而到了有光纤组成的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
上周的主要工作就是在公司的一台戴尔服务器上安装配置 Cacti,从而实现对公司所有的服务器及其应用的实时监控,在安装配置 Cacti 的过程中,我遇到了很多大大小小的问题,总之这些错误让我受益匪浅,所以我决定把安装配置的详细过程都写出来,希望能帮助到跟我有同样任务的朋友们,让他们少走些弯路,我在安装配置过程中遇到的错误,我也会一一提出并给出解决方案。需要说明的是配置安装 Cacti 的服务器是64位,所以一些 rpm 安装包我选用的都是 x86_64 安装包。所有下载的安装包,我都放在了服务器上的“/root/monitor”目录下。 现在,让我们开始 Cacti 的配置旅程吧!

0. 介绍
本文将首先介绍为什么要将你的C源代码分离成几个合理的独立档案,什么时候需要分,怎么才能分的好。然后将会告诉你 GNU Make 怎样使你的编译和连接步骤自动化。对于其它 Make 工具的用户来说,虽然在用其它类似工具时要做适当的调整,本文的内容仍然是非常有用的。如果对你自己的编程工具有怀疑,可以实际的试一试,但请先阅读用户手册。
Categories
- 信息世界 | IT (95)
- Certification (1)
- Cloud Computing (1)
- Database (16)
- Google (10)
- Hardware (2)
- J2EE (4)
- Network (19)
- OS (18)
- Programming (11)
- Virtualization (1)
- Webmaster (11)
- 数码先锋 | Digital (17)
- 时事评论 | Event (5)
- 时光飞驰 | News (2)
- 杂七杂八 | Mix (2)
- 流金岁月 | Life (8)
- 游戏志 | Game (13)
- 看电影 | Movie (10)
- 红魔拥趸 | ManUtd (5)
- 读书频道 | Reading (1)
- 音乐无限 | Music (4)
- 信息世界 | IT (95)
Twitter
- I'm at 大连国美电器胜利新活馆 (大连市, 辽宁省) http://t.co/f7pxcNfg 18 小时前
- I'm at Xinghai Square | 星海广场 (Dalian, China) http://t.co/gKNqq2qV 24 小时前
- I'm at 壹品星海 (Dalian, China) http://t.co/o7SCCIrG 24 小时前
- 晚上和以前的同事喝了点酒,准备睡觉了,希望明天能把公司的电脑修好,没有电脑办公还真不方便,不知道明天印度那边有没有培训的消息。 2012-05-16
- 非常值得读的一本书! http://t.co/lV8ulDnV 2012-05-16
- I'm at 大连软件园15号楼 (大连市, 辽宁省) http://t.co/03DYYUKY 2012-05-16
- @yamiugly 好奇你做的是什么工作? 2012-05-16
- I'm at 壹品星海 (Dalian, China) http://t.co/frkQvlIn 2012-05-15
- I just ousted @fndhrt as the mayor of 大连软件园15号楼 on @foursquare! http://t.co/yn7fSLY6 2012-05-15
- I'm at 大连软件园15号楼 (大连市, 辽宁省) http://t.co/KH2m2Z4R 2012-05-15
- @terrysosi_chan 小日子过的太充实了! 2012-05-15
- RT @GossipSama: 玩diablo 2的时候我23岁,玩diablo 3的时候我34岁。暴雪是要等我不再2了才出3是么?那是不是要45岁才玩到4? 2012-05-15
- I'm at 中山广场 Zhongshan Circus (大连, 中国) http://t.co/fiD6vqHS 2012-05-14
- 英超还真他妈的好看。昨晚90分钟的比赛,跟坐过山车一样,如果不看直播,是体会不到这种刺激的,呵呵,英超第20年,今年的冠军真的很有戏剧性,恭喜曼城,明年的曼联面对的局势更难,曼城还会加大投入的,看看曼城现在的阵容,明年再买几个强援,大耳朵杯指日可待! 2012-05-14
- @Fatal1tyV 怎么弄? 2012-05-14
Latest Comments
Foursquare Checkins
标签
