動的ディスク増設#

要求事項#

  • ディスクに格納しているデータが増えてきたため、ディスクを増設して対応したい
  • 構成設計時に事前のディスク使用容量の見積もりが困難であり、必要に応じてディスクの増設/減設をしたい

対応するデザインパターン概要#

FJcloud-Oのディスク(ブロックストレージ)では、データの使用量が増え追加容量が必要となった際にも動的にディスクを追加することが可能です。
必要に応じてディスクを増設し、不要となったディスクは減設するといった運用が可能です。

本パターンでは仮想サーバに対しディスクの追加および削除を行う例を掲載します。

なお、本パターンでは割愛しますが、FJcloud-Oではディスクの増設の他にもディスク容量の拡張も可能です。

構造 (イメージ図)#

image

実装サンプル#

1. ストレージの追加#

(1) ストレージの作成(IaaSポータル)#

  • 「ストレージ」⇒「ブロックストレージ」と選択した画面の右上にある「+」ボタンをクリックします。
  • 以下の項目を入力します。
項目 必須 設定値例 内容
ボリューム名 必須 "demo_storage" 名前を入力してください。
説明 任意 "demo_storage" ストレージに対する説明事項 を入力してください。
容量(GB) 必須 "10" ストレージの容量 を入力してください。
ストレージソース
                                                                                 
