Raspberry Pi 4で64ビットNextcloudサーバを構築してみました

Raspberry Pi 4でNextcloudサーバを構築してみました。

性能を最大限に引き出すため、最新の64ビットOSをインストールしました。

たっぷりとファイルを入れられるように、Raspberry Pi 4のUSB 3.0端子に5TBの大容量HDDを取り付けます。

ファイルの転送速度等の性能は、過去に構築したRaspberry Pi版で最高性能かと思います。

インストールの手間、性能、そして実用性はどのような感じでしょうか?記録しておこうと思います。

※20.9.21追記:

この記事では、microSDカードでOSを起動しています。microSDカードではなく、HDDから起動する場合の記事はこちらになります。


インストールの全体的な流れ

次のような感じになります。

  1. Ubuntu 20.04 Focal Fossa 64ビットサーバ版インストール
  2. USB接続ストレージを/mediaにマウント
  3. snapでNextcloudインストール
  4. NextcloudのデータディレクトリをUSBストレージに移動

USBストレージの接続

コンセントを2つ使用して、3.5インチの外付けHDDを取り付ける方法が最も簡単ですが。コンパクトに重ねられるように、USB 3.0対応の2.5インチHDDを取り付けてみました。実験してみたのですがRaspberry Pi 4のUSB端子の電源供給能力が低い問題があるため、2.5インチHDDをそのまま接続してもうまく動作しません。

ACアダプタ付きのUSBハブを接続するか、次の記事のようにY字ケーブルで電源を供給する必要があります。


Ubuntu 20.04インストール

microSDカードから起動

OSは4月23日頃に正式リリースが予定されている、Ubuntu 20.04 Focal Fossaプレビュー版を使用してみました。64ビットのサーバ版になります。

インストール手順はこちらの記事を御覧ください。X-Window Systemのインストールは不要です。Ubuntuを起動してパスワードを設定するところまで行えばOKです。

タイムゾーン、ホスト名設定、IPアドレスの固定化

タイムゾーンの設定は必須です。サーバとして使用するため、静的IPアドレスを使用したほうが良いかと思います。こちらの記事を御覧ください。


USBストレージのオートマウント設定

Nextcloudのremovable-mediaスロットを使う都合から、外付けストレージは/mediaにマウントする必要があります。←はいこれ重要です。

いつものautofsでオートマウントしようと思います。詳細はこちらの記事になります。設定がよくわからない場合は、こちらの記事を御覧ください。

外付けストレージを取り付けて、ファイルシステムを作成します。ext4にしてみました。

sudo fdisk /dev/sda
sudo mkfs.ext4 /dev/sda1

autofsインストール後、/etc/auto.master.d/usb.autofsファイルと、/etc/auto.usbファイルを作成します。

# autofsインストール
sudo apt install autofs
# USB接続ストレージは/mediaディレクトリにマウントしようと思います
# /etc/auto.master.d/usb.autofsファイル作成
echo "/media /etc/auto.usb" | sudo tee /etc/auto.master.d/usb.autofs
# /etc/auto.usbファイル作成
echo "hdd1 -fstype=ext4,rw :/dev/disk/by-uuid/"`sudo blkid /dev/sda1 | grep -o '\sUUID=\"[0-9a-f\-]*\"' | grep -o '[0-9a-f\-]*'` | sudo tee -a /etc/auto.usb
# autofsサービス有効化
sudo systemctl enable autofs --now
# 再起動して設定変更を反映
sudo reboot

再起動後、/media/hdd1にアクセスすると、ストレージが自動的にマウントされます。

ls /media/hdd1
df -h

総容量は4.6TBのようです。


Nextcloudのインストール

snapによるインストール

最後にNextcloudをインストールして、データの置き場所を外付けストレージに移動しようと思います。

snapでサラッとインストールしました。バージョンは17.0.3snap1のようです。

sudo snap install nextcloud

このような感じで、確かにRaspberry Pi 4の64ビット環境で、Nextcloudが動作しました。

他のPCからWebブラウザでNextcloudの管理画面へアクセスします。

http://<Raspberry PiのIPアドレス>

管理アカウントのユーザ名、パスワードを入力して、初期設定を済ませます。snapでさらっとNextcloudをインストールしましたが、データベースのmysqldやFast CGIのphp-fpm、そしてhttpd等がしっかりインストールされて動作しています。

外付けストレージのアクセス設定

snapのスロットを使用して、nextcloudが/mediaにアクセスできるように設定しましょう。

sudo snap connect nextcloud:removable-media

これで/mediaにアクセスできるようになったはずです。(昔試したとき、うまく動作しなかったことがあります。)

データディレクトリを、外付けストレージにコピーしました。

sudo cp -r /var/snap/nextcloud/common/nextcloud/data /media/hdd1/nextcloud_data
sudo ls -al /media/hdd1/nextcloud_data

config.phpを編集します。

sudo vi /var/snap/nextcloud/current/nextcloud/config/config.php

36行目のdatadirectoryを、/media/hdd1/nextcloud_dataに変更しました。

  'datadirectory' => '/media/hdd1/nextcloud_data',

再起動して設定変更を反映しました。

sudo reboot

管理画面からNextcloudの空き容量を確認してみました。 外付けストレージの空き容量がしっかり反映されていました。


4GB以上のファイルの取り扱いに問題は?

以前、Raspberry PiでNextcloudサーバを構築した場合、32ビット環境では4GB以上のファイルを取り扱えない場合がありました。

今回構築したNextcloudサーバはどうでしょうか?確認してみました。

Windows版クライアントから、7GBのファイルをアップロードしてみました。

アップロード速度は32MB/s・・・私がメインで使っているNUCのNextcloudよりも高速なんですが・・・

アップロード中のRaspberry Pi 4の負荷は、3.00程度です。4コアのPi 4としては余裕がある感じでした。アップロードの結果は。 このような感じで、問題なくアップロードされました。素晴らしい!


私は現在、自宅のIntel NUCにNextcloudサーバをインストールして使用しています。

何度かRaspberry PiでNextcloudサーバを構築したのですが、性能が不足していたり、バックアップ用のHDDをどうするかという問題がありました。

今回、Raspberry Pi 4でNextcloudサーバを構築しましたが、2つのUSB 3.0端子・ギガビットEthernet端子・大容量(4GB)メモリーの搭載、そして64ビットOSにより、大きく性能が向上しています。

さらに、Raspberry Piは長期間の安定動作も期待できます。直射日光を当てても何ヶ月も普通に動いていました。

もしも今使っているNUCのNextcloudサーバが壊れた場合。次はRaspberry Pi 4で構築しても良いかな、という気になりました。

という個人的に大絶賛のRaspberry Pi 4版Nextcloudでした。宜しければお試し下さいませ。

スポンサーリンク

フォローする

スポンサーリンク