日本Androidの会秋葉原支部ロボット部 Advent Calendar 2020 5日目です。
aliexpressで独身セールの時に購入したのが届きました。
ラズパイに下駄を履かせて msata ssd をつなげる拡張ボートです。
msata ssdも独身セールで購入したのが届いたので、これを使って msata ssdからOSブートさせてみようと思います。
####作業
組み立てはこんな感じです。
取説とかは特についてないですが、直感でわかる思います。
この方の記事を参考に作業を行います。
https://alexellisuk.medium.com/upgrade-your-raspberry-pi-4-with-a-nvme-boot-drive-d9ab4e8aa3c2
OSをアップグレードをして再起動します。
pi@raspberrypi:~ $ sudo apt update
pi@raspberrypi:~ $ sudo apt upgrade -y
pi@raspberrypi:~ $ sudo reboot
bootloaderのVersionは以下になりました。
pi@raspberrypi:~ $ sudo vcgencmd bootloader_version
Sep 3 2020 13:11:43
version c305221a6d7e532693cc7ff57fddfc8649def167 (release)
timestamp 1599135103
再起動したらraspi-configからAdvanced OptionsからBoot Orderを選択してUSB BootでOKを押します。
ddコマンドでsdカードからmsataにコピーします。
pi@raspberrypi:~ $ sudo dd if=/dev/mmcblk0 of=/dev/sda bs=1M
コピーが終了したらラズパイをシャットダウンしてsdカードを取り外したら電源を入れ直します。
ちゃんとmsataから起動するようになりました
pi@raspberrypi:~ $ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 59.6G 0 disk
tqsda1 8:1 0 256M 0 part /boot
mqsda2 8:2 0 59.4G 0 part /
pi@raspberrypi:~ $ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 59G 6.3G 50G 12% /
devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.5M 1.9G 1% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 253M 54M 199M 22% /boot
tmpfs 385M 0 385M 0% /run/user/1000
####比較
system-analyzeコマンドで起動時間、ddコマンドでwriteの時間を測ってみました。
あくまで参考値ですが起動時間が約半分、writeはざっくり1/8~1/9とsdカードより大幅に向上が得られました
・起動時間(sdカード)
pi@raspberrypi:~ $ sudo systemd-analyze
Startup finished in 2.543s (kernel) + 33.429s (userspace) = 35.973s
graphical.target reached after 33.047s in userspace
・ddコマンド(sdカード)
pi@raspberrypi:~ $ dd if=/dev/zero of=/tmp/write.tmp ibs=1M obs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 43.023 s, 25.0 MB/s
pi@raspberrypi:~ $ dd if=/dev/zero of=/tmp/write.tmp ibs=1M obs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 111.219 s, 9.7 MB/s
pi@raspberrypi:~ $ dd if=/dev/zero of=/tmp/write.tmp ibs=1M obs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 52.4544 s, 20.5 MB/s
・起動時間(msata)
pi@raspberrypi:~ $ systemd-analyze
Startup finished in 1.590s (kernel) + 16.330s (userspace) = 17.921s
graphical.target reached after 16.303s in userspace
・ddコマンド(msata)
pi@raspberrypi:~ $ dd if=/dev/zero of=/tmp/write.tmp ibs=1M obs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 5.95291 s, 180 MB/s
pi@raspberrypi:~ $ dd if=/dev/zero of=/tmp/write.tmp ibs=1M obs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 5.73165 s, 187 MB/s
pi@raspberrypi:~ $ dd if=/dev/zero of=/tmp/write.tmp ibs=1M obs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 5.77155 s, 186 MB/s
SSDからbootさせると性能向上が見込まれていいですね。
SATA SSDのボートも買ってるので別途比較してみたいと思います。