5.5. インスタンスにファイルベースのメモリーを使用するコンピュートノードの設定
ファイルベースのメモリーを使用して、コンピュートノードのメモリー容量を拡張することができます。この場合、libvirt メモリーバッキングディレクトリー内のファイルをインスタンスのメモリーとして割り当てます。インスタンスのメモリーとして使用できるホストディスクの容量、およびインスタンスメモリーファイルのディスク上の場所を設定することができます。
Compute サービスは、ファイルベースのメモリーに設定された容量をシステムメモリーの合計容量として Placement サービスに報告します。これにより、コンピュートノードは通常システムメモリー内で対応できるよりも多くのインスタンスをホストすることができます。
インスタンスにファイルベースのメモリーを使用するには、コンピュートノードでファイルベースのメモリーを有効にする必要があります。
制限事項
- ファイルベースのメモリーが有効なコンピュートノードとファイルベースのメモリーが有効ではないコンピュートノード間で、インスタンスのライブマイグレーションを行うことはできません。
- ファイルベースのメモリーと huge page との間に互換性はありません。ファイルベースのメモリーが有効なコンピュートノード上で、huge page を使用するインスタンスを起動することはできません。ホストアグリゲートを使用して、huge page を使用するインスタンスがファイルベースのメモリーが有効なコンピュートノードに配置されないようにします。
- ファイルベースのメモリーとメモリーのオーバーコミットとの間に互換性はありません。
-
NovaReservedHostMemoryを使用してホストのプロセス用にメモリーを確保することはできません。ファイルベースのメモリーが使用されている場合、確保されるメモリーはファイルベースのメモリー用に用意されないディスク領域を表します。ファイルベースのメモリーは、キャッシュメモリーとして使用される RAM と共に、システムメモリーの合計として Placement サービスに報告されます。
前提条件
-
ノードおよびノードが追加されたすべてのホストアグリゲートで、
NovaRAMAllocationRatioを "1.0" に設定する必要があります。 -
NovaReservedHostMemoryを "0" に設定する必要があります。
手順
- Compute 環境ファイルを開きます。
Compute 環境ファイルに以下のパラメーターを追加して、インスタンスの RAM 用に利用可能なホストディスク容量を MiB 単位で設定します。
parameter_defaults: NovaLibvirtFileBackedMemory: 102400オプション: メモリーバッキングファイルを保存するディレクトリーを設定するには、Compute 環境ファイルに
QemuMemoryBackingDirパラメーターを設定します。設定しなければ、メモリーバッキングディレクトリーはデフォルトの/var/lib/libvirt/qemu/ram/に設定されます。注記デフォルトのディレクトリー (
/var/lib/libvirt/qemu/ram/) またはそれより上の階層のディレクトリーに、バッキングストアを配置する必要があります。バッキングストアのホストディスクを変更することもできます。詳細は、メモリーバッキングディレクトリーのホストディスクの変更 を参照してください。
コンピュートサービスが nova のストレージバックエンドとして Red Hat Ceph Storage を使用するように設定されておらず、
QemuMemoryBackingDirで定義されたメモリーバッキングパスが/var/lib/novaと同じブロックデバイス上にある場合、NovaLibvirtFileBackedMemoryで割り当てたのと同じ量のホストディスク領域を予約する必要があります。例:parameter_defaults: ComputeExtraConfig: nova::compute::reserved_host_disk: 102400- 更新内容を Compute 環境ファイルに保存します。
その他の環境ファイルと共に Compute 環境ファイルをスタックに追加して、オーバークラウドをデプロイします。
(undercloud)$ openstack overcloud deploy --templates \ -e [your environment files] \ -e /home/stack/templates/<compute_environment_file>.yaml
5.5.1. メモリーバッキングディレクトリーのホストディスクの変更 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトのプライマリーディスクから別のディスクに、メモリーバッキングディレクトリーを変更することができます。
手順
代替のバッキングデバイスにファイルシステムを作成します。たとえば、
/dev/sdbにext4ファイルシステムを作成するには、以下のコマンドを入力します。# mkfs.ext4 /dev/sdbバッキングデバイスをマウントします。たとえば、
/dev/sdbをデフォルトの libvirt メモリーバッキングディレクトリーにマウントするには、以下のコマンドを入力します。# mount /dev/sdb /var/lib/libvirt/qemu/ram注記マウントポイントは、
QemuMemoryBackingDirパラメーターの値と一致する必要があります。