さて、東京では未だに新型コロナの影響でモヤッとしてるわけで。

テレワークやってると、仕事とプライベートがはっきりしなくて正直疲れます。。。

そんでもって久しぶりに始めたRaspberryPi4によるサーバー構築、今回はUSBメモリーをラズパイのストレージとして導入します。

USB3.0になって高速になったわけで、体感できるかは置いておいて「速い」は「強い」のです!

最強ラズパイサーバーの構築、やっていきます。

USBメモリー選び

冒頭でも書いたけれど、RaspberryPi4のUSB端子4つのうち2つがUSB3.0となりました。

USB2.0から3.0に変わることにより、理論上転送速度は480Mbpsから5Gbpsにアップします。

つ~わけで、USB3.0対応で値段もそこそこお安い、そして超小型なUSBメモリー探して、SanDiskのUltraFit128Gbyteにしました。

マジ小さい。

だけども発熱結構凄い。ここ注意。

フォーマット&パーティション切り

まずはUSBメモリーを指して/var/log/messagesの内容を確認。

pi@raspberrypi:~ $ sudo tail -f /var/log/messages

May 17 00:00:04 raspberrypi rsyslogd:  [origin software="rsyslogd" swVersion="8.1901.0" x-pid="320" x-info="https://www.rsyslog.com"] rsyslogd was HUPed
May 18 00:00:04 raspberrypi rsyslogd:  [origin software="rsyslogd" swVersion="8.1901.0" x-pid="320" x-info="https://www.rsyslog.com"] rsyslogd was HUPed
May 19 00:00:04 raspberrypi rsyslogd:  [origin software="rsyslogd" swVersion="8.1901.0" x-pid="320" x-info="https://www.rsyslog.com"] rsyslogd was HUPed
May 20 00:00:03 raspberrypi rsyslogd:  [origin software="rsyslogd" swVersion="8.1901.0" x-pid="320" x-info="https://www.rsyslog.com"] rsyslogd was HUPed
May 21 00:00:58 raspberrypi rsyslogd:  [origin software="rsyslogd" swVersion="8.1901.0" x-pid="320" x-info="https://www.rsyslog.com"] rsyslogd was HUPed
May 22 00:00:57 raspberrypi rsyslogd:  [origin software="rsyslogd" swVersion="8.1901.0" x-pid="320" x-info="https://www.rsyslog.com"] rsyslogd was HUPed
May 23 00:00:42 raspberrypi rsyslogd:  [origin software="rsyslogd" swVersion="8.1901.0" x-pid="320" x-info="https://www.rsyslog.com"] rsyslogd was HUPed
May 23 07:36:30 raspberrypi kernel: [1480800.724797] usb 2-2: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd
May 23 07:36:30 raspberrypi kernel: [1480800.755949] usb 2-2: New USB device found, idVendor=0781, idProduct=5583, bcdDevice= 1.00
May 23 07:36:30 raspberrypi kernel: [1480800.755966] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
May 23 07:36:30 raspberrypi kernel: [1480800.755979] usb 2-2: Product: Ultra Fit
May 23 07:36:30 raspberrypi kernel: [1480800.755991] usb 2-2: Manufacturer: SanDisk
May 23 07:36:30 raspberrypi kernel: [1480800.756004] usb 2-2: SerialNumber: 01013fc9f9e0f2da241b4553de8bdc6487b9dda1671f2114f4bfca9848e6c2d3c6280000000000000000000044fd3307000c2c00835581076da606cb
May 23 07:36:30 raspberrypi kernel: [1480800.765108] usb-storage 2-2:1.0: USB Mass Storage device detected
May 23 07:36:30 raspberrypi kernel: [1480800.766086] scsi host0: usb-storage 2-2:1.0
May 23 07:36:30 raspberrypi mtp-probe: checking bus 2, device 2: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb2/2-2"
May 23 07:36:30 raspberrypi mtp-probe: bus: 2, device: 2 was not an MTP device
May 23 07:36:30 raspberrypi mtp-probe: checking bus 2, device 2: "/sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb2/2-2"
May 23 07:36:30 raspberrypi mtp-probe: bus: 2, device: 2 was not an MTP device
May 23 07:36:31 raspberrypi kernel: [1480801.777687] scsi 0:0:0:0: Direct-Access     SanDisk  Ultra Fit        1.00 PQ: 0 ANSI: 6
May 23 07:36:31 raspberrypi kernel: [1480801.778601] sd 0:0:0:0: [sda] 240254976 512-byte logical blocks: (123 GB/115 GiB)
May 23 07:36:31 raspberrypi kernel: [1480801.779773] sd 0:0:0:0: [sda] Write Protect is off
May 23 07:36:31 raspberrypi kernel: [1480801.780462] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
May 23 07:36:31 raspberrypi kernel: [1480801.788752]  sda: sda1
May 23 07:36:31 raspberrypi kernel: [1480801.788783] sda: p1 size 240353248 extends beyond EOD, enabling native capacity
May 23 07:36:31 raspberrypi kernel: [1480801.791198]  sda: sda1
May 23 07:36:31 raspberrypi kernel: [1480801.791221] sda: p1 size 240353248 extends beyond EOD, truncated
May 23 07:36:31 raspberrypi kernel: [1480801.794144] sd 0:0:0:0: [sda] Attached SCSI removable disk
May 23 07:36:31 raspberrypi kernel: [1480801.796351] sd 0:0:0:0: Attached scsi generic sg0 type 0

