APP下载

从软路由到多媒体全能家庭数据中心

2021-07-08超载

电脑爱好者 2021年13期
关键词:镜像文件网卡硬盘

超载

虚拟机能干啥?

虚拟机是负责将硬件的物理资源和虚拟环境分隔开的一种系统。简单说,虚拟机系统会将物理硬件设备的资源按照需要进行分配,并供给不同的虚拟系统使用。在的电脑安装的虚拟机上分别安装不同的操作系统、软件。这些虚拟机之上的系统和真实的物理实机别无二致。当然,它依旧不会脱离由虚拟机分配的物理硬件资源,比如是分配的是几个核心的CPU、多大容量的内存。简言之,虚拟机可以让你实现真正的“一机多用”。

虚拟机系统有很多,比如我们刚刚提到的ESXI、PVE、UNRAID等。这其中,PVE显然是最为友善的,至少它针对个人用户免费,并且开源。更进一步,因为虚拟机系统要调配物理机硬件资源,这就涉及到其中一个直通功能——指定某个硬件设备“专职”服务其中某一个虚拟出的操作系统,PVE在这方面是几个虚拟机系统里最好的。

PVE的全称是Proxmox Virtual Environment(官方网站:https:∥www.proxmox.com/),或称之为Proxmox VE,是一款开源的虚拟化方案。其软件和社区支持都是免费的(基于Debian Linux和KVM的虚拟化平台),企业用户则可以通过订阅制获得付费商业支持。

最初,虚拟机的诞生是为了服务器集群设备使用,跟民用几无关系。不过随着个人电脑性能的提升、尤其是多核心CPU的快速发展,用户的使用需求也发生了改变。也正因如此,PVE这种完全免费开源的虚拟机系统越发收到关注。更为重要的一点,虚拟机系统本身也是需要占用一小部分电脑资源的,PVE的轻量化设计,让它成为诸多虚拟机系统里占用较少的那个,而且配置也极为简单,兼容性也非常出色,这也就难怪让诸多个人用户喜爱有加了。

软路由是个啥?

要实现局域网内的全能设备,软路由系统是必不可少的关键一环。软路由可以替代硬件路由设备,“统管”整个家庭局域网。不同于硬件路由,本质上软路由就是依靠CPU软件计算的方式来替代路由器的硬件功能,这也是为什么将其称之为“软”路由的根本原因。

这样的软路由,本质上就是软件(相当于操作系统)+电脑的组合。因为软路由对CPU的性能要求并不苛刻,所以很多闲置的电脑、专注低功耗的电脑系统都适合安装使用。目前开源或者免费的软路由主要是OpenWRT、pfsense、高格、Sophos、愛快等等。

pfsense

Openowt

Sophos

高档

爱快

这其中,OpenWRT是最为著名的,功能十分强大,扩展性也十分优异。不过它的缺点也十分明显——不够稳定,作为家庭网络的中枢设备,OpenWRT的这一缺点会被放大,它更加适合DIY用户用来尝鲜;pfsense是基于FreeBSD的开源防火墙及路由平台,它也是开源路由器系统中最为可靠的,其配备用于进行设置及更新等管理工作的Web用户界面,不过,它的设置对普通用户而言并不友好,需要一定的使用门槛;Sophos也是一个很出众的路由系统,它的家庭版本是免费的,并且支持最多50个设备连接。它着重于安全性以及可靠性,不过,Sophos的设置操作门槛也比较高,一般用户难以入门;此外还有国产的高格软路由系统,它是一个非常出众的路由固件,并且针对国内的网络环境有非常好的优化,界面也非常友好。更重要的是,它的X86软路由企业版也无条件永久免费,这是非常难得的;最后还有国产的爱快软路由系统,这款纯原生中文的路由器系统是免费开放的,而且功能设置极为简单直观,稳定性也颇为出众,是一款非常值得选用的路由器系统。

具体到软路由对比传统硬件路由器的优势,主要在两个方面,第一是软路由的硬件构架是依托传统主流的电脑设备而生,正因拥有如此开放性的构架,它的扩展性能、易用性远超硬件路由设备。尤其对于个人用户而言,低功耗电脑、闲置电脑的再利用,无疑也是节约成本的一种方式;所谓的扩展优势不单纯是硬件功能的拓展,比如从千兆路由升级到2.5G路由,传统路由器可能需要更换设备,而软路由只需要更换网卡即可。除此之外,功能上的扩展更是硬件路由不可比拟的,比如去广告、搭建网站、免密登录、云盘加速等等,只要你能想到的功能均可通过软件来实现。这些功能性的拓展,硬件路由极难实现。

