网络服务器搭建

网络服务器搭建

随着手机的对性能极度渴求,现在高端ARM架构的芯片早就在性能上完成了对X86的反超,苹果的M1就是一个典型例子。因为大小核的设计以及ARM架构多年在低功耗领域的深耕,M1的轻载待机功耗比你牙膏厂的芯片低,峰值性能还高。在服务器领域,华为的鲲鹏ECS也在华为云商用了,超多核心设计非常适合一些倚重IO性能和吞吐量的场景。现在的ARM架构CPU在生态方面相对比较成熟,很多必要的软件和工具都有ARM64编译的版本。这让ARM服务器可以提供和X86一样丰富的玩法。

树莓派是由树莓派基金会推出的低功耗ARM架构开发板,可以运行完整的Linux发行版系统。我最近买了一个树莓派4b 2G内存的乞丐版来玩,想着先做一个网络存储服务器,带个硬盘,用来下载东西以及提供家庭多媒体串流。价格只要250元,不过在ARM开发板里不算便宜,比如说很多人买的斐讯N1盒子,刷机之后也可以做软路由啊,NAS啊,问题都不大。树莓派强在生态比较完善,不需要太折腾就有着大把最新的Linux发行版可供选择,成熟的社区也可以解决很多问题。而且4b的性能也强于N1,树莓派4b使用的是四核A72架构的CPU,这个架构也就是几年前手机芯片麒麟950上用的大核架构。而斐讯这类的电视盒子用的都是A55架构,这是目前ARM公司的公版小核架构,性能和A72差了一倍左右。

预备用于存储的硬盘

我首先选择了海康威视代理的希捷酷鹰st400vx000,这个硬盘比希捷零售的酷鹰便宜100元左右,但是参数差不多,都是三碟六头,5900转的监控盘,CMR非叠瓦。拼多多叠加黑卡到手价格428,真香。监控盘设计长时间运行,转速低噪音也低,稳定性强。我觉得非常适合拿来作为仓库盘,价格也没得说了。到手先用 hdtune 工具检测,没有坏道,全绿;通电0小时。希捷官网系列号验证也能通过。


硬盘盒我买了了优越者的Y-ST03004双盘位硬盘座,京东124元到手,特意选了type c接口,相比于常见的type b接口更耐用一点。


这里我要特意说一下,因为考虑到主要用于Linux下面的访问,所以我将硬盘分区格式化成了ext4文件系统,具体在Linux终端里通过fdisk命令创建分区,再通过mkfs命令格式化分区,这里不再赘述。这个文件系统是Linux的默认文件系统,NTFS文件系统在Linux内核下默认只读。现在Windows也可以做到原生访问ext4分区了。需要Windows 10开启WSL2,通过虚拟化加载完整的Linux内核,在此之后Windows可以原生读取Linux所支持的文件系统。这可能是Windows下最好的支持ext4文件系统的方案,其他方案我试了问题不少。具体方法的链接我放在这里:https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-mount-disk

Linux下面有非常好的查看硬盘S.M.A.R.T.信息的软件,用于监控硬盘的运行情况,Debian系的发行版只需要输入以下命令:

sudo apt install smartmontools

完成安装,再通过以下命令:

sudo lsblk #这一步为了查找到自己的硬盘名称

sudo smartctl -a /dev/sda #这里的sda需要替换成前文找到的名称

就可以轻松查看自己的硬盘健康程度了。下面是我这块硬盘的信息,可见Linux下挂载硬盘设备的维护真的很简单,都是开源免费的方案。

刷写启动树莓派的TF卡

树莓派到手后就可以着手开始刷写系统固件了。我用的是树莓派官方的刷写工具,还需要一张TF卡以及一个TF卡读卡器。TF卡我就用多年前老手机剩下的8G卡,C10速度。因为树莓派官方的限制,C10到U1的速度就已经够了,再快没有区别。

除了树莓派官方的系统外,还可以刷写Ubuntu这样的发行版

