読者です 読者をやめる 読者になる 読者になる

NTNX>日記

個人的な趣味による Nutanix Community Edition 日記。Japanese のみですみません。

Nutanix CE の Cassandra をのぞいてみる。

CVM

Nutanix の Cassandra をのぞいてみました。

CVM のバージョンはこれです。

nutanix@NTNX-ae6619e0-A-CVM:10.1.1.21:~$ cat /etc/nutanix/svm-version
4.6r11

cassandra-cli でを起動して、

nutanix@NTNX-ae6619e0-A-CVM:10.1.1.21:~$ cassandra-cli
Welcome to cassandra CLI.

Type 'help;' or '?' for help. Type 'quit;' or 'exit;' to quit.
[default@unknown]

localhost の 9160番ポートに接続します。

[default@unknown] connect localhost/9160;
Connected to: "7427652206174240679" on localhost/9160

 ためしに、「pithos」という名前のキースペースに接続してみました。

[default@unknown] use pithos;
Authenticated to keyspace: pithos
[default@pithos]

ちなみに、Nutanix Bible によれば、Pithos は Nutanix の仮想ディスクの構成データを管理していて、Cassandra 上に構築されているようです。

※下記の、パートIII. Acropolis → クラスタ コンポーネント → Pithos あたりを参照。

pithos キースペースには、「cf」という名前のカラムファミリがあります。

[default@pithos] describe keyspace pithos;
Keyspace: pithos:
  Replication Strategy: org.apache.cassandra.locator.SimpleStrategy
    Replication Factor: 1
  Column Families:
    ColumnFamily: cf
      default_validation_class: org.apache.cassandra.db.marshal.BytesType
      Columns sorted by: org.apache.cassandra.db.marshal.AsciiType
      Row cache size (entries) / save period in seconds: 0.0/0
      Key cache size / save period in seconds: 5000.0/14400
      Memtable thresholds: 1.0/32/30 (millions of ops/minutes/MB)
      GC grace seconds: 120
      Compaction min/max thresholds: 2/32
      Max sstables allowed: 6
      Read repair chance: 0.0
      Built indexes: []

「cf」カラムファミリを 5行だけ見てみます。
中身は正直よくわかりませんでした・・・

[default@pithos] list cf limit 5;
-------------------
RowKey: acropolis.addr_mac:52:54:00:10:9d:72
=> (column=data, value=0a06525400109d721204c0a800051a10b57a9d487b22458b9b342de60a190a662210d637bbe0ad664725ba65a91ac25f0ea93001, timestamp=1465023942030266)
-------------------
RowKey: acropolis.addr_mac:52:54:00:89:ff:7a
=> (column=data, value=0a0652540089ff7a12040a0101051a107a5969b042604ecf9ff4f2a804f992282210d637bbe0ad664725ba65a91ac25f0ea93001, timestamp=1464909678739082)
-------------------
RowKey: acropolis.host_uuid:Jtt5PrqjQJmHgGqnmJ9aIQ==
=> (column=data, value=0a1026db793ebaa3409987806aa7989f5a2128aa1430c8dd1f38f3c83740014a0573737365334a076c6168665f6c6d4a04637831364a06737365342e314a06737365342e324a06706f70636e744a036165734a0870636c6d756c64714a067832617069634a0c7473632d646561646c696e654a0578736176654a036176784a067264747363704a0465726d734a04736d65704a0866736773626173654a0a68797065727669736f724a06726472616e644a04663136634a076f7378736176654a04706369644a0268744a03766d65, timestamp=1465038341052544)
-------------------
RowKey: acropolis.image_uuid:ApBDiHqSTA2UasKHb/nd1Q==
=> (column=data, value=0a10029043887a924c0d946ac2876ff9ddd51206436972726f731a00200128044802521090ae4b70df9e4bd39c8a8420428116a35801616a34a425db33050069ae65e225db330500, timestamp=1464391251071908)
-------------------
RowKey: acropolis.image_uuid:IIYQ2Sm2RdGQ/2egTjf6Ww==
=> (column=data, value=0a10208610d929b645d190ff67a04e37fa5b12036f6c371a0020022804480252101b5336b1d8bb4f03a73d42e9c1c403a3580161b89cf5285334050069f24a412953340500, timestamp=1464906987042594)

