メインコンテンツにスキップ
バージョン: 3.0

ボリュームミラーを作成する

CubeCOS ボリュームミラーリングの前提条件

  • 両方のクラスタでユーザー名が同じであることを確認してください。
  • 両方のクラスターでproject nameが同じであることを確認してください。
  • 両方のクラスタのサービスステータスがすべて「OK」であることを確認してください。
  • cluster1のVIPを取得する:例 10.32.31.10
  • cluster2のVIPを取得する:例 10.32.10.140

CubeCOSクラスタ間のボリュームミラーリングを設定する

  1. cluster1: CLI > クラスタ > 確認
cluster1> cluster check
Service Status Report
IaasDb ok [ mysql(v) ]
Baremetal ok [ ironic(v) ]
K8SaaS ok [ rancher(v) ]
ClusterSys ok [ bootstrap(v) license(v) ]
SingleSignOn ok [ k3s(v) keycloak(v) ]
Image ok [ glance(v) ]
FileStor ok [ manila(v) ]
BlockStor ok [ cinder(v) ]
ObjectStor ok [ swift(v) ]
VirtualIp ok [ vip(v) haproxy_ha(v) ]
Orchestration ok [ heat(v) ]
MsgQueue ok [ rabbitmq(v) ]
Notifications ok [ influxdb(v) kapacitor(v) ]
ClusterLink ok [ link(v) clock(v) dns(v) ]
HaCluster ok [ hacluster(v) ]
ClusterSettings ok [ etcd(v) nodelist(v) mongodb(v) ]
DataPipe ok [ zookeeper(v) kafka(v) ]
InstanceHa ok [ masakari(v) ]
LBaaS ok [ octavia(v) ]
BusinessLogic ok [ senlin(v) watcher(v) ]
Compute ok [ nova(v) cyborg(v) ]
Metrics ok [ monasca(v) telegraf(v) grafana(v) ]
DNSaaS ok [ designate(v) ]
LogAnalytics ok [ filebeat(v) auditbeat(v) logstash(v) opensearch(v) opensearch-dashboards(v) ]
Network ok [ neutron(v) ]
Storage ok [ ceph(v) ceph_mon(v) ceph_mgr(v) ceph_mds(v) ceph_osd(v) ceph_rgw(v) rbd_target(v) ]
ApiService ok [ haproxy(v) httpd(v) nginx(v) api(v) lmi(v) skyline(v) memcache(v) ]
  1. cluster2: CLI > クラスタ > 確認
cluster2> cluster check
Service Status Report
IaasDb ok [ mysql(v) ]
Baremetal ok [ ironic(v) ]
K8SaaS ok [ rancher(v) ]
ClusterSys ok [ bootstrap(v) license(v) ]
SingleSignOn ok [ k3s(v) keycloak(v) ]
Image ok [ glance(v) ]
FileStor ok [ manila(v) ]
BlockStor ok [ cinder(v) ]
ObjectStor ok [ swift(v) ]
VirtualIp ok [ vip(v) haproxy_ha(v) ]
Orchestration ok [ heat(v) ]
MsgQueue ok [ rabbitmq(v) ]
Notifications ok [ influxdb(v) kapacitor(v) ]
ClusterLink ok [ link(v) clock(v) dns(v) ]
HaCluster ok [ hacluster(v) ]
ClusterSettings ok [ etcd(v) nodelist(v) mongodb(v) ]
DataPipe ok [ zookeeper(v) kafka(v) ]
InstanceHa ok [ masakari(v) ]
LBaaS ok [ octavia(v) ]
BusinessLogic ok [ senlin(v) watcher(v) ]
Compute ok [ nova(v) cyborg(v) ]
Metrics ok [ monasca(v) telegraf(v) grafana(v) ]
DNSaaS ok [ designate(v) ]
LogAnalytics ok [ filebeat(v) auditbeat(v) logstash(v) opensearch(v) opensearch-dashboards(v) ]
Network ok [ neutron(v) ]
Storage ok [ ceph(v) ceph_mon(v) ceph_mgr(v) ceph_mds(v) ceph_osd(v) ceph_rgw(v) rbd_target(v) ]
ApiService ok [ haproxy(v) httpd(v) nginx(v) api(v) lmi(v) skyline(v) memcache(v) ]
  1. クラスター1のプロジェクト管理画面でVMを起動します。この例では、testを使用します。

    /assets/volumes/skyline-vm-1.png

リモートピアの設定

cluster1(プライマリ)

  1. リモート・ピアの設定 CLI > ストレージ > ミラー > サイト > ペア
cluster1> storage mirror
cluster1:mirror> site
cluster1:site> pair
Enter IP address (required): 10.32.10.140
Enter remote secret (required): bigstack
Warning: Permanently added '10.32.10.140' (ED25519) to the list of known hosts.
  1. リンクの状態を確認する CLI > storage > mirror > status
cluster1:mirror> status
Local time: 2025-05-14 13:39:10
+----------------------------------------------+----------------------------------------------+
| (local) control-10.32.31.10-site OK | (remote) control-10.32.10.140-site OK |
+----------------------------------------------+----------------------------------------------+

cluster2(セカンダリ)

  1. リンクの状態を確認する CLI > storage > mirror > status