多媒体中心选它就是了!

所谓的多媒体中心,不知道大家使用电脑播放多媒体文件时候是不是有些小困扰,比如媒体都是文件夹形式,搜索辨别都只能依靠名字搜索,没有图示,没有多媒体内容的信息简介。这些麻烦,需要一个真正的媒体服务器系统才能解决。这其中,免费的有Kodi、JellyFin,付费的有Plex和EMBY,都是很好的选择。

Kodi

Kodi(曾用名XBMC)是一个免费的开放源代码媒体播放器软件应用程序,由XBMC基金会(一家非营利技术联盟)开发。Kodi可用于多种操作系统和硬件平台,支持电视机和遥控器。通过插件,Kodi可以实现视频文件的海报墙展示,而且具备多媒体中心的集合界面,操作极为简单。在虚拟机上安装Kodi的麻烦在于需要直通显卡并且连接HDMI之类的视频线缆,只能输出到显示器或者电视,局域网内远程浏览是件麻烦事。

Kodi

Plex

Plex是一款老牌的多媒体中心,拥有一整套媒体播放器及媒体服务器软件,由于Plex Media Server和Plex Media Player组成,主要功能是存储+索引+转码+在线播放。Plex Media Server不是简单地帮你存储分类影音文件,它还能分析影片的信息从而从IMDB等数据库补全影片介绍等信息,进行索引以方便搜索。它的问题在于线硬件(GPU)转码(非常重要的功能,可以跨设备无视视频格式)功能必须付费才可以使用,而且价格昂贵。

Plex

EMBY

emby

Emby以前称为媒体浏览器,是一种媒体服务器,可让用户组织、播放和流式传输视频和音频到各种设备。虽然它有一些閉源组件,但主要是一个开源产品。它使用客户端一服务器端的设计,一如Plex。其中服务器在客户端播放时组织和存储内容,可用于多个平台,易用性十分出众。EMBY的问题也是收费才能实现硬件转码,价格虽然较Plex便宜一些,但毕竟不是免费的。

JellyFin

Jellyfin和Plex、EMBY一样,都是基于服务器端+客户端的设计,也是具备媒体串流播放功能的媒体中心应用。其实它和EMBY渊源颇深——JellyFin就是EMBY收费后,部分核心成员出走另起炉灶设计而成的。JellyFin的功能和EMBY很接近,易用性也非常不错。关键在于它是一款真正开源且免费的应用。当然了,作为一款非商业化的项目,它的缺点也比较明显:稳定性尚待提升。

JellyFin

本着免费的原则,本文选用的就是JellyFin作为媒体中心使用。如此一来,通过电脑硬件安装虚拟机,虚拟机同时安装软路由+媒体中心的方案,就可以让家庭局域网内实现完整的一套媒体服务平台,供家庭成员享用了。

电脑配置多少够用?

实现这一整套多媒体中心的必要条件当然是拥有一台X86电脑。从配置上来说,两个系统对内存的需求并不苛刻,一般8GB的内存就足够了。但是,内存最好是可以组成双通道的。同时CPU部分最好带有核显,并且拥有一条完整的PCIe插槽,方便扩展有线网卡使用。

有线网卡的选择有很多,笔者推荐最好是PCIe×4规格的4口千兆产品,如果是PCIe 3.0×1规格的有线网卡也可以。当然,2.5G网卡更是一个好选择,但是要注意避免使用Intel芯片的产品,目前比较好的选择是RTL芯片的2.5G有线网卡。除此之外,并不推荐使用万兆网卡,因为大部分家庭的网线并不能符合要求,而且万兆网卡的功耗也十分可观。

存储部分需求并不太高,哪怕是一个16GB容量的硬盘都足以应对上述需求,只不过笔者强烈建议使用固态硬盘来当做系统盘,多线程并发数据读取和极低的寻道时间非常重要。

在CPU部分,除了我们提到要带有集显之外,最好选择还是低功耗的产品——别小看系统的耗电,如果不能控制在30W以内的功耗,每年的电费也是一笔开支。CPU部分笔者推荐TDP为15W的产品,部分35W TDP的低功耗CPU也可以选择。

