Incus データベースについて¶
サーバーの設定と状態を保管するために Incus は分散データーベースを使用します。 これにより(たとえば、LXC でそうされているように)設定が各インスタンスのディレクトリー内に保管される場合より高速に問い合わせができます。
利点を理解するため、すべてへのインスタンスに「どのインスタンスがbr0
を使用しているか?」のような問い合わせをすることを考えてみましょう。
データベースが無ければ、この問いに答えるためには、設定を読み込んで解釈し、どのネットワークデバイスが設定上に定義されているかの確認を、ひとつひとつのインスタンスに対して行う必要があります。
データベースがあれば、この情報を得るためにデータベースにシンプルな問い合わせを実行できます。
Cowsql¶
Incus クラスタ内では、クラスタのすべてのメンバーが同じデータベースの状態を共有する必要があります。 このため、Incus は SQLIte の分散版であるCowsqlを使用しています。 Cowsql はレプリケーション、冗長性、外部のデータベースプロセスを必要としない自動フェールオーバーの機能を提供します。
Incus をクラスタではなく単一マシンとして使用する場合は、Cowsql のデータベースは実質的には通常の SQLite データベースのように振る舞います。
ファイルの保管場所¶
データベースは Incus のデータディレクトリー(/var/lib/incus/database/
)のdatabase
サブディレクトリーに保管されます。
Incus を新しいバージョンにアップグレードする際はデータベーススキーマの更新が必要かもしれません。 この場合、Incus は自動的にデータベースのバックアップをしてから更新を実行します。 詳細はIncusをアップグレードするを参照してください。
バックアップ¶
Incus データベースの内容をどのようにバックアップするかについての手順はデータベースのバックアップを参照してください。