KVMで仮想化環境 - ストレージプール作成

概要

こちらのブログで作成した仮想化環境でNFS外部ストレージプールを作成します。
KVMに外部ストレージを追加していきます。ストレージは大別してローカルストレージを使用するものと、ネットワーク共有ストレージを使用するものに分けられます。

・ローカルストレージ
KVMサーバに直接接続されているディスク。物理ディスク、物理パーティション、論理パーティション、 ディレクトリ等の単位でストレージとして指定することが可能です。

・ネットワーク共有ストレージ
NFS、iSCSI等のネットワーク接続されているストレージを指定することが可能です。

利用できないストレージの種類もありますので、利用する際は適宜Red hatのサイトでの確認をお勧めします。

  • 環境
    • ESXi上に構築したRHEL9.4にKVMを構築 (KVM on ESXi)
  • OS (仮想ホスト)
    • Red hat Enterprise Linux 9.4
  • 主要ソフトウェア
    • qemu-kvm-8.2.0-11.el9_4.3.x86_64
    • libvirt-10.0.0-6.3.el9_4.x86_64
    • virt-install-4.1.0-5.el9.noarch
    • virt-viewer-11.0-1.el9.x86_64

・ストレージプール作成

今回はNFSを使用してストレージプールを作成します。
KVMサーバでSELinuxが有効な場合は以下のコマンドを実行してvirtにNFSの許可設定を行います。

# setsebool -P virt_use_nfs=on
# getsebool virt_use_nfs
virt_use_nfs --> on

KVMサーバでマウントポイントとするディレクトリを作成します。ディレクトリの場所はどこでも構いませんが、ここではvmディスクが作成されるimagesディレクトリにnfspoolというディレクトリを作成してマウントポイントとします。
その後、virshコマンドでストレージプールを作成します。

# mkdir /var/lib/libvirt/images/nfspool
# virsh pool-define-as --name kvm_nfspool --type netfs --source-host='10.14.213.200' --source-path='/data' --source-format='nfs' --target='/var/lib/libvirt/images/nfspool'

引数の意味はそれぞれ以下のようになります。
・name:ストレージプールの名前
・source-host:NFSサーバのIPアドレス、または名前
・source-path:NFSサーバで共有設定しているディレクトリ
・target:KVMサーバのマウントポイント

作成されたストレージプールを確認します。

# virsh pool-list --all
 名前      状態       自動起動
----------------------------------
 default   動作中     はい (yes)
 iso       動作中     はい (yes)
 nfspool   停止状態   はい (yes)

作成しただけでは停止状態のままなのでストレージプールを起動します。KVMサーバ自体でNFSマウントする必要はありません。ストレージプール起動処理中でマウントされます。

# virsh pool-start nfspool
プール nfspool が起動されました

# virsh pool-list --all
 名前      状態     自動起動
--------------------------------
 default   動作中   はい (yes)
 iso       動作中   はい (yes)
 nfspool   動作中   はい (yes)

# mount | grep nfspool
10.14.213.200:/data on /var/lib/libvirt/images/nfspool type nfs4 (rw,nosuid,nodev,noexec,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.14.213.11,local_lock=none,addr=10.14.213.200)

ストレージプールに仮想マシンのディスクを作成したい場合は、あらかじめストレージプールにボリュームを作成しておく必要があります。ボリュームの作成は以下のように容量とフォーマットを指定する必要があります。GUIからもボリュームの作成は可能です。

# virsh vol-create-as --pool nfspool --name nfs-disk02 --capacity 30G --format qcow2
ボリューム nfs-disk02 が 作成されました

# virsh vol-list nfspool --details
 名前         パス                                         種類       容量        割り当て
----------------------------------------------------------------------------------------------
 nfs-disk02   /var/lib/libvirt/images/nfspool/nfs-disk02   ファイル   30.00 GiB   196.00 KiB

ボリュームを作成すると仮想マシンの作成画面でストレージプール、ボリュームを選択できるようになります。GUIでリストに出てこない場合はWeb画面をリロードすると出てきます。

作成したボリュームをワイプするには以下のコマンドを実行します。
ワイプではボリューム自体は残りますので再利用可能です。

# virsh vol-wipe --pool nfspool nfs-disk02
ボリューム nfs-disk02 が完全消去されました

# virsh vol-list nfspool --details
 名前         パス                                         種類       容量        割り当て
--------------------------------------------------------------------------------------------
 nfs-disk02   /var/lib/libvirt/images/nfspool/nfs-disk02   ファイル   20.00 GiB   0.00 B

ボリュームを削除するには以下のコマンドを実行します。ボリュームを削除しただけでは仮想マシンは削除されません。

# virsh vol-delete nfs-disk02 --pool nfspool
ボリューム nfs-disk02 は削除されました

ストレージプールを削除するには停止、定義の削除を行います。停止はpool-destroy(非アクティブ化)、定義の削除はpool-undefine(削除)で行います。

# virsh pool-list
 名前      状態     自動起動
--------------------------------
 default   動作中   はい (yes)
 iso       動作中   はい (yes)
 nfspool   動作中   はい (yes)

# virsh pool-destroy nfspool
プール nfspool は破壊されました

# virsh pool-list
 名前      状態     自動起動
--------------------------------
 default   動作中   はい (yes)
 iso       動作中   はい (yes)

# virsh pool-list --all
 名前      状態       自動起動
----------------------------------
 default   動作中     はい (yes)
 iso       動作中     はい (yes)
 nfspool   停止状態   はい (yes)

# virsh pool-undefine nfspool
プール nfspool の定義が削除されました

# virsh pool-list --all
 名前      状態     自動起動
--------------------------------
 default   動作中   はい (yes)
 iso       動作中   はい (yes)

ストレージプールの基本的な操作は以上です。必要な時に必要な量をNFSサーバから拝借できるようになりました。NFSサーバで容量不足になった場合でも別のNFSサーバを立てたり、NFSサーバにディスクを追加することでKVMサーバ自体を弄らずに使用できる容量を増やすことができます。

参考サイト

Red Hat Document 仮想化の設定および管理

技術情報

商標について

お気軽にお問い合わせください。応対時間 9:30-17:30 [ 土・日・祝日除く ]

お問い合わせ

  • X