新建FreeNas,测试iSCSI功能

单位原先用淘汰下来的机器做了一个使用freenas的“服务器”,不觉已经用了3年。3年来运行稳定,使用的人还觉得满意,最近感觉空间紧张,再加上原先只是为了便于短时间交流备份,并未考虑权限等设置问题,准备在国庆前后重新利用新替换下来机器再建一个“服务器”。这次算是有备而来,通过网上购买了256M的电子盘,2手的HIGHPOINT RocketRAID 454 IDE RAID卡,可接8块硬盘,支持raid5,双口的intel百兆网卡,另外还有新的电源,算是一次大升级了。

 国庆节将到,手头上非常重要的工作完成后终于有时间新建一个freenas的“服务器”了。首先选择了一个使用还算良好的淘汰机器,这个要比原先那个PIII要强上不少。首先安装好4块替换下来的40G硬盘,然后通过数据线连接在raid卡上,开机只听一声长鸣,心中一惊,以为出师不利,再看屏幕,原先是首先进入了raid卡的自检界面,自检硬盘正确后,按ctl–h进入bios设置,创建了一个raid5的阵列,初始化时间不短,估计和硬盘关系比较大。创建完毕后启动机器,安装freenas0.69版本。

开始安装,一切顺利,这次把系统安装在电子盘上面,设置好ip地址后重新启动机器,然后在自己台式机上输入freenas的地址,顺利进入了web管理界面。但当时做了一件傻事,害的浪费大量时间。在修改时区的时候,我看到可以选择语言,就顺手选择了简体中文,当时并没有发现什么不妥,但在按照以往的经验添加磁碟后(一看就是台湾人翻译的),一选择格式化选项,就出现了一个空白页面。不格式化吧,mount更是无法进行。开始以为是raid卡的问题,但以前在raid卡上安装过freebsd6.1,这个nas是基于6.4的,应该没有问题,后来索性又下载了一个0.70rc版本的,问题依旧(习惯问题,又改了中文),而且连系统的常规选项也进不去了,也是空白页面。

我感觉问题出在空白页面上,难道是web服务器有问题?到网上一搜,还真冤枉了freenas,是IE浏览器的毛病!网上一位网友言道:“的确,有的页面变为空白是因为IE比较的傻,在编译HTML时是循序编译的,不象OPERA和FIREFOX是按照语法的优先级来编译的,当制定页面编码的meta语句放在title语句之后时,IE就傻了就不知道本页面所用的编码而显示空白,相反OPERA和FIREFOX则会优先编译meta语句而不管他在页面所处的位置,所以就能正确的显示。”,这已经不是第一次IE犯这个错了,看来以后测试还是用火狐了。

下载火狐安装进入管理页面,果然一切正常,格式化raid阵列硬盘后挂载,开启smb服务,一切正常。白白浪费了但半个上午。

下午开始测试这次的重点iSCSI,由于0.70和0.69的管理界面差别比较大,而网上主要使用的是0.69的示例,所以安装的时候反复了几次,但还算是顺利。过程是首先新建一个Extent,这个需要手工输入名称,然后再建Portal Group,这之后才建立target。保存应用后,freenas服务器端就算是设置完毕了。

我现在用的是xp,需要下载Microsoft iSCSI Initiator,最新版本是2.8的,安装之后配置倒也简单(还没有实验高级的),先在discovery里面设置好后台target Portal的地址,完后在targets选项里面就会发现后台新建的target了,login in后,在电脑里面就会出现一个未识别的硬盘,一如硬盘分区时忘记分区的部分,初始、格式化后就可以正常使用了。放入一个文件,速度尚可。

到了另外一台机器上,安装好iSCSI Initiator,也是同样配置,login in后发现硬盘已经出现在我的电脑里面,倒是不需要再设置。但查看里面,空空如也,但再看体积,明显已经被占用了一部分,于是也拖放了一个文件进去,在我的机器上同样看不到。估计是权限的问题,如何设置,暂且留在以后再研究吧。

通过targets选项里面的login off,和u盘一样可以卸载掉iscsi target盘。

虽然做了不少无用功,今天目的倒是达到了,算是一个好的开始吧。

freenas终于自由了

临近国庆节,准备利用节前空余时间用新替换下来的机器重新搭建一个freenas平台替代原先老设备。

