万事开头难,这篇很早之前就想写写了,最近忙于各种工(po)作(shi),就耽搁下来了。
还是写写吧,最近几年很少上联盟,登陆进去像当年一样爬了爬楼,搜了搜素材,开始动手写第一篇简书。
喜欢折腾硬件
电脑DIY原本是穷苦人喜欢折腾的事儿,联盟的服务器(包括bitunion、155等等)都是不停的折腾的机器。
我不是最早那批折腾联盟服务器的人,大概2008年左右才开始参与折腾联盟的服务器。为啥是2008年呢?可以搜搜 soff。我接手的时候已经是一台听破的机器了,硬盘不停的响,还好服务器单独在一间屋子里,不会被刺耳的噪音吵到。
2003年联盟刚成立的时候,可能机器是P4 1.8或者更惨的配置,具体详情欢迎联盟老人补充。后来我用这堆破旧不堪的P3/P4台式机搭建了几台FTP,感谢多位biter无偿提供了大容量硬盘,其中有一台就是图片中的样子。今天不说操作系统等软件,软件方面改天再说。
- 2004年10月,联盟的配置是P4 2.0, 256M DDR,有soff的帖子为证。
- 2005年11月,联盟服务器进行升级:CPU: 赛扬 2.8G 64bits 内存: 2G DDR 400 硬盘: 34G SCSI * 2, 36G IDE。感觉这次升级是很大的一次硬件提升,内存一下子大了好几倍,不知道256M的时候mysql能吃多少内存。这个状态持续了很久,两块万转的SCSI硬盘那个响呀......这时的服务器稳定性成了很大的问题,环境导致经常会断电,每次断电都会导致硬盘可能发生损坏。
- 2008年12月,联盟服务器实在撑不下去了,一重启就一堆I/O错误。在lonecat的支持下,进行了又一次重大硬件升级。CPU: AMD Phenom64 3核 8450
内存: DDR2-800 2G*2 硬盘: SATA 500G x 2。咆哮了好几年的SCSI硬盘终于下岗了,这次SATA盘虽然噪音小,但稳定性、可靠性差一些。所以两块硬盘做软RAID,而且还是分成两部分:一部分RAID0跑服务、另一部分RAID1存数据,软RAID才能这样折腾着玩儿吧。 - 2010年5月,家用硬盘还是经不起7x24的服务器模式折腾,这次只升级了硬盘。
- 2011年7月,更换网卡,天天高并发的web服务导致网卡废掉了,还好千兆网卡不贵,换个新的就是了。
- 后来... 折腾过几次,但都没有再做什么重大调整,很大原因是软件(操作系统、数据库、web服务器)无法升级了。
最大化发挥效能
如何充分发挥机器的最大效能,可能是折腾服务器最大的收获。
- Linux可以更加充分利用硬件,从redhat、debian到ubuntu,联盟服务器始终跑在Linux环境上。
- CPU资源没有想象中那么高,完全是中等家用台式机的水平就能支撑一台服务器。
- 内存资源确实是最紧张的,经过各种优化,内存使用可以被有效控制。
- 硬盘资源其实容量是次要的,联盟十几年总体数据量也不过1TB,绝大多数是附件文件。但如何利用好硬盘是很有技巧的,如果没有RAID、LVM等方案的支持,数据不知道丢过多少次了,LVM也大大方便了扩容和迁移。
- 网络资源也是慢慢一步一步走过来的,10Mb、100Mb、1000Mb以及链路聚合等等,都是一次又一次的尝试,联盟服务器一直附加着www.bitren.com这个主页网站,并发一度很高,还好网卡更换并不怎么折腾人。
说说未来
前面提到服务器受到软件的制约,多次尝试升级软件都以失败告终,未来可以尝试Docker。
现在最大的问题是安全问题,操作系统、数据库、web服务器长期都没有升级,联盟网站代码定制化修改内容太多很难进行升级,所以只能通过一些方式封装起来,避免安全漏洞造成不可挽回的损失。可以用稳定的操作系统上跑几个Docker,分别装对应的软件,然后在这样一个环境中去维系联盟的服务。