5 Rows Returned.

cassandra-cli を終了します。

[default@pithos] quit;
nutanix@NTNX-ae6619e0-A-CVM:10.1.1.21:~$

keyspace と Column Family の名前から、ある程度はどのような情報が Cassandra で管理されているのかわかるかもしれません。コマンドを記載したファイルを用意して、cassandra-cli を実行します。

nutanix@NTNX-ae6619e0-A-CVM:10.1.1.21:~$ cat cmd.txt
connect localhost/9160;
show keyspaces;
quit;

実行結果の出力が多いので、grep でざっくりフィルタしてみました。

nutanix@NTNX-ae6619e0-A-CVM:10.1.1.21:~$ cat cmd.txt | cassandra-cli | grep -A1 -e "Keyspace" -e "Column*Fam" | grep -v default_validation_class | grep -v -e '^-' -e  "Replication Strategy"
Keyspace: alerts_index_keyspace:
    ColumnFamily: alerts_index_cf
Keyspace: alerts_keyspace:
    ColumnFamily: alerts_cf
Keyspace: arithmos:
    ColumnFamily: historical_stats
    ColumnFamily: persist_files
Keyspace: deduped_obj_store:
    ColumnFamily: control_block
    ColumnFamily: value
Keyspace: default_WAL_keyspace:
    ColumnFamily: default_WAL_cf
    ColumnFamily: default_WAL_paxos_cf
Keyspace: default_WAL_metadata_keyspace:
    ColumnFamily: default_WAL_metadata_cf
    ColumnFamily: default_WAL_metadata_paxos_cf
Keyspace: insights:
    ColumnFamily: entity_trail
    "Entity time series trail records"
    ColumnFamily: entity_trail_snapshot_history
    "record of snapshots for the entity trail"
    ColumnFamily: latest_entities
    "Current entities"
    ColumnFamily: registered_entity_types
    "Entity Type meta data"
    ColumnFamily: registered_metric_types
    "Metric meta data"
Keyspace: insights_metric_data:
    ColumnFamily: metric_data_by_entity
    "Metric time series data for one entity, one metric"
    ColumnFamily: metric_data_by_entity_ds
    "Metric time series downsampled data for entity, metric"
    ColumnFamily: metric_data_by_shard
    "Metric time series data for all entities in the shard"
    ColumnFamily: metric_data_by_shard_ds
    "Metric time series downsampled data for all entities in shard"
Keyspace: medusa_extentgroupaccessdatamap:
    ColumnFamily: extentgroupaccessdatamap
    "Auto-created column family"
Keyspace: medusa_extentgroupidmap:
    ColumnFamily: extentgroupidmap
    "Auto-created column family"
    ColumnFamily: extentgroupidmap_row_cas_cf
    "Auto-created column family"
Keyspace: medusa_extentidmap:
    ColumnFamily: extentidmap
    "Auto-created column family"
Keyspace: medusa_nfsmap:
    ColumnFamily: nfsmap
    "Auto-created column family"
Keyspace: medusa_smbfileidmap:
    ColumnFamily: smbfileidmap
    "Auto-created column family"
Keyspace: medusa_vdiskblockmap:
    ColumnFamily: vdiskblockmap
    "Auto-created column family"
Keyspace: medusa_vdiskoplogmap:
    ColumnFamily: vdiskoplogmap
    "Auto-created column family"
Keyspace: pithos:
    ColumnFamily: cf
Keyspace: plan_mgr:
    ColumnFamily: completed_backup
    ColumnFamily: completed_job
    ColumnFamily: running_backup
    ColumnFamily: running_job
Keyspace: stats:
    ColumnFamily: stats_historical
    ColumnFamily: stats_realtime
    ColumnFamily: stats_sampling_periods
Keyspace: system:
    ColumnFamily: HintsColumnFamily (Super)
    "hinted handoff data"
    ColumnFamily: IndexInfo
    "indexes that have been completed"
    ColumnFamily: LocationInfo
    "persistent metadata for the local node"
    ColumnFamily: Migrations
    "individual schema mutations"
    ColumnFamily: Schema
    "current state of the schema"
nutanix@NTNX-ae6619e0-A-CVM:10.1.1.21:~$

以上。