重複ボリュームの作成と管理

スナップショットから、継承またはカスタマイズされた容量およびパフォーマンス設定を持つ Block Storage for Classic ボリュームの複製を作成します。この複製は、依存コピーまたは独立コピーのいずれかとして作成できます。

複製ボリュームは、デフォルトで元のボリュームの容量とパフォーマンス・オプションを継承しますが、作成時に両方の属性をカスタマイズすることができます。 複製には、作成に使われたスナップショットのデータのコピーが含まれる。

IBM Cloud® Kubernetes Service の「専用」アカウント・ユーザーである場合は、IBM Cloud Kubernetes Service 資料にある、ボリュームを複製するためのオプションを参照してください。

複製は特定時点のスナップショットのデータに基づいているため、複製を作成するには、元のボリュームにスナップショット・スペースが必要です。 スナップショットの詳細、およびスナップショット・スペースの注文方法については、スナップショットの説明を参照してください。

重複ボリュームのタイプ

独立した重複

独立した複製はプライマリー・ボリュームからでもレプリカ・ボリュームからでも作成できます。 複製は、元のボリュームと同じデータセンター内に作成されます。 レプリカボリュームから複製を作成する場合、その複製ボリュームはレプリカボリュームと同じデータセンター内に作成されます。

独立した重複ボリュームの一般的な使用法

  • ゴールド・コピー。 ストレージボリュームを「マスターコピー」として使用し、そこからさまざまな用途に合わせて複数のインスタンスを作成できるようにします。
  • データ更新: 本番環境のデータのコピーを作成し、テスト用に非本番環境にマウントしてください。
  • 開発とテスト。 ボリュームの同時複製を一度に 4 つまで作成して、開発およびテスト用の複製データを作成する。

従属の重複

従属複製ボリュームは、1 次ボリュームからのスナップショットを使用して作成されます。 レプリカボリュームを使用して、依存関係のある複製を作成または更新することはできません。

従属重複ボリュームの一般的な使用法

  • 災害復旧テスト: ソース・ボリュームの複製を作成し、それをレプリカと比較します。 複製をレプリカと比較することにより、複製されるデータがそのままで、複製を中断せずに災害が発生した場合に使用できることを確認できます。
  • スナップショットからのリストア: スナップショット・リストア機能で、元のボリューム全体を上書きせずに、特定のファイルおよび日付を指定してスナップショットから元のボリュームのデータをリストアする。
  • データ更新: 本番環境のデータのコピーを作成し、テスト用に非本番環境にマウントしてください。
  • 開発とテスト。 ボリュームの同時複製を一度に 4 つまで作成して、開発およびテスト用の複製データを作成する。

コンソールでボリュームの複製を作成する

CLI および IBM Cloud コンソール で、いくつかの方法で複製ボリュームを作成できます。

コンソールの「ストレージ一覧」から複製を作成する

  1. Block Storage for Classic のリストに移動し、IBM Cloud コンソールの Infrastructure > Classic Infrastructure > Storage > Block Storage for Classic をクリックします。

  2. リストからボリュームを選択し、省略符号 「アクション」アイコン > 「ボリュームの複製」 をクリックします。

  3. 重複を従属にするか独立にするかを選択します。

  4. 複製を作成するために使用するスナップショットオプションを選択してください。 既存のスナップショットを選択することも、新規スナップショットを作成することもできます。

  5. ロケーション項目は、元のボリュームと同じままです。

  6. 「時間単位または月単位の請求 (Hourly or Monthly Billing)」– 複製ボリュームのプロビジョンに時間単位の請求を使用するか月単位の請求を使用するかを選択できます。 元のボリュームの請求タイプが自動的に選択されます。 複製ストレージに別の請求タイプを選択する場合は、ここでその選択を行うことができます。

  7. 新規ボリュームを元のボリュームよりも大きいサイズに更新できます。 元のボリュームのサイズが、デフォルトで設定されています。

    Block Storage for Classicは、ボリュームの元のサイズの 10 倍にサイズ変更できます。

  8. 新規ボリュームのスナップショット・スペースを更新して、スナップショット・スペースを追加、縮小、またはスナップショット・スペースなしにすることができます。

  9. OS タイプは、元のボリュームと異なるものを選択することも、同じままにすることもできます。

  10. 必要に応じて、新しいボリュームに対してIOPSまたはIOPS Tierを指定することができます。 元のボリュームの IOPS 指定が、デフォルトで設定されています。 使用可能なパフォーマンスとサイズの組み合わせが表示されます。

    • 元のボリュームが 0.25 IOPS エンデュランス層の場合、新しい選択を行うことはできません。
    • 元のボリュームが 2、4、または 10 IOPS エンデュランス・ティアである場合、新規ボリュームでは、これらのティアのどれにでも移動できます。
  11. ご使用条件を読んで同意したら、ボックスにチェック・マークを付けます。

  12. **「作成」**をクリックして先に進みます。