在google里面搜寻freenas,官方网站在第一页已经不显示。这都怪它不会起名字,叫什么不好,非要叫freenas,结果呢?被忧国忧民的有关部门给屏蔽了,谁叫你带free这个词。翻了几页找到了官方主页的链接,随手点击一下,奇迹出现了,居然能够进去了。可喜可贺啊!

虚拟机使用笔记三:安装FreeBSD应用软件

安装完毕Freebsd,本来以为就万事大吉了,谁知道第一次安装apache22的时候就出现了问题,先是系统无法启动,提示:

No such file or directory: Failed to enable the ‘httpready’ Accept Filter

从网上查了查据说是apache22的一个bug,按照网上所说的#kldload accf_http并在 /boot/defaults/loader.conf 中加入下面 2 行,以便下次启动自动装载模块
accf_data_load=”YES”
accf_http_load=”YES”问题解决了,但接着虽然没有提示错误,但httpd却还是没有起来,查看了一下日志文件,提示:

httpd: apr_sockaddr_info_get() failed for apache

这个是为每个请求生成唯一的标识以便跟踪,网上有的建议在httpd.conf 里注析掉 unique_id_module,的确有效,但去除警告而禁用掉有效的功能模块的方法不是上策,后来看网上说主要是域名和ip地址设置的问题,但我的没有问题啊。

后来发现原来问题出在hosts文件里面,由于这个虚拟机我是通过拷贝复制的,虽然修改了ip地址,但却忘了修改hosts文件里面的信息,修改完毕,并将httpd.conf里面ServerName修改为本机的ip地址,问题解决,

然后安装php、mysql5(再也不用那该死的4.1版本了),感觉比较麻烦的还是需要手动添加AddType application/x-httpd-php .php,怎么安装php的时候不自动安装呢,估计是httpd配置文件各种系统版本不一样的缘故吧。

好了,一个完整的Freebsd系统算是准备好了,看看体积,略微清理后仍然将近3g,看来以后新建虚拟机的时候空间不能只留4G了。

虚拟机使用笔记二:安装FreeBSD折腾记

虚拟机平台搭建好了,首先安装的是自己最喜欢娥FreeBSD。

安装一切顺利,在此之前用vmware server 2的时候就已经安装过很多次了。安装之后重新编译内核,安装必要的服务之后发现问题来了,那就是安装完毕重新启动的时候感觉“死机”了!

如果直接通过虚拟机关闭Freebsd,重新启动后开机慢的要命,比当初的vmware server还要慢,而且每次都要重新检测硬盘。开始以为是安装的问题,于是重新安装,问题依旧。又以为是vmware不支持Freebsd7版本,于是换成6.3,无效。

整整折腾了一天,到了晚上实在是没有办法了,于是只好重新reboot,准备吃饭之后先安装debian,然后就出去买饭去了。回来发现在虚拟机的客户端上已经显示了Freebsd的待机login了。于是忙再次reboot,在等待了近5分钟之后系统终于开始重新启动。原来已经习惯Freebsd快如闪电的开关机,所以把这个漫长的等待当成死机了。

估计还是vmware对Freebsd支持不好(虚拟机类型里面归入其他),只不过2.0要好一点,所以原先感觉不那么明显的缘故吧。

于是安装编译内核,安装ports(通过网络安装速度也可以接受),一个基本的Freebsd系统就安装完毕了。

vmware server不支持复制虚拟机,免费的嘛。但这也难不倒我等,登陆虚拟机的主机,将Freebsd虚拟机的目录复制了一份,命名为Freebsd1,然后通过虚拟机的客户端软件选择打开虚拟机,找到Freebsd1的目录,打开相应的虚拟机文件,一个新的虚拟机就建成了,改个名字与原先的虚拟机以示区别。

OK,Freebsd系统已经算是大功告成了!

虚拟机使用笔记一:架设虚拟机

原先的时候安装、测试系统一直使用的是自己淘汰下来旧机器,但如果测试局域网的话单位里倒还好说,但回到家里的确就很无能为力了,后来看到网上一篇《搭建一个大型网站架构的实验环境(虚拟机篇)》,真是大开眼界,马上就动了学习实践的念头。