必須 "指定なし" データが無い状態で作成する場合は、"指定なし" を選択してください。
データがある状態で作成する場合は、元のデータとして以下を選択します。
  • スナップショット
  • イメージ
  • ストレージ
  • 種別 必須 "M1"または"H2"または"M2" 従来リージョンにおいては、「M1」(スタンダード)、または「H2」(ハイスピード)のどちらかを選択。
    リージョン3においては、「M2」(スタンダード)を選択してください。
    AZ
                                   
    必須 *1 "jp-east-1b AZ" システムを設置するアベイラビリティゾーンを設定してください。*1
    AZ1:"jp-east-1a AZ"
    AZ2:"jp-east-1b AZ"

    *1 リージョン3はシングルAZの為設定できません。

    • 入力後、「作成」ボタンをクリックします。ストレージが作成されます。

    (2) ストレージのアタッチ(IaaSポータル)#

    • 「ストレージ」⇒「ブロックストレージ」と選択した画面で、新規作成したストレージの状態が「available」になっていることを確認します。
    • 「アクション」⇒「ストレージ接続」と選択します。
    • 「ストレージ接続」画面にある「仮想サーバへの接続」の項目で、接続先の仮想サーバを選択し、「接続」ボタンをクリックします。
    • 「ストレージ」⇒「ブロックストレージ」と選択した画面で、新規作成したストレージの「接続先仮想サーバ」が「/dev/vdb」という表示になれば、アタッチ完了です。

    (3) ストレージの確認(OS)#

    • 仮想サーバにログインして、OSのコマンドで新規作成したストレージを確認します。
      Linux では、rootになり、以下のコマンドで確認します。

      • sudo su -
        rootになります。
        以後、説明の先頭に「#」が表示されますが、コマンド自体に含める必要はありません。

      • #df -h
        ファイルディスクの容量を確認するコマンドです。
        /dev/vdaは表示されますが、/dev/vdbがこの時点では初期化されていないため、表示されないことを確認します。

      • 出力結果

        Filesystem Size Used Avail Use% Mounted on
        /dev/vda1 30G 952M 30G 4% /
        devtmpfs 226M 0 226M 0% /dev
        tmpfs 245M 0 245M 0% /dev/shm
        tmpfs 245M 8.4M 236M 4% /run
        tmpfs 245M 0 245M 0% /sys/fs/cgroup
        tmpfs 49M 0 49M 0% /run/user/1000
        tmpfs 49M 0 49M 0% /run/user/0
        

      • #fdisk -l
        パーティションの確認をします。
        /dev/vdaはDeviceとして表示されますが、/dev/vdbはこの時点では初期化されていないため、以下の例のようにDeviceとしての情報がなく、この時点では利用できる状態ではありません。

      • 出力結果
        Disk /dev/vda: 32.2 GB, 32212254720 bytes, 62914560 sectors :ここから下が/dev/vdaに関する情報です。
        Units = sectors of 1 * 512 = 512 bytes
        Sector size (logical/physical): 512 bytes / 512 bytes
        I/O size (minimum/optimal): 512 bytes / 512 bytes
        Disk label type: dos
        Disk identifier: 0x000b0301
        
        Device Boot Start End Blocks Id System
        /dev/vda1 * 2048 62910539 31454246 83 Linux :ここまでが/dev/vdaに関する情報です。
        
        Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors :ここから下が/dev/vdbに関する情報です。
        Units = sectors of 1 * 512 = 512 bytes
        Sector size (logical/physical): 512 bytes / 512 bytes
        I/O size (minimum/optimal): 512 bytes / 512 bytes
        

    (4) ディスクの初期化とマウント(OS)#

    • OS上で、ディスクを初期化して、マウントします。
      Linux では、rootになり、以下のコマンドで確認します。

      • #mkfs.ext4 /dev/vdb
        /dev/vdbをフォーマットします。

      • #mkdir /mnt/demo_vol01
        /dev/vdbをマウントするためのディレクトリを作成します。

      • #mount /dev/vdb /mnt/demo_vol01
        マウントを実行します。

      • #df -h
        以下の最終行の例のように、/dev/vdbがマウントされたことを確認します。

         Filesystem Size Used Avail Use% Mounted on
         /dev/vda1 30G 952M 30G 4% /
         devtmpfs 226M 0 226M 0% /dev
         tmpfs 245M 0 245M 0% /dev/shm
         tmpfs 245M 8.4M 236M 4% /run
         tmpfs 245M 0 245M 0% /sys/fs/cgroup
         tmpfs 49M 0 49M 0% /run/user/1000
         tmpfs 49M 0 49M 0% /run/user/0
         /dev/vdb 9.8G 37M 9.2G 1% /mnt/demo_vol01 :/dev/vdbが/mnt/demo_vol01にマウントされました
        

    2. ストレージの削除#

    (1) ディスクのアンマウント(OS)#

    • OS上で、ディスクをアンマウントします。
      Linux では、rootになり、以下のコマンドで確認します。

      • #df -h
        /dev/vdaおよび/dev/vdbが表示されていることを確認します。

      • #umount /mnt/demo_vol01
        /mnt/demo_vol01をアンマウントします。

      • #df -h
        /dev/vdaは表示されますが、/dev/vdbがアンマウントされたため、表示されないことを確認します。

    (2) ストレージのデタッチ(IaaSポータル)#

    • 「ストレージ」⇒「ブロックストレージ」と選択した画面で、マウントを解除したいストレージの「アクション」⇒「ストレージ切断」をクリックします。
    • 「ストレージ切断」画面で、接続状況を確認し、「切断」をクリックします。
    • 確認画面が表示されます。「切断」をクリックします。
    • 「ストレージ」⇒「ブロックストレージ」と選択した画面で、マウントを解除したストレージの状態が「available」と表示されていれば、デタッチ完了です。

    (3) ストレージの削除(IaaSポータル)#

    • 「ストレージ」⇒「ブロックストレージ」と選択した画面で、削除したいストレージの「アクション」⇒「削除」とクリックします。
    • 確認画面が表示されます。「削除」をクリックします。

    メリット・効果#

    動的にディスクを作成した場合のメリット・効果は以下の通りです。

    • 必要な時点でディスクの増設/減設が可能
      減設した後は、減設したディスクのストレージを削除することで、ディスク使用料を抑制可能

    • ディスク作成が容易(構築コストを抑制可能)

    注意事項#

    • 本パターンは2017年5月時点のFJcloud-O 従来リージョンで動作検証しています。
      また、2019年2月時点のFJcloud-O 東日本/西日本リージョン3で動作検証しています。

    • ディスクを作成する際には、ブロックストレージの制限値と、ディスクをアタッチする仮想サーバのOSの制限値をご確認ください。

    • 増設可能なディスクの上限は26本です。

    • ディスクを減設した後、そのディスクに含まれるデータが不要であれば、減設したディスクのストレージを削除してください。

    • システムストレージは仮想サーバからデタッチできません。