UI での「ボリューム詳細」ページからの重複の作成

  1. Block Storage for Classic のリストに進みます。

  2. リストからボリュームをクリックして詳細ページを表示します。 (レプリカボリュームでもプライマリボリュームでも構いません。)

  3. 「アクション」 「アクション」アイコン> 「ボリュームの複製」 をクリックします。

  4. 重複を従属にするか独立にするかを選択します。

  5. 複製を作成するために使用するスナップショットオプションを選択してください。 既存のスナップショットを選択することも、新規スナップショットを作成することもできます。

  6. ロケーション項目は、元のボリュームと同じままです。

  7. 「時間単位または月単位の請求 (Hourly or Monthly Billing)」– 複製ボリュームのプロビジョンに時間単位の請求を使用するか月単位の請求を使用するかを選択できます。 元のボリュームの請求タイプが自動的に選択されます。 複製ストレージに別の請求タイプを選択する場合は、ここでその選択を行うことができます。

  8. 新規ボリュームを元のボリュームよりも大きいサイズに更新できます。 元のボリュームのサイズが、デフォルトで設定されています。

    Block Storage for Classicは、ボリュームの元のサイズの 10 倍にサイズ変更できます。

  9. 新規ボリュームのスナップショット・スペースを更新して、スナップショット・スペースを追加、縮小、またはスナップショット・スペースなしにすることができます。

  10. OS タイプは、元のボリュームと異なるものを選択することも、同じままにすることもできます。

  11. 必要に応じて、新しいボリュームに対してIOPSまたはIOPS Tierを指定することができます。 元のボリュームの IOPS 指定が、デフォルトで設定されています。 使用可能なパフォーマンスとサイズの組み合わせが表示されます。

    • 元のボリュームが 0.25 IOPS エンデュランス層の場合、新しい選択を行うことはできません。
    • 元のボリュームが 2、4、または 10 IOPS エンデュランス・ティアである場合、新規ボリュームでは、これらのティアのどれにでも移動できます。
  12. ご使用条件を読んで同意したら、ボックスにチェック・マークを付けます。

  13. **「作成」**をクリックして先に進みます。

「作成」 をクリックすると、オーダー確認ウィンドウが表示されます。 ウィンドウを閉じると、リソース・リストに戻ります。 Block Storage for Classic ボリュームのリストに戻って、新しくプロビジョンされた複製をクリックできます。 ボリューム詳細セクションには、複製タイプ、親ボリュームの詳細ページへのリンク、複製の作成に使用されたスナップショットの名前などの情報が表示されます。

CLI から複製を作成する

開始する前に、使用する CLI クライアントを決定します。

IBMCLOUD CLI からの複製の作成

ibmcloud sl block volume-duplicate コマンドを使用して、ブロック共有の複製を作成できます。 以下の例では、ブロック共有 560382016 の独立した複製を作成します。

ibmcloud sl block volume-duplicate 560382016
This action will incur charges on your account. Continue?> y
OK
Order 110554892 was placed.
 > Storage as a Service
 > File Storage
 > 500 GBs
 > 4 IOPS per GB
 > 500 GB (Snapshot Space)
