すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:ブロックストレージデバイスのシリアル番号をクエリする

最終更新日:Nov 09, 2025

シリアル番号属性は、オペレーティングシステム内でディスク、elastic ephemeral disk、ローカルディスクなどの Elastic Block Storage デバイスに一意の ID を提供します。この属性は、異なる Elastic Block Storage デバイスを識別し、区別するのに役立ちます。Elastic Block Storage デバイスのシリアル番号を使用して、その ID を特定することもできます。このトピックでは、Linux および Windows オペレーティングシステムで Elastic Block Storage デバイスのシリアル番号をクエリし、シリアル番号に基づいてデバイス ID を特定する方法について説明します。

制限事項

シリアル番号属性には、次の制限事項が適用されます。

  • 2020 年 6 月 10 日以降に作成された Elastic Block Storage デバイスのみがこの属性を持ちます。この日付より前に作成されたデバイスには、この属性はありません。

  • この属性は、I/O 最適化インスタンス、または保証期間が終了した後に移行された非 I/O 最適化インスタンスでのみサポートされます。DescribeInstances 操作を呼び出して IoOptimized パラメーターをクエリし、インスタンスが I/O 最適化インスタンスであるかどうかを判断できます。

    説明

    移行されていない非 I/O 最適化インスタンスや、2020 年 6 月 10 日より前に作成された既存のディスクのシリアル番号をクエリすることはできません。DescribeDisks 操作を呼び出して、オペレーティングシステム内のデバイス名に対応する Device パラメーターをクエリできます。

  • Windows インスタンスの virtio ドライバーは、バージョン 58017 以降である必要があります。詳細については、「Windows インスタンスの virtio ドライバーを更新する」をご参照ください。

ブロックストレージデバイスのシリアル番号をクエリする

