2021年5月6日木曜日

ラズパイ34

 現在サーバ用途で使っていないラズパイ4B環境(Raspberry Pi OS 32bit)で以下実験をしてみた。

1.新しい2.5inchHDDケース(UASP対応)のテスト
2.ラズパイ4BのUSB起動、余っているHDDを使用
3.ext4領域を約30GBに縮小、残りをPrimaryPartition,NTFSデータ領域化

【UASP対応】Logitec LGB-PBSUC
https://www.logitec.co.jp/products/hd/lgbpbsuc/

このケースの特徴は、ラズパイ4Bでも使えるUSB3.2,Gen2,UASP対応、Asmedia ASM235CM SATA3-USB3.2 Gen2ブリッジチップ搭載、USB端子が頑丈、中身交換がお手軽、ロジテックという全国どこでも買える入手性、店頭2000円というお手頃価格です。
USB接続はsudo lsusb -tでDriver=uas, 5000Mとなっている事が確認出来たし、10GB単位のファイルコピーでもエラーが無かったので、ラズパイ4Bで問題無くUASP転送が出来ているようですよ。

$ lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M
|__ Port 2: Dev 3, If 0, Class=Hub, Driver=hub/4p, 5000M
|__ Port 1: Dev 4, If 0, Class=Hub, Driver=hub/4p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 2: Dev 3, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 1: Dev 4, If 0, Class=Hub, Driver=hub/4p, 480M

【UASP対応】Logitec LGB-PBSUC+HDD120GB
TARGET=/tmp fio -f f.txt --output-format=terse | awk -F ';' '{print $3, ($7+$48) / 1000}'
Seq-Read 58.77
Seq-Write 8.444
Rand-Read-512K 26.467
Rand-Write-512K 13.771
Rand-Read-4K 0.413
Rand-Write-4K 0.694
Rand-Read-4K-QD32 0.614
Rand-Write-4K-QD32 0.747

※参考1:【UASP非対応】FRONTIER HDDCASE25-B+SSD1TB
$ TARGET=/tmp fio -f f.txt --output-format=terse | awk -F ';' '{print $3, ($7+$48) / 1000}'
Seq-Read 197.323
Seq-Write 197.769
Rand-Read-512K 189.821
Rand-Write-512K 181.54
Rand-Read-4K 9.43
Rand-Write-4K 11.421
Rand-Read-4K-QD32 10.561
Rand-Write-4K-QD32 14.491

※参考2:【UASP対応】ORICO 2577U3+SSD256GB
JMicronチップとUASP対応Linuxドライバの相性が悪く、uasのまま使っているとファイルコピー途中でコケるので、usb-storage化必須!
https://signal-flag-z.blogspot.com/2020/03/raspberry-pi-4usb30ssd.html
https://qiita.com/kark1223/items/34b597b45326d80a4780
$ TARGET=/media/suzyusb/SS256 fio -f f.txt --output-format=terse | awk -F ';' '{print $3, ($7+$48) / 1000}'
Seq-Read 95.212
Seq-Write 96.669
Rand-Read-512K 76.971
Rand-Write-512K 29.424
Rand-Read-4K 7.058
Rand-Write-4K 1.264
Rand-Read-4K-QD32 8.055
Rand-Write-4K-QD32 1.295

古いHDD120GB起動でもMicroSDより起動は速かった。UASP対応・非対応に関わらずラズパイ4Bとの相性さえ悪くないHDDケースなら快適だった。逆に、ラズパイ4Bとの相性が悪いHDDケースORICO 2577U3は異常に遅かったので、今後ラズパイ4Bでは使わないようにしよう。
結果論だが、3B+も4BもUSB起動に使うケースは、どちらもドライバーレスHDDケースとなり、MicroSD感覚でHDD・SSD交換できる環境が整った。

順番は逆になったが、USB起動環境作成は、SD Card CopierでMicroSDからUSBHDDにコピー(一応新しいUUIDを振った)、GPartedでext4領域縮小+NTFS領域確保、という手順ですんなり出来た。USB起動に関して特に設定変更等は必要ないが、Raspberry Pi OSは2021年4月時点最新版にしてあります。私が今使っているRaspberry Pi OSアップデートは以下。