随便选一个吧,因为我的内存卡比较小,所以我刷了不带桌面的64位服务器版本20.10,桌面可以后面再来装。可以刷后面的LTS版本,这个版本的官方维护时间会长一点,可以长时间不升级。

登录

固件刷写好后就可以插进树莓派的TF卡槽,然后上电启动,再连上网线。啰嗦一句,我用的是家里多余的USB PD充电头,树莓派 4b通过type c口供电,支持PD供电协议。

现在Winddows 10已经支持了SSH,所以可以直接打开PowerShell,然后输入以下命令,再设置好密码,

ssh ubuntu@192.168.50.81 #后面的地址改成你树莓派的内网地址,可在路由器的相关页面查看,最好把DHCP设成固定IP

你就登上去了。

换源

APT是Ubuntu自带的包管理软件,简单来说就是可以通过一些简单的命令就可以完成Linux软件包的安装、更新和卸载。但是Ubuntu默认服务器在中国大陆的访问速度过于感人,所以最好换成国内的镜像地址。这里我选择了清华大学的源,网上换源的教程很多,这里不再赘述。但是要注意一点,因为树莓派是ARM架构,所以应该用ubuntu-ports这个源,ubuntu源不支持ARM64,会有问题。

挂载硬盘

Linux文件系统不用DOS的盘符系统,也就是大家熟悉的什么C盘D盘,而是有一个根文件系统,名叫”/“。所有其他的文件和文件系统都挂载在根文件系统之下,比如”/dev“指的就是根文件系统下的dev目录,dev是device的缩写,一般用于表示此计算机上的硬件设备。”~“表示当前用户的用户目录,等价于”/home/用户名“。首先把硬盘盒插入树莓派的USB 3.0口,再在系统里挂载到挂载点,就可以访问了。一般挂载点需要是一个空的目录文件(可以理解为Windows上的文件夹)。如果硬盘没有格式化,那么参照我前文的两个命令,先分区和格式化。首先在自己的用户目录创建一个目录文件,用如下命令:

mkdir ~/cangku #cangku是我给挂载点起的名字,这个可以根据自身喜好随意

然后使用lsblk命令,查看树莓派上的块设备。

看容量,4T的sda就是我挂载的硬盘

如上图,sda就是我的4T海康威视代理的希捷硬盘,而底下的sda1就是这个硬盘上唯一的分区。下面通过命令将sda1分区挂载到前文所述挂载点上,这一步就完成了。

sudo mount /dev/sda1 ~/cangku

安装并配置网络存储服务器相关软件

我安装了Samba和MiniDLNA两个软件。Samba是一个开源免费的支持SMB共享协议的软件,这个共享协议就是Windows在网络(网上邻居)里分享文件的协议。另外因为我家的LG电视是Web OS系统,所以不能安装安卓软件,然后LG的播放器只支持DLNA的媒体服务器,为了可以在电视上用原生播放器串流,我多装了一个MiniDLNA。从网络开销上来说,DLNA也比SMB性能高。

两个软件安装非常简单,只需要如下命令:

sudo apt install samba

sudo apt install minidlna

然后各自配置好两个软件的设置文件。

Samba的配置输入如下指令:

sudo vim /etc/samba/smb.conf

需要配置的参数比较多,我也没搞得太懂,网上也是五花八门,我的参数配置拿出来如下。反正能用。

[Global]

netbios name = 树莓派

#用于在 Windows 网上邻居上显示的主机名

security = user

#定义安全级别

map to guest = bad user

#将所有samba系统主机所不能正确识别的用户都映射成guest用户

dns proxy = no

#是否开启dns代理服务

wins support = yes

# Windows Internet Name Serving Support Section:

# WINS Support - Tells the NMBD component of Samba to enable it's WINS Server

[ubuntu]

#共享显示的目录名

path = /home/ubuntu/cangku

#实际共享路径

browsable = yes

#共享的目录是否让所有人可见

writable = yes

#是否可写

guest ok = no

#是否允许匿名(guest)访问,等同于public

create mask = 0777

#客户端上传文件的默认权限

directory mask = 0777

#客户端创建目录的默认权限

之后需要设置以下SMB分享的账户名和密码。账户名要和参数中的[ubuntu]一致,也叫ubuntu,你可以换成自己喜欢的名字。输入:

smbpasswd -a ubuntu #ubuntu就是添加的用户名,应该与配置中的一致,最好也与当前Linux用户一致

然后设置好密码,就完成了。

MiniDLNA的配置我就改了一处,输入命令:

sudo vim /etc/minidlna.conf

然后改动如下的一处,指定共享的目录地址就可以了。

在配置好两个软件之后需要重启服务以生效,使用如下命令:

sudo systemctl restart smbd.service

sudo systemctl restart minidlna.service

如果对命令行模式下修改配置文本感到麻烦和困难,可以安装桌面环境后,在图形界面下修改。

安装桌面环境

我之前说了,我安装的是不带桌面的系统,其实在后期我们完全可以自己装桌面环境。Ubuntu可选的桌面环境有很多,比如Ubuntu自己的基于Gnome的桌面,这个桌面功能比较多,自带了很多工具软件,还有基于Xfce的轻量版本桌面。树莓派有两个小型的HDMI接口,我没买这个线,所以准备远程桌面上去。远程桌面软件我选的是xrdp,简单来说就是Windows上的远程桌面协议,好处是电脑上不用单独装客户端。

sudo apt install ubuntu-desktop #Gnome桌面

sudo apt install xubuntu-desktop #Xfce轻量桌面,以上二选一就行

sudo apt install xrdp #远程桌面软件

然后需要配置以下xrdp:

echo "gnome-session" > ~/.xsession #Gnome桌面

echo "xfce4-session" > ~/.xsession #Xfce桌面,以上根据安装的桌面选择

重启一下服务

sudo systemctl restart xrdp

然后在Windows里搜索远程桌面,输入IP地址登录即可。可能会遇到问题,要碰一点运气,具体的一些可能会遇到问题的解决步骤见以下链接。相对来说Xfce对xrdp的兼容性较好。

https://websiteforstudents.com/connect-to-ubuntu-16-04-17-10-18-04-desktop-via-remote-desktop-connection-rdp-with-xrdp/

我用的是Gnome桌面,成功之后效果就是这样的。讲真因为我内存只有2G所以挺卡,我的电脑原生分辨率是3000x2000,Ubuntu的Gnome桌面可以开启缩放,我觉得效果还不错。

总结

这次折腾我觉得还挺值的,二百多块钱,就可以得到一个待机功耗3瓦的网络服务器。因为是Linux系统,所以树莓派的玩法实在太多太多了。这次也只是随便搞了一下。



展开阅读全文
网络服务器

铁威马 F4-4234盘位NAS网络存储服务器

1799元

SK-LINK intel 82599EN芯片服务器网卡PCI-E X8 万兆单光口SFP+光口服务器网络适配器X520-DA1

485.1元

Synology 群晖 DS223J家用NAS网络存储服务器2盘位文件存储服务器组建raid阵列网络云存储 异地传输

1299元

百亿补贴:SEAGATE 希捷 绿联DX4600数据博士四盘位Nas网络存储硬盘服务器个人云服务器

2430元

UGREEN 绿联 私有云DH2600双盘位Nas网络存储个人云硬盘服务器相册备份文件同步

1349元

兮克 TS5136RP+存储服务器4U机架式288TB 双电源 国产自主可控 网络存储NAS 共享磁盘阵列(8T企业盘*36块)

99799元

百亿补贴:海康威视 NAS网络储存服务器个家庭人私有网盘硬盘数据共享主机

2339元

SEAGATE 希捷 极空间私有云Z4Pro性能版16G内存 八核四盘位Nas网络存储服务器

3599元

展开阅读全文