概要
ディスクはデータを永続化するために使う機能です
今回は CirrOS に対してディスクを追加してみました
環境
- CentOS 7.4 64bit
- packstack 12.0.0
- OpenStack Queens
ディスクの作成とインスタンスへの接続
ボリュームの一覧から「ボリュームの作成」を選択します
とりあえず名前だけ決定しました
作成すると一覧に表示されるのでプルダウンから「接続の管理」を選択します
接続するインスタンスを選択します
接続が完了するとブロックデバイスが表示されます
CirrOS でマウントする
あとは普通に OS 上でやることをコマンド実行するだけです
- fdisk -l
Disk /dev/vdb: 2147 MB, 2147483648 bytes
16 heads, 63 sectors/track, 4161 cylinders, total 4194304 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
Disk identifier: 0x00000000
Disk /dev/vdb doesn't contain a valid partition table
ブロックデバイスとして接続されていることを確認します
- fdisk /dev/vdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x2d8a673a.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-4194303, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-4194303, default 4194303):
Using default value 4194303
新規パーティションを作成します
今回は全領域をフォーマットします
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
w
で書き込みして終了です
- mkfs.ext4 /dev/vdb1
ディスクを ext4
でフォーマットします
- mkdir /data
- mount /dev/vdb1 /data
- df -h /dev/vdb1
Filesystem Size Used Available Use% Mounted on
/dev/vdb1 2.0G 35.0M 1.8G 2% /data
あとはマウントするディレクトリを作成し mount
を実行すれば OK です
必要に応じて /etc/fstab
にマウント情報を記載しておけば reboot 時もマウントされた状態で起動します
/dev/vdb1 /data auto defaults,nofail 0 0
最後に
OpenStack のボリューム機能を使ってインスタンスにディスク領域を追加してみました
かなり簡単に追加できると思います
ボリュームを作成しておけばスナップショットとして簡単にディスクのバックアップを行うことができます
一旦ディスクの接続を切断する必要がありますが、ボリュームを拡張することも簡単にできます (その際は再度 fdisk によるフォーマットが必要です)
OpenStack のかなり基本的な機能になるので覚えておいて損はないと思います
また今回は UI をベースに行いましたが CLI や API を使っても同様のことが可能です
0 件のコメント:
コメントを投稿