最最重要的,则是CPU必须支持虚拟化技术。当然了,这个要求并不苛刻,可以说当今绝大部分CPU都具备虚拟化技术。至于多核心的需求,只要是双核心以上的CPU产品,覆盖虚拟机+软路由和媒体中心足够了。

系统安装从这里开始

如果你不确定自己的电脑是否支持虚拟化功能,我们可以使用软件辅助判断,下载Securable(下载地址:https:∥www.grc.com/securable.htm)后解压运行,如果最后一项“Hardware Virtualization”显示为“Yes”,则表示CPU支持。

如果CPU不支持,则Securable中“Hardware Virtualization”项会显示“No”。

确定CPU支持后,在安装之前还需要在BIOS中启用虚拟化设置,方法是开机时按下F1或者Del键进入BIOS界面,找到CPUVirtualization相关项目(各品牌电脑BIOS名称不一致,具体需要查阅说明书),将其设置为启用,即“Enabled”状态后保存退出即可。

PVE的系統安装和Windows一样,需要首先使用闪存盘制作一个安装盘,容量不低于8GB即可。下载PVE的ISO安装文件(下载地址:https:∥www.proxmox.com/en/downloads)然后使用Rufus制作引导盘即可。

运行Rufus,在引导类型中点击“选择”按钮加载PVE ISO安装文件,并在“目标系统类型”中选择纯UEFI启动(目标电脑BIOS中需设置为UEFI启动)。

在选择镜像使用模式的时候,这里必须选择“以DD镜像模式写入”,这里是与Windows安装启动盘制作最大的区别,务必要确认无误。

闪存盘制作完成后,将其插入要安装PVE的电脑上,成功引导后,在PVE的引导选单上选择第一项“Install Proxmox VE”。

PVE的欢迎界面中,下拉读取协议并点击点击右下的“I agree”继续。

进入安装设置后,PVE会提示需要安装硬盘的位置,默认提供一个硬盘位置,如果是多硬盘系统(笔者建议只安装一个硬盘安装,安装完毕再添加额外的存储设备)则需要点击“Options”进行设置,此处以单硬盘默认即可。

设置完点击“Next”,设置服务器的国家、时区及键盘布局时,国家处填写“China”,其他默认设置即可。

接下来设置系统的管理员账号和密码以及邮箱设置了,此处根据自己的习惯设置即可,密码部分,笔者建议使用复合型密码,即数字+字母+大小写的形式,用以确保安全性。

继续安装设置,管理网络界面,注意第一个“Management Interface”是管理口设置,所谓管理口是无论电脑中合有几个有线网络接口,只能是其中一个具备管理能力,这个网络端口的设备连接到PVE主机后方可进行设置调整,如果是多网卡的电脑,务必确认使用的是哪一个网卡;“Hostname(FQDN)”则是主机名称,根据自己喜好设置即可;其他分别是IP地址、子网掩码、网关以及DNS服务器地址,根据实际情况填写即可。

设置完毕PVE开始安装,安装完毕重启电脑(该过程一般为5至10分钟)默认项引导即可(无人工干预自动进入)。

引导完毕,界面将变成纯字符界面,只有IP地址和登录输入,这时候我们就可以使用其他电脑登录操作了。

在其他电脑上输入PVE服务器lP地址,注意格式要包括https:∥以及端口号8006,例如https:∥192.168.1.2:8006,否则无法正确访问。在登录界面,将语言设置为“Chinese(Simplified)”即中文。

输入用户名密码,即可登录到PVE的主界面了。

软路由,我来了!

虚拟机安装完成,我们接下来就可以安装软路由系统了。首先下载爱快路由系统固件(安装镜像文件),下载地址:https:∥www.ikuai8.com/component/download,然后将下载好的镜像文件上传到PVE主机上。在PVE的页面上,点击“local”然后选择“内容”,点击上传,并选择镜像文件的本地存放地址,将其上传。

镜像文1牡传完毕,点击“创建虚拟机”,勾选“高级”选项,点击“开机自启动”(为了确保该虚拟机可以正常被当做路由使用),名称可以根据自己的喜好填写,例如ikuai。

接着,选择“使用CD/DVD光盘镜像文件(ISO)”,存储部分选择“local”,在“ISO映像”部分选中刚才上传的镜像文件,“类别”处选择Linux并点击下一步继续。