You may run 'ibmcloud sl block volume-list --order 110554892' to find this block volume after it is ready.

複製ボリュームの作成に使用するデータを保持する特定のスナップショットがある場合は、 --origin-snapshot-id オプションを使用してスナップショットの ID を指定します。

新しい複製の準備が数分以内に完了します。

$ ibmcloud sl block volume-list --order 110554892
id          username             datacenter   storage_type             capacity_gb   bytes_used   IOPs   ip_addr                                 lunId   active_transactions   rep_partner_count   notes
560391190   SL02SEV1414935_269   dal09        endurance_block_storage   500           -            -      fsf-dal0902b-fz.service.softlayer.com   -       1                     0                   -

ボリュームの従属複製を作成する場合は、 --dependent-duplicate オプションを指定してコマンドを使用します。 以下の例を参照してください。

$ ibmcloud sl block volume-duplicate 560391190 --dependent-duplicate
This action will incur charges on your account. Continue?> y
OK
Order 110553472 was placed.
 > Storage as a Service
 > File Storage
 > 500 GBs
 > 4 IOPS per GB
 > 500 GB (Snapshot Space)
You may run 'ibmcloud sl block volume-list --order 110553472' to find this block volume after it is ready.

このコマンドで使用可能なすべてのパラメーターについて詳しくは、 ibmcloud sl block volume-duplicateを参照してください。

SLCLI から複製を作成する

独立した複製 Block Storage for Classic ボリュームを作成するには、以下のコマンドを使用できます。

$ slcli block volume-duplicate --help
Usage: slcli block volume-duplicate [OPTIONS] ORIGIN_VOLUME_ID
Options:
  -o, --origin-snapshot-id INTEGER
                                  ID of an origin volume snapshot to use for
                                  duplcation.
  -c, --duplicate-size INTEGER    Size of duplicate block volume in GB. ***If
                                  no size is specified, the size of the origin
                                  volume will be used.***
                                  Minimum: [the size
                                  of the origin volume]
  -i, --duplicate-iops INTEGER    Performance Storage IOPS, between 100 and
                                  6000 in multiples of 100 [only used for
                                  performance volumes] ***If no IOPS value is
                                  specified, the IOPS value of the origin
                                  volume will be used.***
                                  Requirements: [If
                                  IOPS/GB for the origin volume is less than
                                  0.3, IOPS/GB for the duplicate must also be
                                  less than 0.3. If IOPS/GB for the origin
                                  volume is greater than or equal to 0.3,
                                  IOPS/GB for the duplicate must also be
                                  greater than or equal to 0.3.]
  -t, --duplicate-tier [0.25|2|4|10]
                                  Endurance Storage Tier (IOPS per GB) [only
                                  used for endurance volumes] ***If no tier is
                                  specified, the tier of the origin volume
                                  will be used.***
                                  Requirements: [If IOPS/GB
                                  for the origin volume is 0.25, IOPS/GB for
                                  the duplicate must also be 0.25. If IOPS/GB
                                  for the origin volume is greater than 0.25,
                                  IOPS/GB for the duplicate must also be
                                  greater than 0.25.]
  -s, --duplicate-snapshot-size INTEGER
                                  The size of snapshot space to order for the
                                  duplicate. ***If no snapshot space size is
                                  specified, the snapshot space size of the
                                  origin block volume will be used.***
                                  Input
                                  "0" for this parameter to order a duplicate
                                  volume with no snapshot space.
  --billing [hourly|monthly]      Optional parameter for Billing rate (default
                                  to monthly)
  -h, --help                      Show this message and exit.

従属する重複 ボリュームは、オプション --dependent-duplicate TRUE を使用して CLI から注文することもできます。

slcli block volume-duplicate --dependent-duplicate TRUE ORIGIN_VOLUME_ID

使用可能なコマンド・オプションについて詳しくは、「 block volume-duplicate」を参照してください。