首先组装设备,本来主板从网上淘了一块泰安的am2接口的主板,但却遭受了淘宝以来的第一次挫折,主板拿来就是坏的,无奈只能退货。沮丧之余还是到科技市场买了一块微星的780V,价格不贵只是可惜只有两个内存插槽,扩展性差了一点,又衬着内存当时价格够低,买了两条2g的金士顿内存。开始的时候硬盘使用的是自己原先的ide80G硬盘。

操作系统使用的是ubuntu 8.10,虚拟机软件是用的vmware server2.0.当时参照的网上一篇文章,当时安装非常顺利。但通过客户端维护系统和最初使用1.x版本的情况不一样,是通过web管理。速度慢不说,而且非常不稳定。而虚拟机中的系统运行的时候在初始阶段也是非常慢,和死机差不多。换成1.x版本,安装的时候问题不少,但运行起来要比2.0稳定和快捷不少。(最近从网上看到之所以出现这种情况是因为vmware在开发2.0的时候在支持amd k8cpu的方面出现问题所以索性去除了这部分功能,不知是真是假)

恰巧今年冬天家里没有集中供暖,只能靠烧电暖气取暖,用电调度真是小心翼翼,唯恐哪一路电超负荷跳闸,所以虚拟机就暂且搁下了。

终于渡过了这个超长的冬天。于是又开始未完成的工作。同时也新添了一些新的装备准备好好学习一场,硬盘换成500G的,机箱也换成一个新的,这样虚拟机主机也可以同时作为家里的视频、照片的服务器。

这次安装的是vmware server1.09,1.x的安装问题不少,但参照2.0的安装,首先安装编译环境:

1、sudo apt-get install linux-headers-`uname -r` libx11-6 libx11-dev x-window-system-core x-window-system xspecs libxtst6 psmisc build-essential,linux-headers-`uname -r`这个避免出现新内核识别问题。

2、sudo apt-get install ia32-libs这个是避免后面输入授权码的时候不能识别

3、sudo apt-get install xinetd 这个是1.x里面必须的

4、下载vmware server最新版,后开始安装,开始肯定会失败的,因为对linux的新内核不能识别,要打一个vmware-update-2.6.27-5.5.7-2.tar.gz 补丁,所以先正常安装到Do you want this program to try to build the vmmon module for your system?到这里要输入 “no”退出安装,再安装补丁程序,到了这一步再选择yes就可以了。

5、这次安装的时候出现了新问题:

Unable to get the last modification timestamp of the destination file
/etc/vmware/ssl/rui.key.

这在之前是从来没有遇到的,估计是原先安装的时候ssl已经解决了这个问题,安装网上的介绍

sudo touch /etc/vmware/ssl/rui.key
sudo touch /etc/vmware/ssl/rui.crt

如此下来就可以顺利完成安装了。

安装完毕后,使用VMware Server Console连接虚拟机,新建了一个freebsd7.1的虚拟机,一起顺利,算是一个比较完美的一个开始了。

Turbo Delphi+Firebird内嵌服务器版的发放

使用免费的Turbo Delphi开发程序虽然不能使用第三方控件,但是连接Firebird数据库可以使用Dbexpress中的ib控件连接,这样也足够了。

在默认的情况下编写程序完毕需要发放到其他机器上的时候需要下载Firebird的内嵌服务器,解压之后得到一个文件包,先把里面的doc文件夹删除(里面是一些鸡肋文档),然后将fbembed.dll文件改名为gds32.dll,如果在程序中已经修改过,那么这一步也可以省略。这样Firebird内嵌服务器就设置好了。但如果程序要正常运转,还需要拷贝dbexpress的驱动程序dbxint30.dll到该目录下。

这样一个Firebird内嵌服务器的环境就设置好了,10M的体积在现在的硬盘状况下真是微不足道了。

delphi中数组的上下标的应用

delphi中数组应用起来很灵活,自定义的数组下标也可以自己根据需要定义,不一定从0开始。

有的时候数组中的数据获取后的数量是不一定的,比如题库的多项选择的答案等,这时候可以使用low(数组名)获取下标值,而用high(数组名)得到上标值,这样就可以明确数组中有效数据。

MSS使用手记七:升级Mldonkey至2.96版本

使用Mldonkey已经20多天了,速度很是稳定,但唯一遗憾的就是不能下载超过4G的视频文件,所以按照http://blog.orz101.net/node/342的说明下载了mldonkey 2.9.6 for MIPSEL (Static Version) with UTF-8 单独执行文件进行升级。

