IPMI 是 Intelligent Platform Management Interface (智能平台管理接口)的缩写。
IPMI 规格说明定义了一组可以被系统管理员用来监测和管理计算机系统的通用接口。
IPMI 独立运作于操作系统之外,并且允许管理员在没有操作系统或者系统管理软件存在的情况下远程管理计算机系统,甚至在系统关机的状态下也可以(但是系统需要接上电源)。
参考链接:
http://en.wikipedia.org/wiki/IPMI
http://en.wikipedia.org/wiki/Baseboard_Management_Controller
http://www.intel.com/design/servers/ipmi/
http://sourceforge.net/projects/openipmi/
http://sourceforge.net/projects/ipmitool/
http://sourceforge.net/projects/ipmiutil/
昨天由于晚上临时加班,没有来得及安装 GNOME,但也不是没有折腾 Gentoo,而是参照 LinuxSir 论坛中的安装 Gentoo 疑难解答先升级了一次基本系统:
emerge –sync
emerge -avuDN world
man emerge 可以看到 –sync 选项用来启动一次 Portage 树的更新,而更新所使用的 rsync.gentoo.org 镜像是之前安装过程中使用 mirrorselect 来进行选择和设定的。另外,这里还涉及到了为 rsync 设置代理的问题,man rsync 会告诉你设置 RSYNC_PROXY 环境变量即可,每次都 export 会比较麻烦,于是我就把它加到了 /etc/make.conf 中。
剩下的 -a, -v, -u, -D 和 -N 选项的具体意义看看 man emerge 也都一目了然了。最后的 world 是 2 大软件包集合之一,另一个是 system。
今天早上,什么文档都还没有看,就先直接依葫芦画瓢的来了个 emerge -avuDN gnome (事实证明这样是会出问题的),开始 GNOME 安装的漫漫长路,260+ 的包需要全新安装。
结果第一个问题出现了,在安装 gtk+ 时报错了,错误信息告诉我是因为 cairo [...]
昨天第一次尝试安装 Gentoo Linux 失败了,用的是其最新发布的 Gentoo 2008.0 LiveCD。用 LiveCD 启动电脑,进入 GUI 环境,用 Gentoo Linux Installer (GLI) 进行安装,貌似遇到了 Gentoo Bug 231037,install.log.failed 中的报错信息和 Bug 中的相同。失败的安装还弄乱了硬盘上的分区编号,原本挂载 Debian 根分区的 /dev/sda7 莫名变成了 /dev/sda5,导致从硬盘重启后遇到 GRUB Error 17,之后在 GRUB 菜单中手工修改了 root 和 kernel 的值,指向 /dev/sda5 才后再 boot,成功进入 Debian。最后还要记得进入系统之后编辑 /boot/grub/menu.lst 中对应的行。安装 Gentoo 失败之后向 Gentoo 中文发邮件求助,r0bertz 回复说 GLI 不是推荐的安装方法,应当按照手册用 stage3 一步一步地进行安装。
不甘心失败,今天继续实验。有了昨天的经验,今天的我至少已经不怕无法启动昨晚刚刚升级到 lenny 的 Debian 了。找到另外一个 [...]
December 11, 2008 – 23:23
stat() is a Unix system call that returns useful data about a file inode.
今天在看一个 strace 的输出时,看到下面的一行:
19:42:00.545797 stat64(”/cdctest/orahome”, {st_mode=S_IFDIR|0755, st_size=8192, …}) = 0
Google 之后发现 stat64 背后就是 stat() 系统调用,这里有详细的介绍。
于是一时手痒,想自己写一个简单的程序来实验一下,就在自己的 PC 机(跑的是 Debian “etch” 4.0r5)上动手。
首先是搭建编译环境:
# apt-get install gcc build-essential
然后coding如下:
?Download test_stat.c1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <stdio .h>
#include <stdlib .h>
#include <string .h>
#include <errno .h>
#include <sys /stat.h>
int main()
{
struct stat *buf;
const char *path = "/home/ftp/upload";
buf = [...]
November 29, 2008 – 13:01
alias
ar
cat
cp -p
diff
egrep
fvwm
ftp
gdb
ifconfig
ksh
make
man
mutt
nano
Perl
rsh
ssh
strace
svn
tail -f
tar
top
vim
VNC
vsftp
wget
xterm
November 24, 2008 – 23:07
《深入理解 Linux 内核(第三版)》官方书目链接:
http://www.oreilly.com.cn/book.php?bn=978-7-5083-5394-4
迟迟得不到更新的官方勘误表:
http://www.oreilly.com.cn/book.php?m=errata&bn=978-7-5083-5394-4
我已经不能忍受 O’reilly China 即奥莱利技术咨询(北京)有限公司对于勘误表的更新速度了,我提交的几个勘误至今都还没有得到确认和更新,索性在自己的 Blog 里写一个。
个人感觉第三版的翻译(或者归咎于校对)质量相对于第二版下降不是一点点,看来技术类书籍还是看英文原版才是王道。
废话少说,勘误开始:
49 页 第 3 段
原文“与高级电源管理(AMP)相关的3个段”,这里“高级电源管理”的英文缩写应该是 APM(Advanced Power Management)。
71 页 第 3 段
原文“IBM Thinkpnd”,Thinkpad 明显被拼错。
85 页 第 4 段
原文“Linux 使用轻量级进程(lightwetght process)对多线程应用程序提供更好的支持。”,lightweight 明显被拼错。
462 页 表 12-2:超级块对象的字段(续)
原文“struct list_head s_dirty 改进型索引节点的链表”,英文原文是”List of modified inodes”,应该翻译为”修改过的索引节点的链表“。
September 7, 2008 – 22:16
OCFS2 (Oracle Cluster File System 2)是由Oracle开发的通用集群文件系统,是一个以GPLv2许可发布的开放源代码项目。由于OCFS2是Cluster-aware的,所以很自然的可以作为RAC的存储的选择之一(其他的选择还有裸设备和ASM)。但是必须指出的是,Oracle home和datafile(还有redo log,archive log,control file,以及Clusterware的OCR和Voting Disks)不能放在同一个OCFS2 volume上。
最近尝试了一下将Oracle Clusterware 11gR1的OCR和VD放在OCFS2上,这里记录一下OCFS2的安装过程。
首先是确定所使用的Linux的发行版本(distribution),内核版本(version)和风格(flavor),处理器架构:
# cat /etc/redhat-release
Enterprise Linux Enterprise Linux AS release 4 (October Update 5)
# uname -r
2.6.9-67.0.4.0.2.ELsmp
# uname -p
i686
可以看到这里我使用的是Oracle Enterprise Linux 4u5(可以认为是等同于Red Hat Enterprise Linux 4u5),内核版本是2.6.9-67.0.4.0.2,内核风格是smp,处理器架构是i686(也就是x86)。
接下来按照上面的信息去下载相应的OCFS2和OCFS2 Tools(包括ocfs2-tools和ocfs2console)的RPM包。
# wget -c http://oss.oracle.com/projects/ocfs2/dist/files/RedHat/RHEL4/i386/1.2.9-1/2.6.9-67.0.4.EL/ocfs2-2.6.9-67.0.4.ELsmp-1.2.9-1.el4.i686.rpm
# wget -c http://oss.oracle.com/projects/ocfs2-tools/dist/files/RedHat/RHEL4/i386/1.2.7-1/ocfs2-tools-1.2.7-1.el4.i386.rpm
# wget -c http://oss.oracle.com/projects/ocfs2-tools/dist/files/RedHat/RHEL4/i386/1.2.7-1/ocfs2console-1.2.7-1.el4.i386.rpm
删除掉现有的老版本的OCFS2相关RPM包:
# rpm -qa | grep ocfs | xargs rpm -e
依次安装刚刚下载的3个RPM:
# [...]
使用
raw -qa
命令来查询当前已经存在的绑定。
Use the /etc/sysconfig/rawdevices file to define the set of raw device mappings automatically created during the system startup sequence.
在/etc/sysconfig/rawdevices中,注意裸设备对应的块设备如果是SATA或者iSCSI,则应该使用/dev/disk/by-id中的链接来进行指定。
如何确定裸设备对应的块设备?以裸设备/dev/raw/raw57为例:
# ls -l /dev/raw/raw57
crw-rw—- 1 root disk 162, 57 Jul 31 02:02 /dev/raw/raw57
# raw -qa | grep raw57
/dev/raw/raw57: bound to major 65, minor 233
# ls -l /dev | grep 65 | grep 233
brwxrwxrwx 1 root disk [...]