APIを使用して複製ボリュームを作成する

APIを使用して独立した複製 Block Storage for Classic ボリュームを注文するには、SL APIに POST。 以下のREST APIの例は、Endurance(IOPSティア)ボリュームの独立した複製を作成します。このボリュームは、vol_id プロパティ duplicateOriginVolumeId 内のボリュームIDによって識別されます。

  • URL - https://USERNAME:APIKEY@api.softlayer.com/rest/v3.1/SoftLayer_Product_Order/placeOrder
  • タイプ-POST
  • 要求本文-
    {
        "parameters":[{
        "complexType": "SoftLayer_Container_Product_Order_Network_Storage_AsAService",
        "packageId": 531,
        "duplicateOriginVolumeId":<PrimaryId>,
        "isDependentDuplicateFlag": 0,
        "prices": [{"id": 19497}, {"id": 16479}, {"id": 12931}, {"id": 15749}, {"id":10407}],
        "quantity": 1,
        "osFormatType":{
         "keyName": "LINUX"
        },
        "location": 2,
        "volumeSize":23
        }]
    }
    
    複製ボリュームの作成に使用するデータを保持する特定のスナップショットがある場合は、 duplicateOriginSnapshotId プロパティにスナップショットの ID を指定します。

パフォーマンス (カスタム IOPS) ボリュームの 従属の複製 を注文するには、以下の REST API の例のような POST /SoftLayer_Product_Order/placeOrder 呼び出しを行います。

  • URL - https://USERNAME:APIKEY@api.softlayer.com/rest/v3.1/SoftLayer_Product_Order/placeOrder
  • タイプ-POST
  • 要求本文-
    {
        "parameters":[{
        "complexType": "SoftLayer_Container_Product_Order_Network_Storage_AsAService",
        "packageId": 531,
        "duplicateOriginVolumeId":1327277,
        "isDependentDuplicateFlag": 1,
        "prices": [{"id": 15751}, {"id": 19487}, {"id": 18983}, {"id": 15749}, {"id":10407}],
        "quantity": 1,
        "iops":454,
        "osFormatType":{
            "keyName": "LINUX"
        },
        "location": 2,
        "volumeSize":23
        }]
    }
    
    複製ボリュームの作成に使用するデータを保持する特定のスナップショットがある場合は、 duplicateOriginSnapshotId プロパティにスナップショットの ID を指定します。

API およびオプションについて詳しくは、 API リファレンスを参照してください。 データ型 SoftLayer_Container_Product_Order_Network_Storage_AsAService データ型を探す。

複製ボリュームの管理

すべての重複ボリュームは、ボリュームがプロビジョンされるとすぐに、読み取り操作および書き込み操作のためにホストからアクセスできます。

ただし、オリジナルから複製へのデータ・コピーが完了し、複製ボリュームが完全に独立するまで、独立した複製ボリュームのスナップショットと複製は許可されません。 データの量によっては、分離処理に数時間かかる場合があります。 作成が完了すると、その複製を管理し、独立したボリュームとして使用できるようになります。

元のボリュームから独立した複製ボリュームへデータがコピーされている間、詳細ページのステータスインジケーターに、複製が進行中であることが表示されます。 この間、ホストへのアタッチやボリュームへの読み書きは可能ですが、スナップショットのスケジュール設定やリフレッシュの実行はできません。 分離プロセスが完了すると、新しいボリュームは元のボリュームから独立したものとなり、通常通りスナップショットやレプリケーションを用いて管理できるようになります。 変換が完了すると、親ボリュームからのスナップショットを使用して、独立ボリュームを手動でリフレッシュできます。

従属 重複は分離プロセスを経ることはなく、いつでも手動でリフレッシュできます。 更新プロセスは、CLI、API、コンソールから開始できます。 後で、従属する複製を独立したボリュームに変換する場合は、UI、CLI、または API を使用してそのプロセスを開始することもできます。

従属複製ボリュームは元のスナップショットをロックするため、従属複製が存在している間はスナップショットを削除できません。

