VPS刷入飞牛系统解决方案
前言
fnOS作为一款NAS系统,其适用于构建个人家庭数据存储服务器。作为一个新星的NAS系统,其需要解决的地方还有很多,例如各种BUG与论坛里稀奇古怪的需求。整个飞牛论坛已经快成为一个许愿池。
fnOS作为一个免费的NAS系统来看,其现在的产品已经可以做到不错的使用体验。在此之前的万由UNAS也将自己的4.0系统刷机包从官网移除。万由的UNAS在飞牛之前可以说是很多自组NAS用户可选系统中占据不小地位。毕竟它免费还有自带的远程访问。
跑题了。回归本文主题,我在某小服务商处购置了一台配置不错的成都地区VPS。原先是打算用于建站。为此专门花了一笔小钱钱让一家皮包公司代为企业备案。结果网站仅存活了两个月多点就宣告无法访问。管局将我的域名备案撤销了。无奈,新域名与备案费用就此打了水漂。创业未半,而中道崩除。打算开坑的新计划就此落幕。(后面找了方案替代了一下)
在备案掉了的闲置期间,由于VPS上也没搭建什么内容,仅挂了一个空壳博客用于保证这个域名在使用。所以影响到不是很大。VPS的闲置让我把它当成了各种环境的测试机。正是因为这个原因,我才将目光放在了DD系统上。
我在家里的NAS使用的是Unraid系统,套了虚拟机运行飞牛以供家人和我远程上传保存图片。在写这个博文的时候,飞牛的系统版本号是0.8.24。飞牛论坛得到了飞牛即将更新虚拟机功能的信息,并且在飞牛微信群内得到了确认。正好Unraid系统发生故障,前期在Unraid上耗费的心力过大,既然有了虚拟机功能,我也可以将Unraid上的所有服务搬到飞牛上了。将飞牛从虚拟机下运行转向物理机成为计划。正是因为将目光着重放到了飞牛系统上的时候,大脑突然闪过一个想法,能不能给VPS刷飞牛呢?然而,小服务商并不支持自定义IOS安装。(小声:我成都VPS这家甚至VNC与救援系统都是空壳)但是,遇到问题下意识就开始思考有没有解决方法,于是DD就进入了我的脑海。然而在必应搜索的结果中得到的大多是需要VNC进入系统修改DHCP。这显然并不适用我的情况。几经查询,测试与放弃。最终看到了某个论坛里简单的一两个命令。基于得到的两个命令我找到了另外两个博文。于是这篇文章就此出现。我根据查到的教程进行测试,将遇到的问题进行了解决,使得其真正能用而不是为了水文而写。
条件
VPS(系统硬盘建议最少有30G,外加有数据盘)
SSH客户端(如Xterminal、Termius。建议使用带SFTP功能的软件)
脑子
测试
本博文测试环境如下:
VPS(30G系统盘+240G数据盘、16H32G、E5-2660v2、30mbps、debian11)
Xterminal
流程
首先使用SSH客户端软件登录服务器,使用curl将DD脚本下载到根目录(其实什么目录都行啦,毕竟最终所有数据都会覆盖)
需要注意的是,DD后所有数据都会清空,请确保VPS内没有需要的重要数据。
DD 是一个在 Unix 和类 Unix 系统中常用的命令行实用程序,用于将一个文件或存储设备的内容复制到另一个文件或存储设备。故此可以使用DD命令将飞牛系统的镜像进行备份克隆,并且恢复。故此可用于重装系统。
curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh
此时可以执行命令开始进行DD操作了,此时建议后续操作请不要离开,关注一段时间确认正常运行即可倒杯水等待一会儿了。
bash reinstall.sh dd --img https://r2.yx.lu/fnos.vhd.gz
执行此命令会提示输入一个密码,此密码用于登录VPS检测DD过程。(没有VNC,仅通过SSH即可,非常人性化)
在输入完密码且在再次输入确认密码后,脚本任务执行完成。终端会回显提示执行reboot命令以重启服务器以进入DD流程。
reboot
reboot命令执行后,服务器重启,终端连接会掉线退出。请修改服务器登录密码,使用root账户与之前DD脚本中要求设置的密码作为登录凭证,再次使用SSH连接服务器。如果无法连接请多次尝试。当连接成功后,可以通过SFTP查看到系统根目录下有一个log文件。此log文件为DD流程日志,可以不定期刷新log文件,来查看当前DD流程。此流程中会下载fnos.vhd.gz文件到系统中。这将持续一段时间。在log中确认此文件进度条正常,下载过程正常后即可挂着后台,倒一杯水,稍作等待了。当DD流程完成,此SSH连接会再次断开,VPS将再次重启。
此后你将无法通过SSH恢复连接。我们需要打开浏览器,访问VPS公网IP加8000端口以访问飞牛系统的登录页面。如VPS公网IP为192.168.1.1
,我们需要访问的fnOS登录页为192.168.1.1:8000
。登录账号与密码为mjj
与mjj@123
。
需要注意的是此时整个流程还没有走完,很多教程到此就为止了,甚至没有后续真正的使用测试。那些教程都是一模一样的内容,前期要求VNC。太水了。
我们成功登录飞牛管理页面后切记现在最好什么都不要动!!!弹出的添加磁盘提示直接取消不管!!!先打开设置,将SSH功能打开。然后通过SSH客户端使用mjj与mjj@123作为登录凭证登录服务器。我们如果在初次登录飞牛管理页后打开设置就会发现飞牛版本号是0.8.14,这是一个老版本。我们选择更新会提示存储容量为7.9g,容量不足的提示。且磁盘容量也显示的并不是实际的系统盘容量。我们需要解决的就是这个问题,不然会影响后面的应用安装与系统更新。
通过SSH登录上后,先提一下权到root
账户。
sudo -s
然后通过fdisk确认一下服务器磁盘情况。
fdisk -l
理论上一般系统盘设备识别为/dev/vda。我们此时需要继续使用fdisk对vda继续操作。
fdisk /dev/vda
# 在fdisk中,依次执行以下操作
d # 删除分区
3 # 选择分区3
w # 写入更改并退出
这时我们可以再次使用fdisk -l
命令看到vda内原先的三个分区中最后的5g空闲数据分区消失了。
vda在DD流程完成后会存在三个分区分别是vda1的引导分区、vda2的系统分区、vda3的数据分区。
我们现在还需要将空闲没有分配的分区给予系统分区vda2,将其扩容。
parted /dev/vda
# 在parted中,执行以下操作
rm 3 # 在fdisk中的删除分区3也可以在parted中顺带进行,已经删除过就不需要这一步
resizepart 2 100% # 将分区2扩展到最大,根据自己的情况选择比例
quit # 退出parted
请根据自己的系统盘情况来修改 resizepart
部分,小盘就100%。假设系统盘很大,就根据情况选择分配给飞牛系统的空间占此硬盘的比例。保证飞牛有30G?32G?吧。
此时我们可以查看一下vda2的文件格式。(这个步骤是多余的,可以不看,格式就是ext4)
df -T
现在我们调整一下飞牛系统分区大小。
resize2fs /dev/vda2
现在我们已经完成了整个流程。让我们通过df -h
确认一下系统分区是否真的扩大了。然后我们就可以使用reboot
重启服务器,再次登录飞牛管理页面来看看设置中已经扩容好的系统分区容量。然后让我们更新一下系统,然后在设置里添加存储空间把数据盘格式化挂载到飞牛中来吧。此时整个VPS通过DD刷入fnOS的流程就结束了。当前BUG须知:无法绑定飞牛账户。话说都是VPS了,飞牛自带远程想必也用不上了吧。