容量123 GB/115 GiB、sdaで認識されていることが分かった。

というわけで、fdiskでパーティション切っていく。

pi@raspberrypi:~ $ sudo fdisk /dev/sda

Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p # ←パーティション情報を表示
Disk /dev/sda: 114.6 GiB, 123010547712 bytes, 240254976 sectors
Disk model: Ultra Fit
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start       End   Sectors   Size Id Type
/dev/sda1          32 240353279 240353248 114.6G  c W95 FAT32 (LBA)

Command (m for help):

と思ったら1パーティションがFAT32で全容量割り当てられてた。

今回は全容量を/dataって感じで割り当てるつもりでいたので、これでよいか。

パーティションの切り方は過去ログ残しているんで参考になるかも。


※2020/06/15訂正

このままだとchmodしても権限付与出来ない事態が発生。

つ~ことで、FAT32ではなくext4でフォーマット。


pi@raspberrypi:~ $ sudo mkfs.ext4 /dev/sda1


usbメモリをマウント

パーティションに対するUUIDを調べる。

pi@raspberrypi:~ $ sudo blkid /dev/sda1
/dev/sda1: UUID="2affcdb7-0cb4-45c3-9f32-668afdf865b9" TYPE="ext4" PARTUUID="d3371137-01"

このUUIDを指定してmountする。


※2020/06/15訂正

ext4でフォーマットしたので、blkidコマンドの結果も当然変わってました。TYPEがext4です。あとUUIDが変わったのは謎。


その前にマウントポイント(mountする先のディレクトリ)を作成する。

pi@raspberrypi:~ $ sudo mkdir /data

/etc/fstabにマウント設定する。

pi@raspberrypi:~ $ sudo vim /etc/fstab

proc            /proc           proc    defaults          0       0
PARTUUID=738a4d67-01  /boot           vfat    defaults          0       2
PARTUUID=738a4d67-02  /               ext4    defaults,noatime  0       1
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that
UUID="A560-633B" /data ext4 defaults,noatime 0 0 # ←追加

※2020/06/15訂正

上記の「ext4」の部分。以前は「vfat」としてましたが修正しました。


確認。再起動前の状態。

pi@raspberrypi:~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        29G  2.1G   25G   8% /
devtmpfs        1.8G     0  1.8G   0% /dev
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           2.0G   17M  1.9G   1% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/mmcblk0p1  253M   53M  200M  21% /boot
tmpfs           391M     0  391M   0% /run/user/1000

再起動後の状態。/dataに/dev/sda1がマウント出来てる。

pi@raspberrypi:~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        29G  2.1G   25G   8% /
devtmpfs        1.8G     0  1.8G   0% /dev
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           2.0G  8.5M  1.9G   1% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/sda1       115G   12M  115G   1% /data
/dev/mmcblk0p1  253M   53M  200M  21% /boot
tmpfs           391M     0  391M   0% /run/user/1000

計測

hdparmってコマンドで計測できるみたい。

でもコマンド入ってなかったのでaptで導入。

pi@raspberrypi:~ $ sudo apt install hdparm

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  powermgmt-base
Suggested packages:
  apmd
The following NEW packages will be installed:
  hdparm powermgmt-base
0 upgraded, 2 newly installed, 0 to remove and 37 not upgraded.
Need to get 119 kB of archives.
After this operation, 259 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf hdparm armhf 9.58+ds-1 [108 kB]
Get:2 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf powermgmt-base all 1.34 [11.1 kB]
Fetched 119 kB in 7s (17.7 kB/s)
Selecting previously unselected package hdparm.
(Reading database ... 51910 files and directories currently installed.)
Preparing to unpack .../hdparm_9.58+ds-1_armhf.deb ...
Unpacking hdparm (9.58+ds-1) ...
Selecting previously unselected package powermgmt-base.
Preparing to unpack .../powermgmt-base_1.34_all.deb ...
Unpacking powermgmt-base (1.34) ...
Setting up powermgmt-base (1.34) ...
Setting up hdparm (9.58+ds-1) ...
Processing triggers for man-db (2.8.5-2) ...

計測してみる

pi@raspberrypi:~ $ sudo hdparm -tT /dev/sda

/dev/sda:
 Timing cached reads:   1780 MB in  2.00 seconds = 890.46 MB/sec
 Timing buffered disk reads: 178 MB in  3.00 seconds =  59.31 MB/sec

これ、どうなんだろ。速いのか?

まとめ

今日はここまで。