わたしのおうちでは、現在Intel NUCでamd64版のNextcloudサーバを使用していますが、そこそこ年数が経って、故障に備える時期に来ました。
もしも故障したら、次はRaspberry Pi 4でaarch64版のNextcloudサーバを作ろうと思っています。近年、64ビットのLTS版OSがリリースされて、さらにUSBストレージから起動できるようになり、性能がそこそこある故障の心配が少ない実用的なサーバが作れる状況になったためです。
いつ壊れてもすぐ対応できるように、USBストレージ起動版Nextcloudサーバの構築手順を記録しておこうと思います。
64ビット版Ubuntu 20.04.1 LTSのUSBストレージ起動設定
こちらの記事の内容に沿って、USBストレージの接続、ブートローダー(eeprom)の更新、OSイメージの展開を行います。
本格的にNextcloudを運用する場合、夜間バックアップ用のストレージも別に欲しいところです。
このあたりを使って、Raspberry Piに2台のHDDを接続する方法が現実的な気がします。または別のRaspberry PiでNASのようなストレージ・サーバを作ってバックアップしたり・・・そのあたりは後で考えましょう。Ubuntu 20.04.1 LTSへNextcloudインストール
USB HDDから起動してしまうと、あとはsanapでさらっとNextcloudをインストールして完了になります。2020年9月現在、バージョンは19.0.3snap1のようです。
sudo snap install nextcloud
インストールが完了すると、このような感じで自動起動しています。
Webブラウザで下記のURLへアクセスします。
http://<Raspberry PiのIPアドレス>
管理者アカウントのユーザー名、パスワードを入力して初期設定を完了します。
このような感じで、Raspberry Pi 4でaarch64版のNextcloudが動作しました。
容量1TBのHDDを接続しましたが、空き容量は860GB程度あるようです。
Nextcloudサーバの負荷は
Raspberry Pi 4にHDDを取り付けて、aarch64版のUbuntu 20.04.1 LTSを起動した場合。通常の状態でロードアベレージはだいたい1程度のようです。
microSDカードから起動した場合は0.2程度でしたので、何か常時負荷が少しかかった状態に見えます。
Nextcloudサーバをインストール後、大きめのファイルをアップロードしてみました。アップロード速度は、およそ20MB/s程でした。その時のRaspberry Piの負荷は。およそ2.5~3.8程度のようです。
Pi 4は4コアですので、4.0を超えなければバランスの良い負荷と言えます。Nextcloudサーバは丁度良い負荷で動いているようです。
機能的・性能的・負荷的にも特に問題無さそうです。
現在使用しているamd64版のNextcloudサーバは、夜間にデータを自動バックアップしています。
Raspberry Pi版も同様に夜間バックアップが可能かと思いますが、先述のようにもう1台ストレージを接続したほうが良さそうです。
amd64版のNextcloudサーバが壊れたら、このバックアプデータを使って、今度はRaspberry Pi版のNextcloudにリストアしようと思います。
実際に故障してそのような状況になったら、手順を記事に追加しようと思います。(いや壊れないで