コンソールで親ボリュームから複製上のデータを更新する

時間の経過およびプライマリー・ボリュームの変更とともに、重複ボリュームは、リフレッシュ・アクションによって現在の状態を反映するように、これらの変更で更新されます。 この更新処理では、プライマリボリュームのスナップショットを取得し、そのスナップショットのデータを使用して複製ボリュームを更新します。

重複ボリュームが独立している場合は、実行中のリフレッシュ操作を停止して、新しいリフレッシュ操作を開始することができます。

  1. Block Storage for Classic のリストに移動し、IBM Cloud コンソールの Infrastructure > Classic Infrastructure > Storage > Block Storage for Classic をクリックします。

  2. 重複するボリュームを見つけ、その名前をクリックしてボリュームの詳細を表示します。

  3. 「アクション」 「アクション」アイコン > 「親スナップショットの復元」 をクリックします。

  4. スナップショットのリストから、複製ボリュームにリストアしたいデータを保持する親スナップショットを選択します。 リフレッシュしている重複ボリュームが独立したボリュームである場合は、実行中の操作を停止して、新しいリストアを強制的に開始することができます。 現在のリフレッシュ・プロセスを強制的に停止する場合は、続行する前にこのボックスにチェック・マークを付けてください。

    スナップショットからデータをリストアすると、選択したスナップショットが作成された後に作成または変更されたデータが失われます。 リフレッシュ処理中は、重複するボリュームが無効化されるため、リフレッシュ完了後に再マウントする必要があります。

  5. はい 」をクリックして更新を開始してください。 更新が完了するまで、しばらく時間がかかる場合があります。 ステータス・バーには、ボリュームにコピーされたデータのパーセンテージが表示されます。 更新された状況を確認するには、ブラウザーでページを最新表示します。

コンソールで従属ボリュームを独立した複製に変換する

  1. Block Storage for Classic のリストに移動し、IBM Cloud コンソールの Infrastructure > Classic Infrastructure > Storage > Block Storage for Classic をクリックします。
  2. 重複するボリュームを見つけ、その名前をクリックしてボリュームの詳細を表示します。
  3. 「アクション」 「アクション」アイコン > 「従属複製の変換」 をクリックします。
  4. ボックスにチェック・マークを付けて、変換を続行することを確認します。
  5. はい (Yes) をクリックします。

変換処理が完了するまで、多少時間がかかる場合があります。 ボリュームが大きいほど、変換にかかる時間が長くなります。 プロセスの状況は、ボリューム詳細ページの 「重複変換状況」 ヘッダーの下で確認できます。

CLI からの親ボリュームからの重複データの更新

時間の経過およびプライマリー・ボリュームの変更とともに、重複ボリュームは、リフレッシュ・アクションによって現在の状態を反映するように、これらの変更で更新されます。 この更新処理では、プライマリボリュームのスナップショットを取得し、そのスナップショットのデータを使用して複製ボリュームを更新します。

以下のコマンドを実行することで、更新を開始できます。

slcli block volume-refresh <duplicate-vol-id> <primary-snapshot-id>

更新によって、1 次ボリュームでダウン時間が生じることはありません。 ただし、リフレッシュ処理中は、重複するボリュームが無効化されるため、リフレッシュ完了後に再マウントする必要があります。

リフレッシュ・プロセスには時間がかかることがあります。 独立した複製ボリュームにコピーする新規データがあることが分かった場合は、 --force-refresh オプションを指定して slcli block volume-refresh コマンドを発行し、進行中および保留中のすべてのリフレッシュ・トランザクションを停止して、新しいリフレッシュを開始することができます。

強制リフレッシュ・プロセスは、独立したボリュームでのみ機能します。

使用可能なコマンド・オプションについて詳しくは、「 slcli block volume-refresh」を参照してください。

CLI から独立した複製への従属ボリュームの変換

