2018年5月、Raspberry Piで利用可能なFedora 28がリリースされました。
Fedora 28は32ビットのarmv7l版と、64ビットのaarch64版の2種類がリリースされています。64ビット版はPi 3で利用可能ですが、Pi ZeroやPi 2は32ビット版のみ利用可能です。
64ビットOSでメモリーやファイルを取り扱う場合、特に大きな問題はありませんが、32ビットOSの場合、2GBまたは4GBサイズの制限がある場合があります。
一概に32ビットなら必ず制限があるわけではなく、たとえばNextcloud専用OSであるNextcloudpiは、32ビットOSのRaspbianをベースにしていますが、4GB以上のファイルを取り扱うことができます。
32ビットのarmv7l版Fedora 28にspan版Nextcloudをインストールした場合、ファイルサイズの制限があるかどうか調べてみました。
目次
Raspberry PiでsnapのNextcloudは2GB以上のファイルを扱える?32ビットarmv7l版Fedora 28
64ビット版は2GB、4GBの制限は無いようです
実際にこちらの記事で試してみたところ、aarch64版Fedoraでは、2GB、4GBの制限がありませんでした。
aarch64版は、Raspberry Pi 3のみ対応しています。
Raspberry Pi Zeroや、Pi 2等、ハードウェアが32ビットにのみ対応している場合と、Raspberry Pi 3で32ビット版を利用した場合、どうなの?というお話になります。
armv7l版Fedora 28のインストール
こちらの記事の手順でインストールしましたが、aarch64版ではなくarmv7l版のmicroSDカードイメージを使用しました。
snap版Nextcloudのインストール
こちらの記事の手順でsnapとNextcloudをインストールしました。
snapdのインストール前に、/var/snapディレクトリに外付けUSB HDDをマウントしておくことで、データをHDDに入れるかたちです。
Nextcloudのバージョンは12.0.5snap3のようです。
4GB以上のファイルをアップロード
Windows版Nextcloudクライアントを使って、6GB以上のファイルをアップロードしてみました。
アップロード速度は5~6MB/s程度でした。(LAN等の環境により異なります)
ファイルは分割されてNextcloudサーバへアップロードされて、アップロードが完了すると、ファイルの結合が始まります。
アップロード中の負荷(ロードアベレージ)は1~2程度、結合中の負荷は2~4のようです。
2GB以上のファイルをアップロードできるか
次のようなコマンドで、アップロードされたファイルの結合の様子を10秒おきにみてみました。
while : ;do ls -al /var/snap/nextcloud/common/nextcloud/data/admin/files/;sleep 10;done
結合中のファイルが2,122,867,200バイト(およそ2GB)を超えると、ファイルが消えてしまいました。
おそらく扱えるファイルサイズは2GB以下かと思います。
以前、別のシングルボードコンピュータであるCubieboardで同じことを調べてみました。
その時と同様に、ファイルを分割しているため、Apache(httpd)のPOST最大サイズ2GBの影響は無いものの、php-fpmプロセスの32ビットの制限のために、2GB以下になってしまうようです。
2GB以上のファイルを扱いたい場合。
Raspberry Pi 3でしたら、64ビット対応のOSを利用するか
Raspberry Pi 2やZero等、32ビット対応OSのみ対応の場合、専用OSを利用する方法が良さそうです。