本文將向你展示如何使用 UrBackup 和 Linux Deploy在一臺 Android 舊手機上搭建一臺備份服務器。舊手機的污染問題眾所周知,我有一臺舊手機,雖然外殼有裂紋和磨損,但性能還很好,因此我打算廢物再利用一下。 你的舊手機很可能:警告:這只是一個嘗試可能性的項目。由于我們使用的是 Android,因此必須克服一些困難,而且很多方面都會受到限制。這可能并不是最簡單的備份家庭網絡的方法,也不是使用 UrBackup 的最佳用途。但在設置完成,服務器可以正常運行后,你就可以輕松地管理多臺機器的備份并添加存儲。下面是一些限制:
-
文件系統只能使用 EXT4。這是唯一兼容 UrBackup 和 Android 的文件系統。因此沒有文件系統級別的壓縮等功能。
-
從 chroot 環境下無法直接調用 systemd。我們會安裝一個簡單的啟動腳本,啟動 UrBackup 服務,并使用 pkill 停止服務。此外,我們還會添加一個 cronjob,在系統啟動時啟動服務。
-
UrBackup 主要以 Windows 為主。雖然它提供 Linux 的完整備份功能,但其 Linux 版本的完整鏡像依然是 beta 版狀態。此處我們會安裝穩定版,所以我們的服務器無法支持利用 Linux 客戶端進行完整鏡像備份。但是,你可以在客戶端上創建備份鏡像,然后備份含有這些鏡像的目錄。最后,UrBackup 團隊也在開發 Mac 客戶端支持,但同樣是beta 版。對于我來說,我沒有 Windows 服務器,我也不想備份我的Windows 筆記本電腦,所以我只在 Linux 服務器上使用 UrBackup。
-
Linux Deploy 提供的發行版和版本支持很有限。我試驗了 Centos7、Ubuntu 18.04 和 Debian 10,其中只有 Debian 10 能夠毫無錯誤地運行。UrBackup 對 Debian 的支持也為最好(其他發行版都沒有 ARM64 的 .deb 包)。
-
root 手機。具體做法請參考相關文檔,不在此贅述。
-
安裝 Linux Deploy 并部署 Debian Buster。
-
安裝 UrBackup 服務器。
-
連接客戶端。
準備工作
root Android手機我的手機是 Pixel 4a(8核CPU,6GB內存)。手機的特定型號應該沒有太大關系,但不同的型號可能會遇到不同的問題。如果你的手機是在過去五年內發布的,那么規格上應該沒問題。我建議至少 4 核 CPU 和 2GB 的內存,這對于大多數家庭網絡來說應該就夠了,但是你必須想清楚備份要求。此外不要忘記, Android 操作系統本身將占用一些資源。如果你打算通過 Magisk 來 root 手機,則請注意:-
確保你使用的 boot.img 文件與手機當前的引導程序版本相符。
-
如果你使用的是 Android 11,而且 Magisk 程序無法正常工作,請降級到 Android 10再試。我在 Pixel 4a 上擺弄了一整天的 Android 11。
-
如果你不想使用 Magisk,請非常謹慎地使用其他工具。有很多其他應用程序可能含有惡意軟件。CF-Auto-Root 也是一款很好的 root 工具,但請確認下載源的安全。
可選設備(強烈推薦)
盡管從技術的角度來看,你可以將備份存儲在 SD 卡上,但不建議這樣做。SD 卡的速度較慢,可靠性較低,并且無法長時間處理持續寫入。如果你計劃備份到SD 卡,那么估計一年內就會損壞(如果數據量大,甚至一個月內就會出問題)。帶 USB 線的外置 HDD/SSD大小和寫入速度取決于你個人,但我更關心可靠性,而不是存儲和速度。如果你有大量存儲空間(幾百甚至幾千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/backup
chgrp 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
重啟服務器:pkillurbackup
urbackupsrv-start
3-6. 重新登錄到 Web 界面。到此為止,客戶端已經連接好了。可能“File backup status”(文件備份狀態)會顯示“No paths to backup configured”(沒有設置備份路徑),但沒關系,在第一次完成備份之前,都會這顯示。另外請注意,如果你連接的是Linux 客戶端,則不支持鏡像備份。但是,你可以通過 Linux 客戶端運行鏡像備份,并設置備份鏡像的目錄。接下來,你就可以嘗試一下備份了!
-
智能手機
+關注
關注
66文章
18483瀏覽量
180123 -
服務器
+關注
關注
12文章
9129瀏覽量
85344
原文標題:干貨|舊手機別扔,手把手教你DIY一臺服務器
文章出處:【微信號:電子工程世界,微信公眾號:電子工程世界】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論