RackTables是一款优秀的机房管理系统,可以十分方便的登记机房设备和连接情况,非常适合小型机房的运维。RackTables是PHP开发的免费系统,最新版本为0.20.14,PHP版本要求不低于PHP 5.2.10。可以使用硬件配置较低的主机自行搭建一个LNMP(Linux Nginx Mysql PHP)运行环境(教程在这里),然后直接通过访问RackTables网站页面就可以安装和使用系统了。我是用一键搭建的lnmp环境,跟这个教程更改的只是网站目录(home/wwwroot/default)
一、RackTables系统的安装
步骤1、下载RackTables软件包
下载RackTables的压缩包,然后将它解压至Nginx指定的网站目录,这里假设Nginx的网站目录为”/var/www/html”,具体命令如下:
# wget https://netix.dl.sourceforge.net/project/racktables/RackTables-0.20.14.tar.gz # tar -zxvf RackTables-0.20.14.tar.gz # mkdir /var/www/html/racktables ##这个是在你的网站目录下创建这个系统的安装文件夹 # cp -r RackTables-0.20.14/wwwroot /var/www/html/racktables ##把网站放进去这个文件夹
步骤2、安装RackTables
RackTables的安装同WordPress等网站的安装过程类似,通过访问专门的安装页面,会进行系统的环境检查并进行网站的相关配置,最终让RackTables网站可以正常运行。个人根据实际情况访问安装页面,这里方便起见,使用”localhost”,首先通过浏览器访问”http://localhost/racktables/wwwroot/?module=installer”就会见到如下欢迎页面:
点击”proceed”按钮继续安装过程。RackTables会自动检测PHP环境是否满足要求,如果系统提示”FAILED”则必须安装;如果提示”NOT PRESENT”则为选择安装,不安装也不影响使用,可能某些功能会受影响。当环境检测中没有”FAILED”条目时就可以点击”proceed”继续安装了,示意图如下:
可以看到,PHP PDO、Multibyte、GD等PHP扩展都是必须项目,可以根据这个教程自行安装需要的PHP扩展,安装和配置完成后点击”retry”按钮重新检测。这里需要注意的是安装完扩展后需要重新启动”php-fpm”程序以使扩展生效,不然检测不到PHP环境的变化。全部安装完成后,点击”proceed”继续。
之后会见到安装第三步的提示页面,主要意思是RackTables需要一个可以写入的配置文件”secret.php”,而主要操作命令其实页面上已经给出了,根据提示执行以下命令:
# touch /var/www/html/racktables/wwwroot/inc/secret.php # chmod 666 /var/www/html/racktables/wwwroot/inc/secret.php ##改变这个配置文件的权限 # setenforce 0 ##这是临时关闭selinux ,要是自己玩可以临时,不然建议永久关闭。
以上命令也是根据实际情况自行修改为自己的内容,而”setenforce 0″是为了关闭SELinux,避免出现不可预料的错误。执行完以上命令后,就可以点击”retry”按钮重新检测,没有问题的话按钮会变为”proceed”,点击它继续安装。
然后就是创建数据库以及设定RackTables操作数据库的用户,事实上页面已经给出了需要MySQL操作的语句,我们需要做的就是登录到MySQL数据库,并执行以下语句:
# mysql -u root -p <mysql>CREATE DATABASE racktables_db CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT ALL PRIVILEGES ON racktables_db.* TO racktables_user@localhost IDENTIFIED BY 'MY_SECRET_PASSWORD'; FLUSH PRIVILEGES;
注意要把”MY_SECRET_PASSWORD”这个密码设置为实际使用的密码即可。如果对于MySQL不太熟悉,那么就参照这个初心教程。操作完数据库,再点击”retry”检查环境,没有问题的话就进入到下一步。
这一步骤主要是将配置文件设置为只读,并把它的所有者设置为Nginx程序用户,用以下命令完成:可能显示的是www:nogroup,那意思就得所有者设置为www用户
# chown nginx:nginx /var/www/html/racktables/wwwroot/inc/secret.php ##修盖文件属组 # chmod 400 /var/www/html/racktables/wwwroot/inc/secret.php ##修改文件权限
完成后点击”retry”进行检测,成功的话就会进入下一步正式安装网站,全部完成后会显示如下页面将安装情况反馈给用户:
如果数据库初始化完全正确,也就是列表中的”errors”为0,则可以点击”preceed”进行最后的管理员密码设置了:
输入密码后点击按钮继续,会看到以下安装成功的页面,想要进入系统的话直接点击”proceed”即可。
二、RackTables的使用
访问RackTables网站,首先会提示输入用户名和密码,之前输入的密码是管理员”admin”的密码,现在需要使用这个密码登录。认证窗口是个登录对话框,正确输入用户名和密码后就会进入到RackTables的网站首页。
可以看到,首页中包含了网站所有的功能,并且已经按功能类型进行了分类,常用的几个功能模块包括”Rackspace”、”Objects”、”IPv4 space”和”Configuration”,下面分别进行介绍。
1、Rackspace机架区
点击 “Rackspace”链接进入机架管理页面,会首先看到四个选项卡:”Browse”、”Manage locations”、”Manage rows”和”History”,其中”Manage locations”选项卡用于设置机房位置,而”Manage rows”用于在机房中设置摆放设备的区域。现在进入”Manage locations”选项卡添加机房,演示起见这里新建了北京和上海两个核心设备机房,添加方法为在”Name”输入框中输入机房名称,然后点击后面的添加按钮就完成了添加。
机房添加完成后,就需要给机架设置摆放的区域,点击”Manage rows”进入管理页面,在对应机房添加设备区域,当然也可以根据实际情况输入设备机架所在的行号。
可以看到,在”Location”下拉列表中选择相应机房后,就可以在”Name”输入框中输入行号,为了简单起见,这里只分别在每个机房添加一个核心设备区。现在再点击”Browse”选项卡,就会发现原本空白的区域有了内容,可以显示机房了设备区域了,示意图如下:
两个机房的机架(Racks)都显示为空的,现在就需要向”Row”中添加机架。选择一个设备区,就会进入”Row”的管理页面,页面同样也是选项卡式的,我们直接点击”Add new rack”添加机架。
根据实际情况,输入机架的名称(Name)高度(Height in units)以及标签(Asset tag)后,就完成了机架的添加,注意机架高度是以Unit为单位的,标准的2.2米机柜一般是42U,所以这里默认填入了42。输入完成后点添加按钮完成添加,然后再用此方法给上海机房也添加一个核心设备机架。全部完成后,再重新浏览一下机架,就会发现机房里有了可用的机架,如下图所示:
以上就完成了机架的添加,这里只是演示,可以根据实际情况自由的添加机房、机架区以及同一区域内的机架,添加完成后就会在机架浏览页面看到这些内容。
2、Objects设备对象
RackTables中的对象可以理解为放置在机架上的不同设备,RackTables中已经有一些常用的机房设备,点击”Objects”进入管理页面,然后点击”Add New”选项卡进入设备对象添加页面,在”Object type”下拉框中选择相应设备类型后,再输入设备名称及标签,再点击”Go”按钮完成设备添加。以下是分别向北京和上海机房添加交换机的示意图:
设备添加完成后,就可以浏览它了,此时的设备会显示为”Unmounted”,表示设备并没有上架:
想要设备上架,就需要点击相应的设备名称链接,进入设备管理页面,然后选择”Rackspace”选项卡设置设备摆放的位置,还记得当初我们设置机架的高度么,这里会根据这个数据显示机架的容量,勾选设备摆放位置的方框,然后点”save”保存,设备就摆放到机架上了。示例展示了在上海核心设备机架的第42U放置核心交换机,方便起见将机架的”前”、”中”和”后”都占用,占用后就不能再摆放其它设备了,实际情况当然是占用多少点选多少。
再次浏览设备对象时,就会显示设备都已经摆放在机架上了,示意图如下:
现在,设备就已经上架成功了,如果浏览”Rackspace”页面,会发现机架的对应位置已经被其它颜色标识为占用。为了方便观察,我将之前的42U位置修改为30-35U位置,示意图如下:
设备上架了,如果没有相互连接起来,也没有实际意义,现在就需要将北京和上海的两个核心交换机连接起来。假设两台设备均通过GE0端口进行互连,那么就需要给两台设备分别添加GE0端口。在”Objects”页面选择一台设备,然后在其属性选项卡的”Ports”选项卡中添加端口,在”Local name”以及”Visible label”中输入端口号,”L2 address”表示MAC地址,为非必填项,可填可不填,最后点击后面的加号完成添加。
设备端口添加完成后,就可以将两台设备连接起来了,方法是点击端口后面的连接按钮,会弹出端口选择窗口,选择设备要连接的端口后再点击”Link”按钮完成连接。
再次查看设备的信息时,就会显示比较详细的信息了,包括设备位置以及连接情况等,示意图如下所示:
3、IPv4 space地址空间
IP地址空间包含IPv4和IPv6两种情况,我们只讲解IPv4的情况,IPv6的设置类似。参照实际情况,我们可能还会给北京和上海的核心交换机设置了环回地址以便管理,这就需要用到IPv4 space。首先进入IPv4 space页面,然后点击”Add”进入管理选项卡,假设两台核心交换机的环回地址分别为10.0.0.1和10.0.2,可以先设置一个包含以上两个地址的网段,然后再将其中的IP分配给相应设备。这里的网络采用Prefix方式,也就是”网络号/掩码位数”方式,对应的名称可以任意设定,示意图如下:
再重新浏览IPv4 space页面,就会看IP地址的使用情况,点击某个网段,就可以看到网段内IP地址的占用情况,示意图如下:
现在的要做的就是将10.0.0.1和10.0.2两个地址分配给对应的设备,点击其中一个IP地址,就会进入其管理页面,然后点击”Allocation”选项卡进入分配页面,输入对应设备的对应端口,选择正确的”allocation type”后,就完成了IP地址的分配。当然,这个步骤也可以在设备对象的”IP”选项卡中完成,效果是一样的,看用户自己觉得哪个用着方便。
全部IP分配完成后,就可以最后浏览一下设备情况,会发现内容比较充实,可以满足使用要求了。
可以看到,设备信息中包含了机房、区域、机架信息以及设备连接情况等。总之自己填入的内容越详细,则这里的内容也就越全面。
4、Configuration配置页面
事实上RackTables需要修改的配置内容不多,最常用的功能就是将企业名称设置为自己实际的名称。点击”Configuration”进入配置页面,然后选择”User interface”进入配置页面,再选择”Change”选项卡进行设置,修改完成后点击最下面的保存图标保存修改,这里只修改”enterprise”名称作为示例:
RackTables当然还有其它一些功能,比如虚拟化支持等,这里就不再过多讲解,就兴趣的朋友可以参考官方Wiki。
以上就是关于RackTables安装和使用的全部内容,总体来说,如果机房规模不是很大,使用RackTables还是非常管用的,如果支持的设备再多一些,那就更加完美了,呵呵。