RSS| 首页| 山顶道| 布珞阁¹| GoodUI| 土产| 关于

将西数WD MY BOOK网络硬盘改造成个人数据服务器 文件共享、FTP、Subversion
2009.07.7 2:23 bruce:

 

1:硬件

必须是网络硬盘盒,及带嵌入式板和Linux操作系统的硬盘盒。便宜的方案有 微星和西数的。

自己用的话,就淘洋垃圾的西数WD My Book World Edition 1000M SATA WD网络硬盘盒。当然,如果有钱的话,可以WD这个系列的新产品。也就几千块吧。

本来这种小型NAS设备是带硬盘一起卖的,可能硬盘坏了返修,把硬盘扔掉,就集装箱扔中国了。嵌入式主机板一般是难坏掉的。所以自己加个新硬盘,就跟新的一样用了。

 

单硬盘的,也有双硬盘做raid的。

为提高性能,可以将32M内存模块换64M。找商家换好了,再用。

到这里淘个主机,还有很多GEEK的使用方法 http://www.qzxx.com/bbs/forum-23-1.html

背面,12V电源,千兆以太网,外置USB存储接口,一个笔记本锁。他的散热口很特别。是摩斯电码,是他产品标识的几个单词摩斯电码组成。

他的主板,是个标准的ARM架构的嵌入式主机板。

 

新的插上电就可以工作。我们这种DIY的,需要先把硬盘拿到PC里面装好操作系统,设置好ip,再装在机器里用。

因此,他的设置都是linux存在硬盘上的,所以很灵活。

我是年初淘的,加了个640G硬盘,装好后,拿来当硬盘存东西,一直没空研究。我还给他加了个USB风扇,辅助散热用,插在usb口上。

盒子加上改装64M、电源、运费等花了308。硬盘花了430多。

论坛上有不同的rom,一般都是拿来下电影用。

我只拿他来备份存储。省点空间,省点电。配好后,ftp和samba都可以用了。具体请搜索玩家论坛。



今天要做subversion版本控制,不想占用笔记本资源。就拿他做做实验吧。没想到很顺利的就装上去了。

没想到现在的开源工程配置都这么灵活,简单配置下就都装上去了。

具体装法简单描述:

下载相关工程源码

http://www.monkey.org/~provos/libevent-1.4.11-stable.tar.gz
http://www.sqlite.org/sqlite-3.6.16.tar.gz
http://apache.nedmirror.nl/apr/apr-1.3.5.tar.gz
http://apache.nedmirror.nl/apr/apr-util-1.3.7.tar.gz
http://www.zlib.net/zlib-1.2.3.tar.gz
http://www.webdav.org/neon/neon-0.28.5.tar.gz
http://downloads.sourceforge.net/sourceforge/expat/expat-2.0.1.tar.gz?use_mirror=nchc
http://apache.cs.uu.nl/dist/httpd/httpd-2.2.11.tar.gz
http://subversion.tigris.org/downloads/subversion-1.6.3.tar.gz

这些库、工具都装上的话,就是将subversion 1.6.3运行在apache上。

方法都是

#./configure –prefix=xxx –with-xx=xxx

#make

#make install

最好装在默认目录下,不然so文件找不到,还得自己一个一个link,或者修改/etc/ld.so.conf(添加lib路径,然后ldconfig)



socket服务方式启动服务

#/svn/subversion/bin/svnserve -d

创建仓库(名为bruce)

#/svn/subversion/bin/svnadmin create /shares/internal/svn_root/bruce

增加用户和口令

#vi /shares/internal/svn_root/bruce/conf/passwd

加 bruce=password

配置仓库
# vi /shares/internal/svn_root/bruce/conf/svnserve.conf
anon-access = none
password-db = passwd

使用简短的uri访问 svn://ip/svn/bruce

#ln -s /shares/internal/svn_root/bruce/ /svn/bruce

下载客户端访问成功

http://tortoisesvn.net/downloads



apache集成方式启动

httpd.conf中增加

<Location /svn>
DAV svn
SVNParentPath /shares/internal/svn_root
AuthzSVNAccessFile /shares/internal/svn_root/apache_authz.conf
AuthType Basic
AuthName “Subversion Repository”
AuthUserFile /shares/internal/svn_root/apache_pwd.auth
Require valid-user
</Location>

用户密码文件生成 /shares/internal/svn_root/apache_pwd.auth

#/svn/httpd/bin/htpasswd -cm “/shares/internal/svn_root/apache_pwd.auth” bruce

New password: ******

Re-type new password: ******

Adding password for user bruce

 

增加时,参数是-m 删除时参数是-D

 

用户权限文件 /shares/internal/svn_root/apache_authz.conf

#vi /shares/internal/svn_root/apache_authz.conf


[groups]
users=bruce

[/]
@users=rw

[svn:/]
@users=rw

 

apache访问刚才root帐号创建的仓库是有权限问题的。

因此需要改变目录所有者为apache后台用户

#chown daemon:daemon -R /shares/internal/svn_root/

配置完成,访问地址为 http://ip/svn/bruce



这个特殊的linux,配置服务自启动方式有所不同

编写自己的服务脚本svn.sh,见附件

编辑 /etc/init.d/network_servers.sh

start的地方

加:

$SCRIPTS_PATH/svn.sh start

如果是http方式,则

/svn/httpd/bin/apachectl start

stop的地方

加$SCRIPTS_PATH/svn.sh stop

如果是http方式,则

/svn/httpd/bin/apachectl stop

为了节省资源,不启动http等其他服务,在start的地方把lighttpd.sh给停掉

$SCRIPTS_PATH/lighttpd.sh stop



开机后,subversion就可以自动启动了。

还有个自动备份仓库的脚本,见附件。svnadmin hotcopy 命令老报错,还没找出原因。



现在 平常备份文件用samba(Windows文件共享) ,大文件用FTP续传,文档和源码就用Subversion

一个个人或小组的比较专业的文档、数据管理解决方案就诞生了。



性能比较

跑这几个服务,64M内存是够了的,硬盘也直接用上了DAM,几M的速度也够了

但因为嵌入式的CPU差了一些,所以subversion在处理数据时,会慢一些。

专门建立测试环境的数据

环境:

100M局域网连接

单个数据文件:100M(102400k)

性能:

 服务方式  CPU占用  内存占用  checkin 时间,平均速率  checkout时间,平均速率
httpd 98.3% 9.5% 6.1%  124s  826kBytes/s  85s 1205kBytes/s
svnserve
98.3%
6.2% 3.5%
 102s  1004kBytes/s
 89s 1150kBytes/s
vsftpd 91.1% 0.7% 0.7%  16s   6400kBytes/s  11s 9309kBytes/s

经测试,磁盘访问速度还是相当快的,可以达到9MBytes/s
httpd方式提交比svnsrve方式稍慢,但更新速度相当。作为文档管理,速度可以接受。

 

附件

     

    分类  日经| 暂无评论


    垃圾太厉害了
    说几句吧






    *注意: 回复可能需要审查.您不必重复提交.