六月,是奋斗的时节;是收获的时节;是毕业的时节;是离别的时节……我和我的室友们虽考上了不同的大学,我们坚信,我们精神上还是紧紧在一起的。
为了给即将过去的高中生活留下一笔小小的财富,我们在暑假里开启了一项庞大的计划:我们四个人一起出资、一起调试、一起搭建一个属于我们四个人的私有服务器。我们高三时的寝室号是221室,所以将这个项目称为:“Room221虚拟寝室计划”

1.项目缘起

我们四个人都是科技爱好者,有不少的资料要存储,其中一些大家都用得到的资料也要找到一个可以共享的地方。

某些网盘是我们首先排除的:价钱贵不说,并且使用不方便,必须要下载客户端才能得到一个还算过得去的速度和体验。但是这样一来,主动权就不在我们的手上了:想涨价就涨价,想改变用户协议就改变,并且使用并非随时随地,如果不在自己的电脑上想访问网盘上的问价,下载客户端、登录、验证……经历过几年前的网盘服务集体关闭(幸好当时没怎么用网盘,不然资料转移都是一个大工程),到至今某盘一家垄断的局面,让我们得到一个结论:东西还是放在自己手上为好。

于是我们决定买一台机器做自己的NAS(Network Attached Storage,网络附属存储),也就是我们常说的网盘。

2.硬件配置

经过对比以及我们的需求上的综合考虑,最终确定配置如下:

IBM SystemX 3630 M4 + E5-2420 v2 CPU × 2 + 32GB DDR3 ECC 内存 + 300GB 万转 SAS硬盘,以上组成我们服务器准系统,在一家专门卖二手服务器的店里买的,一共1360元。

群辉 android虚拟_服务器

又买了两块8TB 3.5寸机械硬盘用于存储数据:

希捷IronWolf酷狼ST8000VN0022 + 希捷Exos银河ST8000NM0016,一共2685元

我们采用1:1冷备份以保证数据安全,并且专门买了两块不同型号的硬盘,减少因同一批次相继坏掉的可能性。

所有硬件一共4045元,我们四个人均摊,每人一千多块钱(那时刚刚结束高考的我们手头还是比现在宽裕很多的)。

3.软件配置

这么高配置的机器肯定不仅仅是用来当网盘使用的,为了充分发挥我们的想象力,我们选择了VMware ESXI系统,其本身只是虚拟机平台(宿主机),可以在它上面运行多个操作系统(虚拟机)。

群辉 android虚拟_群辉 android虚拟_02

在上面我们安装了3个系统(虚拟机):黑群晖、Windows10、Ubuntu Server (相当于一台服务器当三台电脑用)

4.实际应用

等一切都配置好了以后,实际体验用一个字概括就是:“爽!”

由于服务器从“物理上”到“软件上”的所有权限都属于我们,我们便可以随心所欲地部署服务,添加功能(而不仅局限于云服务器提供的特定的接口和服务)。

接下来请看我们的各种实(sao)际(cao)应(zuo)用:

4.1群晖的应用

群晖是一家专门做NAS解决方案的公司,群晖公司为它的NAS设备开发了一套基于Linux的系统,拥有友好的用户界面(UI)、多用户管理功能、丰富的插件、应用。成为NAS市场占有率很高的品牌和操作系统。

各路大神把它的系统提取出来,方便安装到其它普通的设备上,让我们这种没有购买群晖硬件的穷人也能体验到群晖系统的方便。实际应用举例:

4.1.1 网页端

群晖拥有基于网页的极其友好的用户界面,可以看做其系统的本体,通过它可以进行各项设置、上传下载文件等一系列的操作。

群晖的多用户管理功能也十分强大,可以创建多个不同的用户,分别设置权限,配私人的存储空间,也可以分配共享的存储空间。

群辉 android虚拟_电脑硬件_03


漂亮的登录界面

群辉 android虚拟_Windows_04


管理员用户可通过控制面板进行各项设置

群辉 android虚拟_刀片服务器_05


通过其中File Station存取文件

上图中我登录的是我自己的账号,就只能看到我自己的home文件夹和共享的public文件夹,看不到我其他三个室友的私人文件。

4.1.2 照片管理(Moments)

群晖作为一个系统,也可以安装其他的应用程序,其中Moments是群晖官方的一个照片管理应用,可以通过网页端或者手机APP进行照片的备份、预览、整理你的相册,甚至还能根据人脸和地点自动分类。手机端的APP还可以设置自动备份,再也不用担心我的手机相册塞满了!(无论整理照片还是设置备份,都要比某度云来的简洁很多。)

群辉 android虚拟_电脑硬件_06


网页端根据时间轴浏览照片

群辉 android虚拟_Windows_07


手机端APP

群辉 android虚拟_服务器_08


手机端浏览照片

4.1.3 挂载网络硬盘

通过WebDAV或者SMB协议,将群晖上的存储空间挂载到本地电脑上,让存取服务器上的存储空间变成“此电脑”上的一块虚拟磁盘,存取服务器上的内容就像是操作本地硬盘一样方便。再也不需要登录什么网页也不需要打开任何一个软件,就能轻松通过资源管理器(此电脑)进行拖放、Ctrl+C、Ctrl+V等等一系列你熟悉的操作。