従属ボリュームを今後スタンドアロン・ボリュームとして使用する場合には、通常の独立 IBM Cloud® Block Storage for Classic ボリュームに SLCLI を使用して変換できます。 以下のコマンドを使用します。

slcli block volume-convert <dependent-vol-id>

変換処理が完了するまで、多少時間がかかる場合があります。 ボリュームが大きいほど、変換にかかる時間が長くなります。 進行状況を確認するには、次のコマンドを実行してください。

slcli block duplicate-convert-status <dependent-vol-id>

以下の例は、予想される出力を示しています。

slcli block duplicate-convert-status 370597202
Username            Active Conversion Start Timestamp   Completed Percentage
SL02SEVC307608_74   2022-06-13 14:59:17                 90

使用可能なコマンド・オプションについて詳しくは、「 duplicate-convert-status」を参照してください。

API を使用した親ボリュームからの複製データの更新

時間の経過およびプライマリー・ボリュームの変更とともに、重複ボリュームは、リフレッシュ・アクションによって現在の状態を反映するように、これらの変更で更新されます。 この更新処理では、プライマリボリュームのスナップショットを取得し、そのスナップショットのデータを使用して複製ボリュームを更新します。

更新によって、1 次ボリュームでダウン時間が生じることはありません。 ただし、リフレッシュ処理中は、重複するボリュームが無効化されるため、リフレッシュ完了後に再マウントする必要があります。

リフレッシュ・プロセスには時間がかかることがあります。 実行中のリフレッシュが終了する前に新しいデータを複製に追加するには、 forceRefresh パラメータを true に設定して、 refreshDuplicate を再度呼び出す。 これは、進行中および保留中のすべてのリフレッシュ・トランザクションを停止し、新しいリフレッシュを開始する。 パラメータが false に設定されているか、指定されていない場合、別の更新が進行中であると、呼び出しは失敗する。

強制リフレッシュ・プロセスは、独立したボリュームでのみ機能します。

REST API の例

  • URL - https://USERNAME:APIKEY@api.softlayer.com/rest/v3.1/SoftLayer_Network_Storage/duplicateVolumeId/refreshDuplicate
  • タイプ-POST
  • 要求本文-
    {
     "parameters": [primaryVolumeSnapshotId, true OR false]
    }
    

SOAP API の例

  • URL - https://api.softlayer.com/soap/v3.1/SoftLayer_Network_Storage
  • タイプ-POST
  • 要求本文-
    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://api.service.softlayer.com/soap/v3.1/">
    <SOAP-ENV:Header>
     <ns1:authenticate>
      <username>USERNAME</username>
      <apiKey>APIKEY</apiKey>
     </ns1:authenticate>
     <ns2:SoftLayer_Network_StorageInitParameters>
      <id>duplicate Volume Id</id>
     </ns2:SoftLayer_Network_StorageInitParameters>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
     <ns1:refreshDuplicate>
       <snapshotId xsi:type="int">primary Volume Snapshot Id</snapshotId>
       <forceRefresh xsi:type="boolean">true</forceRefresh> <-- (remove this tag for normal refresh)
     </ns1:refreshDuplicate>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    

API およびオプションについて詳しくは、「 API リファレンス 」および「 SoftLayer_Network_Storage::refreshDuplicate」を参照してください。

API を使用した従属ボリュームの独立した複製への変換

将来、依存ボリュームを独立したボリュームとして使用したい場合は、API を使用して、通常の独立した IBM Cloud® Block Storage for Classic ボリュームに変換することができます。 REST API を使用した以下の例をご覧ください。

  • URL - https://USERNAME:APIKEY@api.softlayer.com/rest/v3.1/SoftLayer_Network_Storage/<storageId>/convertCloneDependentToIndependent
  • タイプ-POST
  • 要求本体-ブランク

API およびオプションについて詳しくは、 API リファレンスを参照してください。

従属複製を使用したストレージ・ボリュームのキャンセル

アクティブな依存ボリュームを持つ親ボリュームをキャンセルするには、まずその依存する重複ボリュームをキャンセルする必要があります。