sudo apt update
sudo apt full-upgrade -y
sudo apt autoremove -y
sudo apt clean
sudo reboot

順調にMicroSD起動からUSBHDD起動に出来たわけだが、若干ながらOS起動やOSアップデートが速くなったと感じた。ラズパイ4Bなら、SSDに拘らず、HDDもアリかも。

【rpi-clone】
さて、もう一歩。
Raspberry Pi OSの環境バックアップは、16〜32GBのMicroSDにコピーしてWindows上でイメージ化してNAS保存していました。しかし、今回見つけた方法であれば、使用容量以上であれば余っているHDD,SSDに手軽にクローンを作成出来ます。ようは、容量が小さくて使わなくなったHDDをラズパイ起動環境クローンに使えます。特にドライバーレスなHDDケースとなったのでMicroSD交換と大差ない手間でOS切替が出来るようになったし、余っているHDDで現行環境のクローンを物理的に1つだけバックアップ保存する運用にしよう。クローン作成時は【UASP非対応】FRONTIER HDDCASE25-Bを使えば良いだろう。

rpi-clone
https://uepon.hatenadiary.com/entry/2020/06/02/203949
インストールは以下。
git clone https://github.com/billw2/rpi-clone.git
cd rpi-clone
sudo cp rpi-clone rpi-clone-setup /usr/local/sbin

「lsblk」でクローン先ディスクがsdbなのかsdcなのか調べます。仮にsdbだったとしたら「sudo rpi-clone sdb」でクローン作成を開始します。最終パーテーションを自動サイズ調整してくれる仕様。このとき、最終パーテーションの容量が足りなければ、そのパーテーションを作るだけでコピーをスキップするみたいです。なので、OS用ext4パーテーションの後ろにデータ用ntfs領域があれば、そこを自動でサイズ調整してくれます。

以前はよくコケたSD Card Copierも安定して動くようになったようだが、コマンドラインでrpi-cloneの方が安心感・安定感があります。そもそもクローンを作るだけなんで、GUIである必要も無いし。ついでに言えば、クローン作成用HDDケースはUSB起動に対応出来ないケースでもOKです。

【3B+は】
ラズパイ3B+はSSD起動で使っていたが、これをHDD起動に変えてみたらモッサリ動作になりPalemoonで沢山タブを開いていると偶に落ちるようになった。メモリ不足な3B+のGUI環境こそSSDを使うべきだったと再認識し、ほんの2日くらいでSSD運用に戻した。
ちなみに、SSD環境でのベンチ結果は以下だった。3B+はUSB2.0なんで「Class=Mass Storage, Driver=usb-storage, 480M」、理論値まで出ればシーケンシャル60MB/sなはずだが、前々からこんなものだったなぁ。

pi@raspberrypi:~/Public/fio $ TARGET=/tmp fio -f f.txt --output-format=terse | awk -F ';' '{print $3, ($7+$48) / 1000}'
Seq-Read 26.845
Seq-Write 29.187
Rand-Read-512K 31.254
Rand-Write-512K 27.418
Rand-Read-4K 9.52
Rand-Write-4K 9.42
Rand-Read-4K-QD32 10.124
Rand-Write-4K-QD32 11.936

【バックアップ】
ここ2年くらいラズパイ運用してきて、倉庫HDDにバックアップイメージファイルを複数残してきたが、結果的に現在うまく動いている環境以外は使わず、倉庫HDDの肥やしにしかならないという結論に至った。そういう前提で考えると、バックアップをイメージファイルに残すというのは手間暇かかる割に見返りが少ない。rpi-cloneが使えることが分かったので、手元に余っているHDDやMicroSDにバックアップを1つ残す事で十分としよう。特に私の用途ではスワップファイルを殆ど使わないラズパイ4BならMicroSD起動でも問題無かったので、バックアップは小容量MicroSDでも十分かもしれないな。MicroSDのFAT32フォーマットがRaspberry Pi Imagerで手軽に出来るようになった今なら32GB以下に拘る必要すら無くなったので、コスパで考えて64GBか128GBあたりで良いかもしれない。

0 件のコメント: