有了第一篇就得有第二篇、第三篇...,想想都头大,就跟追剧一样,坚持、坚持、再坚持直到崩溃,现在CONAN还能坚持下载,只下不看
今天先不接上文,今天说说跟硬件相关度比较高的FTP服务器。
为啥要逼自己
记得大二或者大三,自己搭建过FTP服务器,Serv-U,安装和使用也挺方便,但是只能临时用用,长期跑不行。Windows下的东西总是让人不放心,挖个坑,以后专门写一篇关于Linux的。大四保研后在Motorola GSG实习,就是在Linux命令行模式下进行工作,加上跟着lonecat学习了很多,各个Linux发行版也都玩儿过了。真正折腾FTP服务器的时候已经读研了,大概从2008年开始经过不断的优化,把这事儿算是做到了极致。
超级变态的硬件:
花最小的成本干最大化的事儿。其中一台的配置是这样的:
- Celeron 2 667MHz,2000上市的产品,2008年已经是报废的状态了,拿过来刚好做FTP服务器,主要是考虑CPU发热量不大,7x24跑服务CPU风扇停转是经常的事儿。
- 384MB内存,现在已经普遍是DDR4的了,当时384M内存连DDR1都不是,它是SDRAM。128+128+128 or 128+256。
- 2G系统盘(CF卡),系统盘一开始是普通硬盘,经常断电扛不住,而且后来好几台服务器了,为了管理方便统一换成了CF卡,可以理解为IDE接口的固态硬盘,2GB只要几十块,3年保修很划算。
- 10T硬盘,最后稳定下来时一台平均有5块硬盘。当时IDE接口硬盘是主流,板载硬盘接口不够,就用PCI转接卡扩,一台机器接6块硬盘是十分痛苦的,数据线绕来绕去,想尽一切办法连上所有的硬盘。
- 三大件功耗并不高,存数据的硬盘变成了散热大户,特别是夏天,经常down机。
- 家用电源扛不住7x24折腾,所以电源变成了消耗品,坏掉了就还上备用的再买一个新的或者京东维保。
- 网卡一开始是百兆的,后来换了千兆网卡,受到当时接口带宽影响,最高也就跑到40MB/s吧,后来的PCI-E会好点儿。
- 一套KVM,同时管理联盟服务器、几台FTP...
超级变态的软件:
在网上搜资料,发现了几篇转载文章 glftpd 搭建 BitUnionFTP 详解及相关维护,找了半天源头,发现是 ideepblue 2010年发在联盟上的帖子 glftpd 搭建 BitUnionFTP 详解及相关维护。最终形成这样的FTP服务器方案也是经历过很多次迭代更新的,直接说最终结果。
- 操作系统:Ubuntu精简版,应该是8.04吧。之前应该尝试过其他的,比如gmrl也是非常精简的Linux,还尝试过U盘启动、PXE直接无盘启动。
- FTP服务器软件:glFTPd,2005年发布的v2.0.1,停更7年,2013年才正式发布v2.0.2,作者也真是任性啊!
- FTP配置:联盟的规范不同积分用户看到不同的FTP账号密码,glFTPd配置都是命令行,写好一堆命令存起来,新作一台FTP服务器的时候复制进去就行,记着关闭FTP的log,频繁读写CF卡影响它的寿命还容易出I/O错误,一开始还一台一台弄,后来... 见下文
- 常用的工具:fdisk、lvm、mdadm、各种查盘的命令、rsync、dd、screen... 数据盘后来做了
- 有了mirror很多事情方便多了。2009年以前还没有官方的 北京理工大学开源软件镜像服务,翻阅了一下Linux版内容,最早的mirror服务是 bsdguru、wingc分别架设的;然后是soff、lonecat做的 mirror.bitunion.org,它是现在学校官方mirror的前身。
超级变态的玩法:
人的精力是有限的,老被折腾谁也受不了。顺便感谢京东售后换过很多次被玩儿坏的硬件,我2006年从jdlaser买CD-R就开始上京东了,订单号还是6位的。京东2007年之前叫jdlaser,2007-2013年叫360buy,之后才是大家熟知的jd.com。最后的玩法是这样的:
-
买了4块CF卡(2G的,其实1G也够用)用于3台FTP服务器的系统盘、一块备用;当然还有CF-IDE转接卡。
拿一块CF卡接上机器做好系统,精简版Ubuntu,装好各种软件lvm什么的,装好glFTPd,glFTPd的各种账号密码都配置好,关机。
用读卡器接到自己电脑上,Linux下命令行dd出来CF卡上所有的数据,因为是dd所以会出来一个差不多2GB的文件,其实里面只有几百M的数据。
拿过来其他的CF卡,Linux下命令行dd把备份文件写入CF卡... 3分钟新的一台FTP服务器就复制成功了~
CF卡接上电脑,接上5、6块硬盘,开机,lvm组个vg或者raid,修改一下glFTPd的配置站点根目录就可以提供服务了~ 总共折腾20分钟吧。
一开始是动态IP,用了sskaje研发的bitunion DDNS服务,后来IP基本稳定,所以用了自己的域名。
结论及收获:
一堆硬件尸体通过精心折腾后发挥巨大价值,最后变成了更大的一堆硬件尸体。
一开始只是纯粹的玩儿,去尝试去折腾,一些站长关站后资源不舍得丢弃就被收录进来,后来Nbking等人赞助了一堆硬盘,硬盘越来越多....
-
最后FTP联盟一半的站点、三分之二的容量都在我这里了,一开始还限速,HD一部好几GB,最后也不限速了,随便下吧。
随着PT的发展,使用FTP的人越来越少,北理FTP联盟也曾经规划过搞PT,不过后来还是放弃了。
盗版是不对滴!本着性能测试的目的搭建了FTP服务器,任何一块硬盘都不是我的!
A负责提供硬盘,B负责搭建FTP服务器,账号密码告诉管理员C,每个人都可以上传资源,C来整理上传的资源,每个人根据积分使用对应不同限速的账号下载资源,这就是北理FTP联盟。