racktables 的使用感受

racktables 是什么,能做什么,可以看这里
先简单的说下安装,跟普通的 lamp 一个套路。PHP 常见的 extension 该安装的安装。接着开始正式安装 racktables。
途中遇到几个 "NOT PASS":
Multibyte string extension
JSON extension
BC Math extension

一个个安装上即可:
# yum install php-bcmath php-mbstring
# yum install gcc make php-devel php-pear
# pecl download json
# pear install json-1.2.1.tgz

# cat /etc/php.d/json.ini
extension=json.so

测试下:
# service httpd reload
# php -r 'var_dump(function_exists("json_encode"));'

还有几个是 "NOT PRESENT",不是强制性的:
LDAP extension
PCNTL extension
accessed over HTTPS

建库建表:
# touch '/var/www/html/racktables/inc/secret.php'; chmod 666 '/var/www/html/racktables/inc/secret.php'
> CREATE DATABASE racktables_db CHARACTER SET utf8 COLLATE utf8_general_ci;
> GRANT ALL PRIVILEGES ON racktables_db.* TO [email protected] IDENTIFIED BY 'MY_SECRET_PASSWORD';

以上就是安装过程了,还是很简单的,使用也蛮简单的,简单的没找到一个正式的 manual,只有一个残缺不全的 wiki

使用过程中,除了遇到不少 bug 之外,还忘记过一次密码,重置一下就好了:
> UPDATE UserAccount SET user_name = 'admin', user_password_hash = SHA1('mynewpassword') where user_id = 1;

下面说说我们使用一段时间的感受:
当初在 freshmeat 上看到这个项目,眼前一亮的感觉。我们看中他的功能主要包括如下的几个:

1. 可以将服务器交换机机柜机房等部件以及关系图形化
2. 可以管理 ip(vlan, vip 等),算是一个简单的 IPAM,类似我们之前调研过的 gestioip, Device42(Commercial)。  
3. 可以通过 snmp 的方式(半自动)导入网络设备的信息

主要就这几个了。我们当时试用的是 0.20.3 版本,对于第一点,这个需要手动的生成,对于喜欢自动化的人的来说,简直是灾难;第二点现在看来不算优势;第三点需要 racktables 里面代码的支持,只能支持有限的型号,基本等于残废。总体的使用的感受就是比上不足比下有余,跟我们的三观不是很匹配。最终的结果是我人肉导入了一两个机架的机器,后面就没再继续了。
如果你要使用,不妨先试试他提供的 demo。我的建议是,对于有不超过两位数机器,也就是机架数量差不多在 10 个以内的,使用应该完全没有问题的。超过这个范围的还是另觅新途(cmdbuild)或者自己开发吧。

资产管理

最近在看资产管理方面的一些资料,主要目的是管理 IDC 里面的服务器以及网络设备包括整台设备的变更以及零部件(硬盘,内存等)的变更记录。目前使用的是最"土鳖"的 Google Docs 来增加,删除,修改管理,供查阅。
一般情况下,要查阅的无非是某台服务器的主机名,对应的内网(公网,如果有的话)IP,以及 ssh 需要的一些参数。这个就是最基本并且也是最重要的信息了。
按照机房,机架的物理位置来记录。需要记录的信息有,服务器的包括下面这些:

  • 服务器型号
  • 服务器用途,开放的服务
  • 内网 IP(外网 IP),远程卡 IP,是否在网卡上绑定了其他的 IP?是否做了 bond?虚拟 IP?
  • CPU ,L1,L2 等参数
  • 内存,SWAP
  • 网卡数量型号,bond?
  • 硬盘数量,大小,转速,RAIDx,分区
  • RAID 卡型号
  • iDRAC 卡型号
  • PCI,USB
  • 系统版本
  • ssh 的端口,用户名
  • 备注

交换机/路由器包括如下:

  • 型号
  • 口数
  • 支持的功能
  • VLAN 的划分
  • 管理 IP 等

Continue reading