很多朋友对用旧手机diy一台服务器多少钱,用旧手机DIY一台服务器不是很了解,六月小编刚好整理了这方面的知识,今天就来带大家一探究竟。本
很多朋友对用旧手机diy一台服务器多少钱,用旧手机DIY一台服务器不是很了解,六月小编刚好整理了这方面的知识,今天就来带大家一探究竟。
本文将向您展示如何使用UrBackup和Linux Deploy在旧的Android手机上构建备份服务器。旧手机的污染问题众所周知。我有一部旧手机。虽然外壳开裂磨损,但性能还是很好的,所以打算废物再利用。你的旧手机很可能没那么旧(你会像换手机一样一两年换一台电脑吗?)
有4-8个处理器,4GB左右内存,内置UPS。只需增加一个外置硬盘,就可以备份整个家庭网络!
警告:这只是一个尝试可能性的项目。因为我们用的是安卓,所以要克服一些困难,很多方面会受到限制。这可能不是备份家庭网络的最简单方法,也不是UrBackup的最佳用途。但是设置完成,服务器可以正常运行之后,就可以轻松管理多台机器的备份,添加存储了。以下是一些限制:
文件系统只能使用EXT4。这是唯一兼容UrBackup和Android的文件系统。所以没有文件系统级压缩等功能。不能从chroot环境中直接调用Systemd。我们将安装一个简单的启动脚本,启动UrBackup服务,并使用pkill停止该服务。此外,我们将添加一个cronjob,以便在系统启动时启动服务。
UrBackup主要基于Windows。虽然它提供了完整的Linux备份功能,但其Linux版本的完整镜像仍处于beta状态。我们将在这里安装稳定版本,因此我们的服务器无法支持Linux客户端的完全镜像备份。但是,您可以在客户机上创建备份映像,然后备份包含这些映像的目录。最后,UrBackup团队也在开发Mac客户端支持,但也是测试版。
对于我来说,我没有Windows服务器,也不想备份Windows笔记本电脑,所以我只用Linux服务器上的UrBackup。
Linux Deploy提供有限的发行版和版本支持。我试过Centos7、Ubuntu 18.04和Debian 10,其中只有Debian 10可以运行不出错。UrBackup对Debian的支持也是最好的(其他发行版都没有。ARM64的deb封装)。如果你打算和我一起尝试,请看下面的行动计划:root手机。具体做法请参考相关文件,此处不再赘述。安装Linux Deploy和deploy Debian Buster。安装UrBackup服务器。
连接客户端。记住,本教程使用了非常特殊的配置,大部分是为了适应在chroot环境下在Android上使用Debian。准备工作。root Android手机
我的手机是Pixel 4a(8核CPU,6GB内存)。手机具体型号应该关系不大,但是不同型号可能会遇到不同的问题。如果你的手机是近五年发布的,规格应该没有问题。我建议至少4核CPU,2GB内存,对于大多数家庭网络应该够用了,但是备份需求你一定要想清楚。另外,别忘了Android操作系统本身也会占用一些资源。
如果你打算通过Magisk root你的手机,请注意:确保你使用的boot.img文件与你手机当前的bootloader版本相匹配。如果您使用的是Android 11,Magisk程序无法正常运行,请降级到Android 10,然后重试。一整天都在Pixel 4a上玩Android 11。
如果你不想使用Magisk,请小心使用其他工具。还有许多其他应用程序可能包含恶意软件。CF-Auto-Root也是一个不错的Root工具,但是请确认下载源码的安全性。这个应用程序可以在Debian server上运行chroot环境。你可以从GitHub下载最新版本。不再维护app store中的版本。BusyBox应用程序
这个应用程序可以为Linux部署提供Unix工具。有几个“忙箱”应用程序可用,但只有这个版本与Linux部署兼容。你可以从GitHub下载最新版本。不再维护app store中的版本。充电线手机的充电线。从另一台机器通过SSH连接服务器虽然理论上可以在手机上安装$ Termux或者SSH应用进行操作,但是通过键盘操作肯定更容易。可选设备(强烈推荐)
虽然从技术角度来看,可以在SD卡上存储备份,但不建议这样做。SD卡速度慢,不可靠,不能长时间处理连续写入。如果打算备份到SD卡,估计一年内就会损坏(数据量大的话,一个月内甚至会出错)。带USB电缆的外置硬盘/固态硬盘
大小和写入速度取决于你个人,但我更关心可靠性,而不是存储和速度。如果你有大量存储空间(几百甚至几千GB),则速度很重要。在这种情况下,写入速度很关键,因为你可以及时完成备份。为了可靠性,我们必须考虑品牌。使用廉价的驱动器,就要做好心理准备备份过程中会出现I/O 错误。
USB 扩展坞
根据你的手机,可能需要支持micro USB 或USB-C。这个扩展坞应该至少有一个USB 端口,可以连接到外部驱动器,而且还有一个充电的端口,但我建议选择一个带有以太网适配器的扩展坞。你可以通过WiFi 运行该服务器,但以太网更快、更可靠。
以太网线
如果你在以太网上运行服务器,则需要准备一个以太网线。
第一步:安装Linux Deploy 并部署Debian Buster
1-1. 在root 完手机后,打开GitHub,下载Linux Deploy 和BusyBox的.apk 软件包,安装这两个应用。
1-2. 安装完毕后,打开BusyBox。安装的过程中,记录下BusyBox 的安装位置。在下图中,BusyBox 安装到了'/system/xbin'。稍后我们会用到这个位置。
1-3. 打开Linux Deploy,点击右下方的设置图标。
完成如下设置:
架构
所有安卓手机都是AARCH64/ARM64。确保显示的是“arm64”(或者是其他发行版的“aarch64”)。
安装路径
默认值是'${EXTERNAL_STORAGE}/linux.img'。这是你的SD 卡,你可以留着它(可以在树莓派上工作)。但是,如果没有插入SD 卡或未正确格式化,则安装将失败。我建议安装到你的内部存储中。我假设你不会使用手机干别的事情,因为它需要一直插着电。
镜像大小(MB)
我建议至少保留15 GB,但请确保为Android 留出足够的存储空间。这部分空间会占用内部存储,因此最后剩下的空间可能没有50 GB 这么多。
初始化系统
如果没有设置为“sysv”,则cronjobs 将不会在启动时运行。
挂载
如果你不担心将来的存储扩展,则挂载外部块设备时只需将其路径直接添加到挂载点。如果以后有扩展存储的打算,则可以考虑逻辑分区。我们在此加载的设备,都可以在启动时直接访问,但不能用于分区和格式化。但是,请记住,重新启动手机时,块设备的名称(/dev/block/sdX) 可能会变化,因此可能需要在重新启动时检查/更新此配置。
如果你挂载的是逻辑卷,则名称不会变化,也不需要检查。
如何找到外部块设备的路径
在Android 上,你可以通过“/dev/block/sdX”(而不是“/dev/sdX”)找到块设备。为了确定哪个sdX 设备是外部块设备,你需要在插入该设备的服务器上运行“lsblk”。然后搜索各种设备,并查看哪一个与你的设备一致(就存储容量/现有分区而言)。如果你在启动后插入设备,则可能是最后一个设备。
注意:挂载块设备后,你必须先解除挂载或关闭服务器,然后才能从物理上断开块设备的连接。如果在未解除挂载的情况下断开块设备的连接,则很可能会丢失所有数据。
1-4. 回到首页,并打开左上角的菜单。选择“Settings”(设置),并一直向下滚动到“PATH variable”(路径变量)。这就是你安装BusyBox 的位置。设置好“PATH variable” 后,选择“Update ENV”(更新环境变量)。
1-5. 返回首页,打开右上角的菜单。点击“Install”(安装)。你将看到安装的实时日志。完成后,日志将以“deploy”结尾。选择屏幕左下角的“START”(开始)。Android 手机上就开始运行Debian 服务器了!
第二步:安装UrBackup 服务器
2-1. SSH 到新部署的服务器。
IP 地址与手机相同,端口为22,你可以使用步骤1-3 中设置的凭据登录。本教程后续内容均假设你以root 身份登录。打开Linux Deploy 就可以看到你的IP:
2-2. 更新系统。
apt update apt upgrade -y apt install wget
2-3. 下载UrBackup 的.deb 包。
wget https://hndl.urbackup.org/Server/2.4.13/urbackup-server_2.4.13_arm64.deb
这是目前最新的稳定版本。
2-4. 创建备份目录。
在这个例子中,我将备份目录设置为“/mnt/backup”。如果你挂载了存储,则目录已经创建好了;如果没有,请创建目录:
mkdir -p /mnt/backup
更新权限:
chownurbackup/mnt/backupchgrp urbackup /mnt/backup
允许UrBackup 写入此目录。
2-5. 安装启动脚本。
我们无法在chroot 环境中调用systemd,因此需要手动启动该服务:
/usr/bin/urbackupsrv run --config /etc/default/urbackupsrv --no-consoletime
为了避免每次都输入该命令,我们可以创建一个脚本:
nano /usr/bin/urbackupsrv-star
将其复制到下面的文件中:
#!/bin/sh/usr/bin/urbackupsrv run --config /etc/default/urbackupsrv --no-consoletime
保存并退出。
添加执行权限:
chmod 755 /usr/bin/urbackupsrv-start
2-6. 启动服务。
urbackupsrv-start
该命令将启动服务器的日志。你可以按下CTRL-C 停止服务,因此需要另开一个SSH 会话。
如果想停止此服务,只需要干掉它就可以了:
pkill urbackup
2-7. 添加定时作业。
由于我们无法以传统的方式“启用” UrBackup 服务,因此需要设置一个定时作业来启动该服务。此外,如果你断开外部块存储或重新启动手机,备份目录的权限可能会恢复。为确保在重新启动时这些设置能保留下来,我们需要添加定时作业。
打开crontab:
crontab -e
添加作业:
@reboot chown urbackup [full/path/to/backup_directory] chgrp urbackup [full/path/to/backup_directory] urbackupsrv-start
保存并退出。
2-8. 打开Web 界面。
通过Web 浏览器导航到服务器的端口55414:
http://YOUR_SERVER_IP:55414
第三步:连接客户端
3-1. 点击屏幕右下方的“Add new client”(添加新客户端):
3-2. 点击“Add new Internet client/client behind NAT”,并输入新客户端的名称:
这是新客户端的主机名。
3-3. 安装客户端。
对于Windows 客户端:
按照“Download preconfigured client installer for Windows” 的说明安装客户端。
对于Linux 客户端:
记下顶部的“Default authentication key”,回头有需要。
登录到客户端,并运行此安装脚本:
(不要运行服务器提供的脚本)
TF=$(mktemp) wget 'https://hndl.urbackup.org/Client/2.4.11/UrBackup%20Client%20Linux%202.4.11.sh' -O $TF sudo sh $TF; rm -f $TF
(检查最新的客户端下载。)
在安装过程中,脚本会要求你选择快照机制。对于“LVM - Logical Volume Manager snapshots”,请输入“2”:
安装完成后,请确认客户端的正常运行:
service urbackupclientbackend status
如果客户端没有运行,请运行下述命令:
service urbackupclientbackend start
最后,通过下述命令将客户端连接到服务器:
urbackupclientctlset-settings-kinternet_mode_enabled-vtrue-kinternet_server-v'YOUR_SERVER_IP'-kinternet_server_port-v'55415'-kcomputername-v'YOUR_CLIENT_NAME'-k internet_authkey -v 'YOUR_DEFAULT_AUTHENTICATION_KEY'
请确保'YOUR_CLIENT_NAME'与3-2中设置的主机名相同,'YOUR_DEFAULT_AUTHENTICATION_KEY'是服务器前面生成的键。
3-4. 配置服务器。
返回Web 界面,你会发现客户端并不在线,点击顶部导航栏上的“Settings”(设置):
点击“Settings”页面上的“Internet”(互联网)页签,检查如下设置:
(如果所有客户端都是本地的,则可以取消“Do image backups over the internet”以及“Do full file backups over the internet”。)
滚动到底部并单击保存。
3-5. 设置备份目录。
在“Settings”页面上,点击“”Client settings(客户端设置)。选中“Separate settings for this client”,在“File Backups”下的“Default directories to backup”中设置你想备份的目录。如果想添加多个目录,可以用分号“;”分隔。
你还可以在此设置备份间隔。
点击底部的保存。
对于Linux 客户端,你也可以从客户端的命令行设置:
urbackupclientctl add-backupdir -d FILE_PATH
重启服务器:
pkillurbackupurbackupsrv-start
3-6. 重新登录到Web 界面。
到此为止,客户端已经连接好了。可能“File backup status”(文件备份状态)会显示“No paths to backup configured”(没有设置备份路径),但没关系,在第一次完成备份之前,都会这显示。
另外请注意,如果你连接的是Linux 客户端,则不支持镜像备份。但是,你可以通过Linux 客户端运行镜像备份,并设置备份镜像的目录。
接下来,你就可以尝试一下备份了!
审核汤梓红
以上知识分享希望能够帮助到大家!
声明本站所有作品图文均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们
上一篇:铅,原子序数82的金属元素
下一篇:臭氧,有特殊臭味的淡蓝色气体