Linux

  1. ECS インスタンスに接続します。

    接続方法の詳細については、「接続方法の概要」をご参照ください。

  2. sudo fdisk -lu コマンドを実行して、ECS インスタンス内の Elastic Block Storage デバイスのデバイス名をクエリします。

    截屏2024-11-28 10

    上記の例は、インスタンスに 2 つの Elastic Block Storage デバイスがあることを示しています。システムディスクのデバイス名は /dev/vda で、データディスクのデバイス名は /dev/vdb です。

  3. Elastic Block Storage デバイスが NVMe プロトコルを使用してアタッチされているかどうかを判断します。

    • NVMe プロトコルを使用してアタッチされていない Elastic Block Storage デバイスのデバイス名は、/dev/vdb/dev/vdc/dev/vdd などの /dev/vd[a-z] フォーマットです。

    • NVMe プロトコルを使用してアタッチされている Elastic Block Storage デバイスのデバイス名は、/dev/nvme0n1/dev/nvme1n1/dev/nvme2n1 などの /dev/nvmeXn1 フォーマットです。NVMe プロトコルをサポートするディスクの詳細については、「NVMe プロトコルの概要」をご参照ください。

  4. Elastic Block Storage デバイスのシリアル番号をクエリします。

    • NVMe プロトコルを使用してアタッチされていない Elastic Block Storage デバイスの場合、次のコマンドを実行してシリアル番号を取得します。

      udevadm info --query=all --name=<Device name of the Elastic Block Storage device> | grep ID_SERIAL

      次の例は、デバイス名 /dev/vda のデバイスをクエリする方法を示しています。ID_SERIAL の値がシリアル番号です。/dev/vda のシリアル番号は bp1d4foh3ef8bntl**** です。

      [ecs-user@ecs ~]$ udevadm info --query=all --name=/dev/vda | grep ID_SERIAL
      E: ID_SERIAL=bp1d4foh3ef8bntl****

      udevadm を使用してシリアル番号を取得できない場合は、次のコマンドを実行して、NVMe プロトコルでアタッチされていない Elastic Block Storage デバイスのシリアル番号を取得できます。

      sudo lsblk --output=NAME,SERIAL | grep <Device name of the Elastic Block Storage device>

      次の例は、デバイス /dev/vdb をクエリする方法を示しています。/dev/vdb のシリアル番号は bp1eu6cpm9msq70b**** です。

      [ecs-user@ecs ~]$ sudo lsblk --output=NAME,SERIAL | grep vdb
      vdb    bp1eu6cpm9msq70b****
    • NVMe プロトコルを使用してアタッチされている Elastic Block Storage デバイスの場合、次のコマンドを実行してシリアル番号を取得します。

      1. 次のコマンドを実行して nvme-cli ツールをインストールします。次の例は、さまざまなオペレーティングシステム用のコマンドを示しています。

        Alibaba Cloud Linux 2/3, CentOS 6 以降のバージョン

        説明

        CentOS 6 はサポート終了 (EOL) となりました。Linux コミュニティのルールに従い、すべてのコンテンツが次の CentOS 6 リポジトリアドレスから削除されました: http://mirror.centos.org/centos-6/。Alibaba Cloud でデフォルトの CentOS 6 リポジトリを引き続き使用すると、エラーが報告されます。CentOS 6 の特定のインストールパッケージを使用するには、CentOS 6 のリポジトリアドレスを変更します。詳細については、「CentOS 6 のリポジトリアドレスを変更するにはどうすればよいですか?」をご参照ください。

        sudo yum install nvme-cli -y

        Debian 9 以降のバージョン, Ubuntu 14 以降のバージョン

        重要

        Debian 9 および Debian 10 はサポート終了 (EOL) となったため、Debian 9 または Debian 10 を実行する ECS インスタンスを使用する場合は、まずソースアドレスを切り替える必要があります。詳細については、「CentOS または Debian が EOL に達した後のソースアドレスの切り替え (対応するオペレーティングシステムに統合)」をご参照ください。

        sudo apt-get update
        sudo apt-get install nvme-cli -y
      2. 次のコマンドを実行して、NVMe Elastic Block Storage デバイスのシリアル番号を取得します。

        sudo nvme id-ctrl <Device name of the Elastic Block Storage device> |grep "sn"

        次の例は、/dev/nvme1n1 をクエリする方法を示しています。sn の値がシリアル番号です。/dev/nvme1n1 のシリアル番号は bp1bmed6djhiibh***** です。

        [ecs-user@ecs ~]$ sudo nvme id-ctrl /dev/nvme1n1 |grep "sn"
        
        sn        : bp1bmed6djhiibh*****