配置“系统”、“硬盘”部分一切默认即可,如果有自定义需求可以调整硬盘存储位置,本文以单硬盘不分区为例。然后在“CPU”部分“Sockets”选择“1”,核也设置为“1”即可,软路由固然由CPU“模拟”,只要不是N270一类的产品就足以应对70接下来就是内存,内存部分笔者推荐512MB至1 GB的内存分配足够,大部分时间都是用不到那么多内存的。至于网络部分,我们可以使用默认设置,如果是直通网卡则需要在手动调整。

配置完成后会有总览,确认无误后勾选“创建后启动”并点击“完成”即可运行软路由。爱快启动后,点击预览窗口便可以看到运行状态,此时点击激活该窗口,然后用键盘根据提示选择硬盘安装位置,默认只有一个硬盘的情况输入1并回车,照提示按下“Y”键回车即可完成安装。

安装完毕后,我们就可以根据窗口提示的IP地址(会自动分配)重新打开一个浏览器窗口输入该IP地址,就能见到默认的爱快路由设置界面了。

媒体中心这样安装

拥有了软路由后,整个局域网都可以交给这台软路由进行管理控制,接下来就是要为这个局域网添加一个媒体中心了。提示一下,如果你的媒体文件比较多,此时可以先关机(关闭PVE)并断开电源安装第二块硬盘用于数据存储。

安装JellyFin也是要首先上传镜像文件(JellyFin镜像文件下载地址:https:∥mirrors.ustc.edu.cn/tu rnkeylinux/images/proxmox/debian-10-turnkey-mediaserver 16.0-1 amd64.tar.gz),然后选择创建CT(和创建虚拟机不同)容器,注意记住CT ID,如图中为109,后面要用到。然后设置好主机名和密码,取消勾选“无特权的容器”。

然后在模板下要设置为Ubuntu。之后的磁盤部分根据实际情况设置,JellyFin自身的占用空间并不多,但是注意,要给未来的媒体文件留够足够的存储空间。此外内存部分,笔者建议分配4GB的容量使用。

接着要手动制定一个IP地址,注意在IPV4/CIDR后要加上“/24”,否则无法访问。

配置好成功后先不要启动这个CT容器,打开PVE的shell,输入命令“Is-I/dev/dri/”,会显示root video~Elroot render两项,例如video id:226,0和render id:226,128。接下来,使用Winscp之类的软件连接到PVE(SSH)上,然后找到目录中的vim/etc/pve/Ixc/109.conf,注意这个109.conf就是你CT ID的数字。找到文件后,打开记事本一类的文本编辑器,将这个文件拖入进去进行修改。下拉这个文件到最尾部,添加如下内容:

Ixc.cgroup.devices.allow=c 226:0 rwm

Ixc.cgroup.devices.allow=c 226:128 rwm

Ixc.autodev:1

Ixc.hook.autodev:/var/lib/Ixc/109/render_device_hook.sh

注意,第一、二行的数字就是刚刚video id:226,O和renderid:226,128的中的数字内容,最后一行中的109就是你的CT lD。

接下来打开vim/var/lib/Ixc/100/render device hook.sh文件进行修改,拉到最后一行添加内容,具体如下(同样是要对应自己的

video id和render id):

mkdir-p${LXC_ROOTFS_MOUNT}/dev/dri

mknod-m 666${LXC_ROOTFS_MOUNT}/dev/dri/card0 c 226 0

mknod-m 666${LXC_ROOTFS_MOUNT}/dev/dri/renderD128 c 226 128

回到PVE的shell中,输入chmod 755 Ivar/lib/Ixc/100/renderdevice hook.sh命令。然后我们就可以启动容器了,启动后在CT内执行命令apt install i965-va-driver vainfo。如此一来,容器中的JellyFin就能调用显卡对视频内容进行硬件解码了。

最后,在浏览器中输入JellvFin的lP地址(之前手动设置的IP),然后切换至JellyFin的控制台,将转码的硬件加速设置成VAAPI即可。

如此以来,这台电脑已经变身成局域网的网络控制中心、多媒体中心,有兴趣的读者朋友不妨一试。

猜你喜欢

镜像文件网卡硬盘
在DDS 中间件上实现双冗余网卡切换的方法
HiFi级4K硬盘播放机 亿格瑞A15
Egreat(亿格瑞)A10二代 4K硬盘播放机
Server 2016网卡组合模式
没光驱不要紧 装个免费虚拟的
一种快速拷贝数据到FAT分区的方法
用RamOS降低公用机的维护工作量
我区电视台对硬盘播出系统的应用
Win7升级Win10教程
读编往来