cluster2:mirror> status
Local time: 2025-05-14 14:07:25
+----------------------------------------------+----------------------------------------------+
| (local) control-10.32.10.140-site OK | (remote) control-10.32.31.10-site OK |
+----------------------------------------------+----------------------------------------------+

cluster1 上のインスタンスボリュームを選択し、すべてのリモートピアと同期します

cluster1:mirror> rule
cluster1:rule> enable
cluster1:enable> journal
Select volume:
1: volume: 71922a77-03af-4563-936e-cb66f747d066, status: in-use, size: 40GB, attach: /dev/sda on test
Enter index: 1
cinder-volumes/volume-71922a77-03af-4563-936e-cb66f747d066 enabled in journal mode
  1. cluster1(プライマリ)での同期完了までステータスを監視する

    CLI > ストレージ > ミラー > ステータス

cluster1:mirror> status
Local time: 2025-05-14 14:29:07
+----------------------------------------------+----------------------------------------------+
| (local) control-10.32.31.10-site OK | (remote) control-10.32.10.140-site OK |
+----------------------------------------------+----------------------------------------------+
| 71922a77-03af-4563-936e-cb66f747d066 (journal) (40G) /dev/sda on test |
| local image is primary up+stopped | synced up+replaying |
+----------------------------------------------+----------------------------------------------+
  1. cluster2(セカンダリ)での同期完了までステータスを監視する

    CLI > ストレージ > ミラー > ステータス

cluster2:mirror> status
Local time: 2025-05-14 14:29:19
+----------------------------------------------+----------------------------------------------+
| (local) control-10.32.10.140-site OK | (remote) control-10.32.31.10-site OK |
+----------------------------------------------+----------------------------------------------+
| 71922a77-03af-4563-936e-cb66f747d066 (journal) (40G) |
| synced up+replaying | remote image is primary up+stopped |
+----------------------------------------------+----------------------------------------------+

cluster2 に新しいボリュームエントリが自動的に作成されることを確認する

/assets/volumes/skyline-vm-2.png

クラスター1のVM「test」のミラーリングボリュームにいくつかの変更を加える

/assets/volumes/skyline-vm-3.png

データが同期されていることを確認するために、cluster2(セカンダリ)のステータスを確認してください

cluster2:mirror> status
Local time: 2025-05-14 14:32:25
+----------------------------------------------+----------------------------------------------+
| (local) control-10.32.10.140-site OK | (remote) control-10.32.31.10-site OK |
+----------------------------------------------+----------------------------------------------+
| 71922a77-03af-4563-936e-cb66f747d066 (journal) (40G) |
| synced up+replaying | remote image is primary up+stopped |
+----------------------------------------------+----------------------------------------------+

cluster2(セカンダリ)で画像をプロモートする

プライマリ・クラスタで障害が発生した場合は、セカンダリ・クラスタをプライマリに昇格させる必要があります。

CLI > ストレージ > ミラー > 昇格

cluster2:mirror> promote
1: normal
2: force
Enter index: 1
1: site
2: volume
Enter index: 2
Select volume:
1: volume-71922a77-03af-4563-936e-cb66f747d066
Enter index: 1
normal promote cinder-volumes/volume-71922a77-03af-4563-936e-cb66f747d066 on local site

クラスタ1(プライマリ)のミラーリング状態を確認する

ミラーの状態が変更されたかどうかを確認してください。

クラスター1がセカンダリになり、クラスター2がプライマリになります。

CLI > ストレージ > ミラー > ステータス

cluster1:mirror> status
Local time: 2025-05-14 14:38:09
+----------------------------------------------+----------------------------------------------+
| (local) control-10.32.31.10-site OK | (remote) control-10.32.10.140-site OK |
+----------------------------------------------+----------------------------------------------+
| 71922a77-03af-4563-936e-cb66f747d066 (journal) (40G) /dev/sda on test |
| synced up+replaying | remote image is primary up+stopped |
+----------------------------------------------+----------------------------------------------+

クラスター2(セカンダリ)のミラーリング状態を確認する

CLI > ストレージ > ミラー > ステータス

cc1:mirror> status
Local time: 2025-05-14 11:41:28
+----------------------------------------------+----------------------------------------------+
| (local) control-10.32.10.140-site OK | (remote) control-10.32.31.10-site OK |
+----------------------------------------------+----------------------------------------------+
| 71922a77-03af-4563-936e-cb66f747d066 (journal) (40G) |
| local image is primary up+stopped | synced up+replaying |
+----------------------------------------------+----------------------------------------------+

クラスター1でVM「test」がシャットダウンされていることを確認する(セカンダリに切り替える)

/assets/volumes/skyline-vm-4.png

cluster2上のミラーリングされたイメージにアタッチされたVMを起動する(プライマリに切り替える)

  1. 「More」にカーソルを合わせ、次に「Instance Related」を選択し、「Create Instance」をクリックします。

/assets/volumes/skyline-vm-5.png

  1. 「インスタンスの作成」ステップでは、volume が選択されていることを確認してください。

/assets/volumes/skyline-vm-6.png

cluster2上のミラーリングされたイメージにアタッチされたVMを起動する(プライマリに切り替える)

/assets/volumes/skyline-vm-7.png