Windows

  • Windows Server 2012 以降のバージョンで Elastic Block Storage デバイスのシリアル番号をクエリします。

    1. ECS インスタンスに接続します。

      接続方法の詳細については、「接続方法の概要」をご参照ください。

    2. [Windows PowerShell] を開きます。

      [Start] メニューの横にある検索ボックスに PowerShell と入力し、[Windows PowerShell] をクリックします。

    3. 次のコマンドを実行して、論理ボリュームに対応する Elastic Block Storage デバイスを表示します。

      Get-CimInstance -ClassName Win32_LogicalDiskToPartition |select Antecedent, Dependent |fl

      コマンド出力で論理ボリュームのディスク番号を確認します。たとえば、C ドライブのディスク番号は 0 で、D ドライブのディスク番号は 1 です。

      PS C:\Users\Administrator> Get-CimInstance -ClassName Win32_LogicalDiskToPartition |select Antecedent, Dependent |fl
      
      Antecedent : Win32_DiskPartition (DeviceID = "Disk #0, Partition #0")
      Dependent  : Win32_LogicalDisk (DeviceID = "C:")
      
      Antecedent : Win32_DiskPartition (DeviceID = "Disk #1, Partition #0")
      Dependent  : Win32_LogicalDisk (DeviceID = "D:")
    4. 次のコマンドを実行して、Elastic Block Storage デバイスが NVMe プロトコルを使用してアタッチされているかどうかを確認し、そのシリアル番号を取得します。

      Get-Disk |select Number, SerialNumber, BusType
      • BusType の値が NVMe でない場合、Elastic Block Storage デバイスは NVMe プロトコルを使用してアタッチされていません。次の例は、Disk #1 のクエリを示しています。Disk #1 のシリアル番号は bp14dzwwr539hzqi**** です。

        PS C:\Users\Administrator> Get-Disk |select Number, SerialNumber, BusType
        
        Number SerialNumber         BusType
        ------ ------------         ------- 
             1 bp14dzwwr539hzqi**** SCSI   
             0 bp16htuqeqnvlee8**** SCSI   
      • BusType の値が NVMe の場合、Elastic Block Storage デバイスは NVMe プロトコルを使用してアタッチされています。次の例は、Disk #1 のクエリを示しています。Disk #1 のシリアル番号は bp1heipctzsr7bhh**** です。

        PS C:\Users\Administrator> Get-Disk |select Number, SerialNumber
        
        Number SerialNumber                   BusType
        ------ ------------                   -------
             1 bp1heipctzsr7bhh****_00000001. NVMe
             0 bp16q98m9p2tssdt****_00000001. NVMe
        説明

        NVMe プロトコルを使用してアタッチされている Elastic Block Storage デバイスの場合、返される情報にはシリアル番号と名前空間 ID (00000001) が含まれます。

  • Windows Server 2012 より前のオペレーティングシステムで Elastic Block Storage デバイスのシリアル番号をクエリする

    1. ECS インスタンスに接続します。

      接続方法の詳細については、「接続方法の概要」をご参照ください。

    2. [Windows PowerShell] ツールを開きます。

      [Start] メニューの検索ボックスに PowerShell と入力し、[Windows PowerShell] をクリックします。

    3. 次のコマンドを実行して、論理ボリュームに対応する Elastic Block Storage デバイスを特定します。

      Get-WmiObject -Class Win32_LogicalDiskToPartition |select Antecedent, Dependent |fl

      論理ボリュームに対応するディスク番号を確認します。次の例では、C ドライブのディスク番号は 0 で、D ドライブのディスク番号は 1 です。

      PS C:\Users\Administrator> Get-WmiObject -Class Win32_LogicalDiskToPartition |select Antecedent, Dependent |fl
      
      Antecedent : \\ecs\root\cimv2:Win32_DiskPartition.DeviceID="Disk #0, Partition #0"
      Dependent  : \\ecs\root\cimv2:Win32_LogicalDisk.DeviceID="C:"
      
      
      Antecedent : \\ecs\root\cimv2:Win32_DiskPartition.DeviceID="Disk #1, Partition #0"
      Dependent  : \\ecs\root\cimv2:Win32_LogicalDisk.DeviceID="D:"
    4. 次のコマンドを実行して、Elastic Block Storage デバイスのシリアル番号を取得します。

      Get-WmiObject -Class Win32_PhysicalMedia |select Tag, Serialnumber

      次の例では Disk #0 をクエリします。Disk #0 のシリアル番号は bp1bet4g35opq6vq**** です。

      PS C:\Users\Administrator> Get-WmiObject -Class Win32_PhysicalMedia |select Tag, Serialnumber
      DeviceID           Serialnumber
      --------           ------------    
      \\.\PHYSICALDRIVE0 bp1bet4g35opq6vq****

シリアル番号に基づいて Elastic Block Storage デバイスの ID を特定する

Elastic Block Storage デバイスのシリアル番号を取得した後、コンソールで対応するデバイスを見つけることができます。デバイス ID はシリアル番号からマッピングされます (ブロックストレージ ID = d-{ブロックストレージシリアル番号})。

たとえば、このトピックでクエリするシリアル番号が bp1gks8z0fh3m1z9**** の場合、コンソール内の対応するデバイス ID は d-bp1gks8z0fh3m1z9**** です。

image.png