USBハードディスクI/Oが遅い。

USBハードディスクI/Oが遅い。

私はいくつかありますメディアソニックプロボックスHF2-SU3S24つのドライブがあります。すべて同じ症状があり、I / Oが非常に遅い(最大約10 MB / s書き込み)。各デバイスは、mdadmと4つのドライブを使用するソフトウェアRAID 5で構成されています。

USB 2.1ポートに接続されていますが、USB 3.0より遅いと予想していましたが、10MB/sは疑わしくてとんでもないほど遅いようです。

各ドライブに対してsmartctl -a出力を公開できますが、どのドライブも失敗せず、ドライブ固有のsyslogにエラーは記録されません。

最初のデバイスのドライブは次のとおりです。

Device Model:     ST2000DL003-9VT166
Device Model:     ST2000DM001-1ER164
Device Model:     ST2000DM001-1CH164
Device Model:     ST2000DM001-1CH164

2番目のデバイスドライブ:

Device Model:     ST2000DL003-9VT166
Device Model:     ST2000DL003-9VT166
Device Model:     WDC WD20EADS-00R6B0
Device Model:     ST2000DL003-9VT166

カーネルバージョン:

3.16.0-6-amd64 #1 SMP Debian 3.16.57-2

マウント出力:

/dev/md2 on /mnt/nas type ext4 (rw,relatime,stripe=256,data=ordered)
/dev/md3 on /mnt/nas2 type ext4 (rw,relatime,stripe=384,data=ordered)

/proc/mdstatの出力

md3 : active raid5 sdg[5] sdj[4] sdi[6] sdh[1]
      5860150272 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
      bitmap: 0/15 pages [0KB], 65536KB chunk

md2 : active raid5 sdc1[0] sdf1[4] sdd1[6] sde1[5]
      5860141056 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]

dd を使用して以下をテストします。

root@talon:/mnt/nas2# dd if=/dev/zero of=/mnt/nas2/testfile bs=1G count=1 oflag=direct
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB) copied, 71.1888 s, 15.1 MB/s

root@talon:/mnt/nas# dd if=/dev/zero of=/mnt/nas/testfile bs=1G count=1 oflag=direct
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB) copied, 80.8867 s, 13.3 MB/s

mdadm --detailの出力

