参考URL
Memcached
そもそもMemcachedとは?
第1回 memcachedの基本:memcachedを知り尽くす|gihyo.jp … 技術評論社
データをキャッシュする。メモリを利用。
Webアプリなどで一時的なデータを格納される。停止するとデータは消える。
OpenStackの各コンポーネントも利用している。
通常コントローラでmemcachedサーバが動く
openstackではoslo.cache が管理。
複数の Memcached サーバーの使用時に全プロジェクト間で一貫性を保証。以下は 3 ノードの設定例。
Memcached_servers = controller1:11211,controller2:11211,controller3:11211
デフォルトで controller1 がキャッシュサービスを処理。
そのホストが停止している場合、 controller2 または controller3 がサービスを実施
https://docs.openstack.org/ja/ha-guide/environment-memcached.html
DB
冗長化する方法
Galera Cluster を使用
Galera Cluster は、MySQL と InnoDB ストレージエンジンをベース
同期型のマルチマスターデータベースクラスター
最低3ホスト必要
OpenStack Docs: データベース (Galera クラスター) の高可用性
https://docs.openstack.org/ja/ha-guide/shared-database-manage.html
以下3パターンのデプロイ方法があり。
①OpenStack各サービスに利用するDBを複数設定?
②HAProxy使いActive/Active
③HAProxy使いActive/Passive
デッドロック問題に対応
http://lists.openstack.org/pipermail/openstack-dev/2014-May/035264.html
http://www.joinfu.com/2015/01/understanding-reservations-concurrency-locking-in-nova/