SSD에서 Raspberry Pi4를 시작하고 벤치를 표시해 봤습니다.

개시하다


Raspberry Pi4Model B의 8GB Edition를 받았으니 이전부터 해보고 싶었던 SSD부터 시동을 걸어보자.
//가볍게 성공했습니다.
특별히 보도할 내용은 없지만 프로그램을 정리해 저장된 입출력에 대한 기준 테스트 결과를 기록하겠습니다.

USB에 연결된 SSD에서 Raspberry Pi4 시작하기


래스퍼리피4의 USB 메모리 부팅은 당초 어려움이 많았던 것 같았는데, 현재(2021년 5월 4일) 부팅 로더도 정식 버전으로 바뀌어 누구나 쉽게 시도할 수 있게 됐다.
아래의 기사는 참고가 되었다.
  • Raspberry Pi4용 USB(HDD) 부팅 설정 - Qiita
  • How to Boot Raspberry Pi 4 From a USB SSD or Flash Drive | Tom's Hardware
  • 컨디션


    OS는 Raspberry Pi OS Lite 64비트 버전(2021-04-09 버전)을 사용합니다.이미지의 파일 크기 및 SHA-1 해시 값은 다음과 같습니다.
    $ ls -l 2021-03-04-raspios-buster-arm64-lite.*
    -rw-r--r--@ 1 yuya  staff  1807745024 Mar  5 09:14 2021-03-04-raspios-buster-arm64-lite.img
    -rw-r--r--@ 1 yuya  staff   403415352 Apr 27 16:43 2021-03-04-raspios-buster-arm64-lite.zip
    
    $ shasum 2021-03-04-raspios-buster-arm64-lite.*
    496813e17c51d863ee22aea449e45798fbd077c8  2021-03-04-raspios-buster-arm64-lite.img
    1bf60e17074decf585cf1ba1736c7fcc575eb39d  2021-03-04-raspios-buster-arm64-lite.zip
    

    마이크로SD 카드에서 시작


    우선 동작을 확인하고 설정하기 위해 OS 이미지를 마이크로SD 카드에 쓰고 시작합니다.시작 후 환경은 다음과 같습니다.메모리가 남아서 좋네요.
    $ cat /etc/os-release
    PRETTY_NAME="Debian GNU/Linux 10 (buster)"
    NAME="Debian GNU/Linux"
    VERSION_ID="10"
    VERSION="10 (buster)"
    VERSION_CODENAME=buster
    ID=debian
    HOME_URL="https://www.debian.org/"
    SUPPORT_URL="https://www.debian.org/support"
    BUG_REPORT_URL="https://bugs.debian.org/"
    
    $ uname -a
    Linux raspi4b8g-1 5.10.17-v8+ #1403 SMP PREEMPT Mon Feb 22 11:37:54 GMT 2021 aarch64 GNU/Linux
    
    $ grep Model /proc/cpuinfo
    Model		: Raspberry Pi 4 Model B Rev 1.4
    
    $ free
                  total        used        free      shared  buff/cache   available
    Mem:        8000844       70332     7565916       16844      364596     7798872
    Swap:        102396           0      102396
    

    부트 업데이트


    OS를 업데이트한 후 raspi-config 명령을 사용하여 최신 이니시에이터로 변경합니다.
    $ sudo apt update
    $ sudo apt upgrade
    $ sudo rpi-eeprom-update
    *** UPDATE AVAILABLE ***
    BOOTLOADER: update available
       CURRENT: Thu Mar 19 14:27:25 UTC 2020 (1584628045)
        LATEST: Thu Sep  3 12:11:43 UTC 2020 (1599135103)
       RELEASE: default (/lib/firmware/raspberrypi/bootloader/default)
                Use raspi-config to change the release.
    
      VL805_FW: Using bootloader EEPROM
         VL805: up-to-date
       CURRENT: 000137ad
        LATEST: 000137ad
    
    $ sudo raspi-config
    # 6 Advanced Options
    # A7 Bootloader Version
    # E1 Latest  Use the latest version boot ROM software
    
    # 再起動
    
    $ sudo rpi-eeprom-update
    BOOTLOADER: up-to-date
       CURRENT: Thu Mar 18 08:54:11 UTC 2021 (1616057651)
        LATEST: Thu Mar 18 08:54:11 UTC 2021 (1616057651)
       RELEASE: stable (/lib/firmware/raspberrypi/bootloader/stable)
                Use raspi-config to change the release.
    
      VL805_FW: Using bootloader EEPROM
         VL805: up-to-date
       CURRENT: 000138a1
        LATEST: 000138a1
    

    마이크로SD 카드에서 SSD로 복사


    USB에 연결된 SSD "BUFFALO SSD-PGM480U3-B/N"를 랩베리 Pi4의 USB 3.0 포트(파란색)에 연결하고 dd 명령을 사용하여 마이크로SD 카드의 내용을 SSD로 복사합니다.64GB의 복사본은 약 25분이 걸렸다.
    만일의 사태에 대비해 lsusb로 접속 속도를 확인했다.5000M USB 3.0을 통해 연결할 수 있습니다.
    $ 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
    /:  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
    
    $ lsblk
    NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda           8:0    0 447.1G  0 disk
    mmcblk0     179:0    0  59.7G  0 disk
    |-mmcblk0p1 179:1    0   256M  0 part /boot
    `-mmcblk0p2 179:2    0  59.4G  0 part /
    
    # 注意: デバイス名を間違えると、データの消失などの回復不能な問題が生じますので注意してください。
    $ sudo dd if=/dev/mmcblk0 of=/dev/sda bs=16M status=progress
    64088965120 bytes (64 GB, 60 GiB) copied, 1455 s, 44.0 MB/s
    3820+0 records in
    3820+0 records out
    64088965120 bytes (64 GB, 60 GiB) copied, 1465.68 s, 43.7 MB/s
    
    $ lsblk
    NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda           8:0    0 447.1G  0 disk
    |-sda1        8:1    0   256M  0 part
    `-sda2        8:2    0  59.4G  0 part
    mmcblk0     179:0    0  59.7G  0 disk
    |-mmcblk0p1 179:1    0   256M  0 part /boot
    `-mmcblk0p2 179:2    0  59.4G  0 part /
    

    시작 순서 수정

    raspi-config 명령을 사용하여 USB 장치에서 먼저 시작하도록 설정합니다.
    $ sudo raspi-config
    # 6 Advanced Options
    # A6 Boot Order
    # B2 USB Boot     Boot from USB if available, otherwise boot from SD Card
    
    재부팅 후 USB 장치에서 부팅합니다.락진이지?

    스토리지 벤치마크


    마이크로SD 카드에서 부팅한 경우와 SSD에서 부팅한 경우를 각각 메모리 기준 테스트했다.
    아래 문장을 참고하여 fio 명령을 사용하여 아래 설정에서 측정하였다.
    Linux에도 Crystal DiskMark 스타일의 디스크 벤치를 표시하고 싶어요. - 움직이지 마세요.
    $ sudo apt update
    $ sudo apt install fio
    $ cat <<EOS > fio.config
    [global]
    ioengine=libaio
    iodepth=1
    size=1g
    direct=1
    runtime=60
    directory=/tmp
    stonewall
    
    [Seq-Read]
    bs=1m
    rw=read
    
    [Seq-Write]
    bs=1m
    rw=write
    
    [Rand-Read-512K]
    bs=512k
    rw=randread
    
    [Rand-Write-512K]
    bs=512k
    rw=randwrite
    
    [Rand-Read-4K]
    bs=4k
    rw=randread
    
    [Rand-Write-4K]
    bs=4k
    rw=randwrite
    
    [Rand-Read-4K-QD32]
    iodepth=32
    bs=4k
    rw=randread
    
    [Rand-Write-4K-QD32]
    iodepth=32
    bs=4k
    rw=randwrite
    EOS
    

    마이크로SD 카드 측정 결과


    마이크로SD 카드에서 시작할 때의 측정 결과는 다음과 같다.
    $ lsblk
    NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    mmcblk0     179:0    0  59.7G  0 disk
    |-mmcblk0p1 179:1    0   256M  0 part /boot
    `-mmcblk0p2 179:2    0  59.4G  0 part /
    
    $ fio -f fio.config
    
    항목
    스피드
    IOPS
    Seq-Read
    43.9MB/s
    41
    Seq-Write
    22.5MB/s
    21
    Rand-Read-512K
    42.3MB/s
    80
    Rand-Write-512K
    19.0MB/s
    36
    Rand-Read-4K
    10.6MB/s
    2575
    Rand-Write-4K
    3849kB/s
    939
    Rand-Read-4K-QD32
    14.3MB/s
    3493
    Rand-Write-4K-QD32
    4559kB/s
    1113

    SSD 측정 결과


    $ lsblk
    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda      8:0    0 447.1G  0 disk
    |-sda1   8:1    0   256M  0 part /boot
    `-sda2   8:2    0  59.4G  0 part /
    
    $ fio -f fio.config
    
    항목
    스피드
    IOPS
    Seq-Read
    295MB/s
    281
    Seq-Write
    244MB/s
    232
    Rand-Read-512K
    213MB/s
    405
    Rand-Write-512K
    203MB/s
    386
    Rand-Read-4K
    20.6MB/s
    5040
    Rand-Write-4K
    24.0MB/s
    5862
    Rand-Read-4K-QD32
    69.4MB/s
    16.9k
    Rand-Write-4K-QD32
    42.5MB/s
    10.4k

    최후


    이번에는 랩베리 Pi4의 SSD부터 시작해 보겠습니다.
    물론 SSD는 마이크로SD 카드보다 훨씬 빠르다.
    또 SSD의 내구성도 높아 더욱 안정적인 활용을 기대할 수 있다.

    좋은 웹페이지 즐겨찾기