群辉 android虚拟_群辉 android虚拟_09


最下面两个就是挂载的网络磁盘

群辉 android虚拟_群辉 android虚拟_10


与打开本地的磁盘没有任何区别

因为挂载的网络磁盘与本地磁盘对电脑看说没有任何区别,所以甚至可以直接打开网络位置的文件在本地编辑以后直接点击保存,就又存储到了服务器上,效率极高。

在手机上也可以用ES文件浏览器等应用挂载网络位置,实现手机上也可以直接访问群晖上的文件。

群辉 android虚拟_服务器_11


通过ES文件浏览器查看群晖上的文件

4.2 Windows的应用

毕竟我们长时间以来习惯了Windows的操作、软件和生态,在服务器上安装Windows虚拟机,再通过Windows远程桌面(RDP)进行访问,相当于我们拥有了一台7*24h不关机并且随时随地可以用的Windows电脑。

群辉 android虚拟_服务器_12


Windows、安卓、IOS上均有对应的软件

群辉 android虚拟_群辉 android虚拟_13


在电脑、iPad、手机上分别连接远程桌面的效果

我们的Windows虚拟机有网络稳定,内存大,算力较强,全天候开机,关闭远程桌面而电脑任务继续运行等优点,经常被我们用来离线下载、大量计算等。

例如碰到有些下载速度慢,需要下载很长时间的文件,如果用自己的电脑下载的话,就得保证电脑一直开机,最好还不要把电脑拿到别的地方去,以免WiFi断掉,任务中断。这时,我们就可以在我们的Windows虚拟机上打开下载软件,让它帮我们挂机下载文件,之后再以更快的速度从Windows虚拟机上下载到本地(某些网络服务商提供的离线下载服务也大致如此)。

再比如需要长时间开机进行大量运算的图像、视频处理我们就可以放到它上面进行运算。只要把任务开始执行,即使把远程桌面连接断开也没有任何问题,我们就可以腾出自己的电脑的时间和算力去干别的事情。

4.3 Ubuntu的应用

Ubuntu是Linux最的主流发行版之一,我们在服务器上安装了Ubuntu Server系统虚拟机,以便在运行一些基于Linux的服务。我们目前在上面安装了基于网页的IDE:Jupyter Notebook和Code Server(网页版的VS Code)和一些我们常用到的编程语言环境。

基于网页的IDE的好处包括且不限于:你的代码,你的环境,随时随地,不限设备,只要你能打开网页,你就能编程。

比如我学校上机课的电脑里面也有本地的Jupyter Notebook,但是我还是选择访问我自己的Notebook。一来,我改过深色的主题,Jupyter默认的白色主题实在是太伤眼了。二来,我的代码直接就在里面,写完程序只要轻点保存按钮,代码就安全地保存在了云端,也免去了每次下机的时候还要把代码拷到U盘里的麻烦。

群辉 android虚拟_服务器_14


Jupyter Notebook

VS Code是一款强大的代码编辑器(也是程序员的好朋友)。可以毫不夸张地说,Code Server就是把VS Code的界面原封不动地搬到了网页上,将代码编辑的操作下放到任何一个可以浏览网页的设备上,而编译仍旧由服务器完成。

这就给我们很多发挥想象力的余地了,iPad编程再也不是梦!

iPad上用世界上最热门的代码编辑器编写任何一个你想的到的语言也不是梦!只要服务器上把相应的环境和Code Server配置好,唯一你要做的就是用iPad访问网页这么简单。

(我一个室友因此想等今年3月买新的iPad Pro用来编程,兼具轻薄、便携、续航。Code Server这么好用的东西可不是人人都有的哦,既然我们有,那何不充分利用它呢?)

群辉 android虚拟_Windows_15


iPad访问Code Server

5.总结&展望

拥有一台从“物理上”属于我们的服务器与租云服务器的区别,就好比自己买车和出门打车之间的区别:

买车、养车的费用合计起来可能不比打车出行的费用便宜,但是我们可以往自己的车里放很多自己常用的东西;我们可以改装、装饰自己的车来符合我们自己的要求;有急事的时候自己的车就在家门口,开出去便是……总而言之就是:私密、自由、方便。

服务器也是如此,我们的服务器有120瓦左右,一个月的电费就得五六十块钱,但是我们依旧觉得很值得。我们可以放心地存储我们的资料;我们可以随意地安装新的服务和功能;我们随时随地都能访问我们的服务器……总而言之也是:私密、自由、方便。

之后我们还打算把我们要用到的所有环境都安装到Ubuntu上,实现所有服务全部上云。我们还打算把我们收藏的电子书和电影以某种更清晰的条理整理出来……

这是我们关于Room221虚拟寝室计划的第一篇文章,介绍了我们计划的大体内容,更多的技术细节之后我们会一篇一篇地更新出来。欢迎评论、转发,你们的支持是我们更新的最大动力!