运行了几次才发现这个其实就是一个类似windows下的绿色文件,使用root登陆执行解压后的文件mlnet.byte.static,第一次的时候会在执行的目录下生成相应的文件夹,之后只要执行mlnet.byte.static &就可以启动mldonkey了。

升级或者说是重新安装之后,还需要修改相应的配置文件,而sancho也要进行重新配置。配置之后已经能够解决文件大小的限制了。

dede升级到5.31版本

升级到dede5.1版本后,用起来感觉问题少了,但操作感觉有些繁琐,恰好到dede支持论坛看到最新的版本5.31已经出了正式版,据说内核进行了全面升级,所以便下载了升级版本进行升级。

按照升级说明,原网站除了原先的附件所在目录和html文件所在目录,其他目录都可以删除,看来改进的确很大。上传了升级文件,进行升级,但很奇怪到了最后一步,出现了空白页面无法完成。直接输入管理页面的网址,同样也是空白页面。

开始以为是数据库的问题,于是进入服务器,将备份的数据库恢复,重新升级,问题依旧。

没有办法,只好使用原先的老办法,重新安装一遍5.31版本的dede,然后修改数据库,但这次发现dede的数据库信息已经改变了配置文件,所以只好再次修改数据库,将新安装的数据库改名后,将原先升级后的数据库改为新安装系统的数据库名称,然后重新启动系统,网站可以正常使用,从此来看,这个问题并非论坛中所说的数据库问题,应该是升级程序的问题。

使用起来,感觉5.31版本的确改进很大,内核且不说,就是界面来看颇有当初dede 3.1lit的风采,少了5.0的华而不实的繁琐,发表一篇文章还有切换页面。的确不错,这方面已经更是远远超过了帝国。

但使用过程中发现了一个问题,那就是时区问题,时间晚了8小时,原先我设置里面是空的,但如果在设置中选择+8,那么时间就提前了8小时,改成+0后问题就解决了。

感觉不错,于是开始升级自己的第二个网站,本来以为这个原版的5.1版本网站不会有问题,但结果和第一个一样:白屏。

而这次我偏偏没有备份数据库,没有办法使用原先的办法,于是按照论坛上说的方法,修改了include/commin.inc.php,将第二行的注释去掉,这样就会显示安装的错误,果然不再是白屏,而是提示data目录下的config.cache.inc.php文件中的第47行中的数值为空,而这个数值是$cfg_cli_time = 正是市区的设置,设为+0后升级成功。

这个应该是5.0的遗留问题的,当初5.0的时区问题当时就不好解决,我当时是修改了系统的php.ini配置解决的,而现在反而成为升级的一个障碍。

MSS使用手记六:安装使用mldonkey

因为最近开始使用虚拟机,很久没有使用MSS了,但年前为了储备过年期间的电影节目,开始通过电驴下载高清影片,看起来效果的确不错,但就是下载起来的确费时间,于是又想起了MSS。

开始的时候是参考网上介绍的关于通过MSS自带系统来安装电驴软件mldonkey的,但我安装了几次但总是不能成功,于是直接通过MSS中的debian系统安装。安装参考的是http://hi.baidu.com/renws/blog/item/755a5f956458620c7bf480e0.html中的介绍,安装的版本为mldonkey2.81版本,安装完毕之后可以启动,但是如果重新启动linux系统,则mldonkey无法自动启动,需要手动启动,不知何故。

安装完毕,又安装了为win32版本的sancho来进行管理,不知道这个sancho如何得罪了政府,官方网页无法访问,通过第三方才下载成功,但安装之后却又无法启动,原来网上有介绍说是与xp的sp3有冲突,只好使用windows2000的兼容模式来启动,可以成功进入,但退出的时候总是提示出错,而且mss中的mldonkey server也会随之出现一些问题,后来发现,只要将sancho设置中的“退出sancho时停止core”不选择就可以了。

开始下载一些影片还算正常,但只要文件一超过4G则没有反应,从网上看是版本的问题,但通过apt安装的话2.81已经是最新版本(和postgresql一样),据说新版本中文支持一般,只好暂且作罢,过几天再安装新的版本实验。

运行2天来看,倒也稳定,但速度一般,总量下载速度稳定在30-70k之间,但也不会太快,好处是可以24小时下载了。