/dev/md2:
        Version : 1.2
  Creation Time : Wed May  1 22:26:29 2013
     Raid Level : raid5
     Array Size : 5860141056 (5588.67 GiB 6000.78 GB)
  Used Dev Size : 1953380352 (1862.89 GiB 2000.26 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Wed Dec  5 21:29:12 2018
          State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

           Name : dev-vm01:0
           UUID : dc4e42f6:3c3eb2f7:d6137927:51e328ef
         Events : 21688

    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       5       8       65        1      active sync   /dev/sde1
       6       8       49        2      active sync   /dev/sdd1
       4       8       81        3      active sync   /dev/sdf1

=-===-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

/dev/md3:
        Version : 1.2
  Creation Time : Sat Mar 10 11:08:14 2018
     Raid Level : raid5
     Array Size : 5860150272 (5588.67 GiB 6000.79 GB)
  Used Dev Size : 1953383424 (1862.89 GiB 2000.26 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

  Intent Bitmap : Internal

    Update Time : Wed Dec  5 21:23:31 2018
          State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

           Name : dragon:0
           UUID : 70d8f410:462c6714:50231e20:b08aca81
         Events : 151906

    Number   Major   Minor   RaidDevice State
       5       8       96        0      active sync   /dev/sdg
       1       8      112        1      active sync   /dev/sdh
       6       8      128        2      active sync   /dev/sdi
       4       8      144        3      active sync   /dev/sdj

詳細情報

root@talon:/mnt/nas# lsusb
Bus 009 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 152d:0567 JMicron Technology Corp. / JMicron USA Technology Corp.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 152d:0567 JMicron Technology Corp. / JMicron USA Technology Corp.
Bus 001 Device 002: ID 2109:3431
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

root@talon:/mnt/nas# lsusb -v -s 3:2

Bus 003 Device 002: ID 152d:0567 JMicron Technology Corp. / JMicron USA Technology Corp.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x152d JMicron Technology Corp. / JMicron USA Technology Corp.
  idProduct          0x0567
  bcdDevice            2.05
  iManufacturer          10 JMicron
  iProduct               11 USB to ATA/ATAPI Bridge
  iSerial                 5 152D00539000
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          4 USB Mass Storage
    bmAttributes         0xc0
      Self Powered
    MaxPower               50mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              6 MSC Bulk-Only Transport
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength           22
  bNumDeviceCaps          2
  USB 2.0 Extension Device Capability:
    bLength                 7
    bDescriptorType        16
    bDevCapabilityType      2
    bmAttributes   0x00000002
      Link Power Management (LPM) Supported
  SuperSpeed USB Device Capability:
    bLength                10
    bDescriptorType        16
    bDevCapabilityType      3
    bmAttributes         0x00
    wSpeedsSupported   0x000e
      Device can operate at Full Speed (12Mbps)
      Device can operate at High Speed (480Mbps)
      Device can operate at SuperSpeed (5Gbps)
    bFunctionalitySupport   1
      Lowest fully-functional device speed is Full Speed (12Mbps)
    bU1DevExitLat          10 micro seconds
    bU2DevExitLat        2047 micro seconds
Device Status:     0x0001
  Self Powered


=-=-=-=-=-=-=-=-=-==-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

root@talon:/mnt/nas# lsusb -v -s 1:3

Bus 001 Device 003: ID 152d:0567 JMicron Technology Corp. / JMicron USA Technology Corp.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x152d JMicron Technology Corp. / JMicron USA Technology Corp.
  idProduct          0x0567
  bcdDevice            2.05
  iManufacturer          10 JMicron
  iProduct               11 USB to ATA/ATAPI Bridge
  iSerial                 5 152D00539000
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          4 USB Mass Storage
    bmAttributes         0xc0
      Self Powered
    MaxPower               50mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              6 MSC Bulk-Only Transport
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
       bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength           22
  bNumDeviceCaps          2
  USB 2.0 Extension Device Capability:
    bLength                 7
    bDescriptorType        16
    bDevCapabilityType      2
    bmAttributes   0x00000002
      Link Power Management (LPM) Supported
  SuperSpeed USB Device Capability:
    bLength                10
    bDescriptorType        16
    bDevCapabilityType      3
    bmAttributes         0x00
    wSpeedsSupported   0x000e
      Device can operate at Full Speed (12Mbps)
      Device can operate at High Speed (480Mbps)
      Device can operate at SuperSpeed (5Gbps)
    bFunctionalitySupport   1
      Lowest fully-functional device speed is Full Speed (12Mbps)
    bU1DevExitLat          10 micro seconds
    bU2DevExitLat        2047 micro seconds
Device Status:     0x0001
  Self Powered

「USB 2.1ポートに接続されているようです」これをどのように確認しましたか?

lsusbの出力を表示します。

bcdUSB               2.10

どのマザーボードまたはコンピュータモデルを使用しており、どのUSBポートを使用していますか?

マザーボード:GA-78LMT-USB3バージョンと正しいポートを確認する必要がありました。

このPCで別のポートを試してみましたか?それでは、同じ結果が出ますか?

はい - 異なるUSBポートを介して2台のデバイスが同じデスクトップに接続されています。 Raspberry Piでもこの速度を得ることができます。

USB 2.0はUSB 3.0よりはるかに遅いです。 USB 2.0を介して直接接続されたハードドライブは20MB /秒をほとんど超えませんが、USB 3.0では小さな2.5インチディスクでも100MB /秒を達成できます。

ディスクサイズは重要ではありません。私はこれを信じていません。遅いですが、10MB/s より速いという多くのリソースがあります。

デバイスの1つを既知のUSB 3.0ポートに接続しました。

Bus 002 Device 002: ID 152d:0567 JMicron Technology Corp. / JMicron USA Technology Corp.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         9
  idVendor           0x152d JMicron Technology Corp. / JMicron USA Technology Corp.
  idProduct          0x0567
  bcdDevice            2.05
  iManufacturer          10 JMicron
  iProduct               11 USB to ATA/ATAPI Bridge
  iSerial                 5 152D00539000

これで転送速度は3倍速くなりましたが、それでも予想される速度ほど速くはありません。

root@talon:/mnt/nas2# dd if=/dev/zero of=/mnt/nas2/testfile4 bs=1G count=1 oflag=direct
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB) copied, 32.2737 s, 33.3 MB/s

fdiskの出力:

Disk /dev/sdc: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
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: 0xe3b023b3

Device     Boot Start        End    Sectors  Size Id Type
/dev/sdc1          63 3907024064 3907024002  1.8T 83 Linux


Disk /dev/sdd: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
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: 0x580e98e6

Device     Boot Start        End    Sectors  Size Id Type
/dev/sdd1        2048 3907029167 3907027120  1.8T 83 Linux


Disk /dev/sde: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
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: 0x000d19a7

Device     Boot Start        End    Sectors  Size Id Type
/dev/sde1        2048 3907028991 3907026944  1.8T 83 Linux


Disk /dev/sdf: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
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: 0xc16a55ab

Device     Boot Start        End    Sectors  Size Id Type
/dev/sdf1        2048 3907029167 3907027120  1.8T 83 Linux

Disk /dev/sdg: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
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: 0xc91d9f27

Device     Boot Start        End    Sectors  Size Id Type
/dev/sdg1        2048 3907028991 3907026944  1.8T fd Linux raid autodetect


Disk /dev/sdj: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
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: 0x65cd7624

Device     Boot Start        End    Sectors  Size Id Type
/dev/sdj1        2048 3907028991 3907026944  1.8T fd Linux raid autodetect


Disk /dev/sdi: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
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: 0x03221dd4

Device     Boot Start        End    Sectors  Size Id Type
/dev/sdi1        2048 3907028991 3907026944  1.8T fd Linux raid autodetect


Disk /dev/sdh: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
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: 0xc91329ab

Device     Boot Start        End    Sectors  Size Id Type
/dev/sdh1        2048 3907028991 3907026944  1.8T fd Linux raid autodetect

編集:いくつかのトラブルシューティングを行った結果、USBコントローラに問題があることがわかりました。これがLinuxとマザーボードのUSBコントローラ間の互換性の問題であるかどうかはわかりません。しかし、最新のカーネルを試してみましたが、LinuxはUSB 3.0ポートでデバイスを初期化することさえ拒否しました。しかし、USB 3.0接続が可能なノートブックでProboxを使用してみたところ、非常にうまくいきました。

答え1

USB2速度(60MB/s)を同時にRAID書き込みのドライブ数(4)で割った値は15MB/sに若干のオーバーヘッドを加えたものなので、10が合理的だと考えられます。

RAID の取り外しをテストしてバスが使用されていないことを確認し、次を実行します。

hdparm -Tt /dev/sdh

答え2

内蔵USBコントローラは、そこに印刷されたシリコンよりも価値が低いことがわかりました。 PCI-e USB 3.1コントローラをインストールしましたが、速度は10 MB / sではなく61 MB / sです。データ転送速度に関してはまだ「高速」ではありませんが、60 MB / sは大きな違いです。

関連情報