3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ONTAP Simulator 9.11 を Linux KVM で動かす(クラスタセットアップ編)

Last updated at Posted at 2022-10-08

前回クラスタセットアップウィザードが起動するところまでをやったので、今回はクラスタセットアップ編になります。

クラスタの作り方

ONTAPがOSとして起動したあとはストレージクラスタの設定になりますが、設定方法としては主に三種類に分かれます。

  • IPアドレスが設定済み
    • REST APIを使う
    • Web GUIを使う
  • IPアドレスが設定されていない・アクセスできない
    • ConsoleからCUIを使う

個人的な好みと 自動化の楽ちんさから APIで行いたいと思います。

REST APIによるクラスタ設定

Cluster作成 APIの詳細については、公式のPOST /clusterを参照してください。

POSTデータの準備

設定値のうち、必須で必要となるのは、クラスタの名前と管理者パスワードのみです。
ここでは configuration_backupを除いて、推奨されているプロパティを全て設定することにします。

今回、私の環境でポストする内容は以下のようになります。

cluster-create.json
{
    "name": "ontapsim",
    "password": "supersecret1!",
    "location": "my desktop pc",
    "contact": "admin@local.netapp.com",
    "dns_domains": [
        "local.netapp.com"
    ],
    "name_servers": [
        "192.168.255.254"
    ],
    "ntp_servers": [
        "ntp.nict.jp"
    ],
    "license": {
        "keys": [
            "XXXXXXXXXXXXXXAAAAAAAAAAAAAA",
            "XXXXXXXXXXXXXXABGAAAAAAAAAAA",
            "ライセンスを必要な分だけ追加AAA"
        ]
    },
    "management_interface": {
        "ip": {
            "address": "192.168.255.210",
            "gateway": "192.168.255.254",
            "netmask": "255.255.255.0"
        }
    },
    "nodes": [
        {
            "name": "ontapsim-01",
            "management_interface": {
                "ip": {
                    "address": "192.168.255.211"
                }
            }
        }
    ]
}

設定値の簡単な説明は以下のようになります。ネットワーク等の設定値は適宜調整してください。

名前 設定値
name クラスタ名
password クラスタ管理者のパスワード(英文字以外に数字が最低限1文字必要)
location クラスタを設置する場所等を示す任意の文字列
contact 管理者のメールアドレス等、連絡先を示す任意の文字列
dns_domains リスト: 名前解決に使われるドメイン名です。"local"は使えないので注意
name_servers リスト: DNSサーバをIPv4か IPv6で指定
ntp_servers リスト: 時刻合わせを行うNTPサーバ名
license.keys リスト: ライセンスキー文字列
management_interface.ip.address クラスタ管理IPアドレス
management_interface.ip.netmask クラスタ管理IPアドレス
management_interface.ip.gateway クラスタ管理IPアドレス
nodes リスト: クラスタのノード
nodes[0].name 最初のノードの名前
nodes[0].management_interface.ip.address 最初のノードの管理IPアドレス(netmask等はクラスタIPをベースに設定される)

REST APIで管理IPを変更したときの注意

暫定的な管理IPが DHCPや Auto IPで自動付与された物(インターフェース名:mgmt_auto)で、management_interface.ipを指定した場合、Cluster APIで設定完了後 自動付与されたアドレスが削除されます。
APIを投げるのに利用したアドレスではアクセスが出来なくなりますので注意してください。

また、REST APIでクラスタを作るタイミングでは、管理ネットワークのポート等を細かく設定する事が出来ないため、ネットワーク要件等で細かいポート指定等がある場合、ここで指定せずに、クラスタ作成後に適宜設定を入れていく必要があります。

license.keysについて

ライセンスのキーについてはダウンロードしたテキストファイルにかかれている 28文字の 文字列です。

Cluster Base Licenseと Feature Licenseを全て記入してしまって構いません。

CMode_licenses_9.x.txt
# Clusterライセンスは以下のような形で 1つ

Cluster Base license = XXXXXXXXXXXXXXAAAAAAAAAAAAAA

# Featureライセンスは以下のような形で 各機能について 2つ=2ノード分記載されています。

CIFS                   XXXXXXXXXXXXXXXXXAAAAAAAAAAA   CIFS protocol

管理IPの確認

管理IPの確認をします。コンソールからadminでログインして、以下のコマンドを実行します。

管理IPの確認
network interface show

20221008182706-Window.png

必要なときだけ:作業端末での IP Aliasの設定

私の環境では、ONTAP Simulatorに Auto IPが設定されており、作業端末に Auto IPが無いためこの作業が必要になります。
DHCP等でIPが与えられていて作業端末から接続が可能な場合は、この項目は飛ばしてください。

Auto IPのアドレスには pingが届かないので、一時的に作業端末に対して 169.254.0.0/16で IP aliasを設定してやります。

作業をしている Linux端末で macvtap1の interfaceが 同じbridgeに接続されています。以下のコマンドでstaticにアドレス1を設定します。

add_apipa_static.sh
sudo ip address add 169.254.0.1/16 dev macvtap1

Auto IPでの作業が終わったら以下のコマンドで削除します。

remove_apipa_static.sh
sudo ip address del 169.254.0.1/16 dev macvtap1

APIの実行

まず最初に pingで 管理IPへの疎通を確認します。

user@kvm:~/work/ontap9.11.1$ ip address show macvtap1
11: macvtap1@br1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    inet 169.254.0.1/16 scope global macvtap1
       valid_lft forever preferred_lft forever

user@kvm:~/work/ontap9.11.1$ ping 169.254.224.62
PING 169.254.224.62 (169.254.224.62) 56(84) bytes of data.
64 bytes from 169.254.224.62: icmp_seq=1 ttl=64 time=0.587 ms

curlを使って投げます。ここでは一つのノードしか使いませんので、シングルノードクラスターを指定します。

cluster-create.sh
curl -s -k -X POST "https://169.254.224.62/api/cluster?single_node_cluster=true" -d "@cluster-create.json" -u admin:

以下の様にJob IDが帰ってくればClusterの作成がスタートしています。エラーの場合には、なんらかのメッセージが戻ってきます。

{
  "job": {
    "uuid": "869d4926-46ef-11ed-b130-0ba1a7e2cc91",
    "_links": {
      "self": {
        "href": "/api/cluster/jobs/869d4926-46ef-11ed-b130-0ba1a7e2cc91"
      }
    }
  }
}

Jobの完了待ち

ClusterセットアップのJob IDが戻ってきたので状況を確認します。

セットアップ中に、DHCPやAuto IPで自動的についていたmgmt_autoのIPアドレスは消去されるため、cluster作成時に指定したIPに対して APIを発行します。

Jobの確認用のAPIについては公式のGET /cluster/josb/{uuid}をご確認ください。

job-status.sh
curl -s -k -X GET "https://192.168.255.210/api/cluster/jobs/869d4926-46ef-11ed-b130-0ba1a7e2cc91" -u "admin:supersecret1!"

以下のように stateが runningから successになったら完了です。エラーが出た場合はメッセージを確認して対処します。

user@kvm:~/work/ontap9.11.1$ curl -s -k -X GET "https://192.168.255.210/api/cluster/jobs/869d4926-46ef-11ed-b130-0ba1a7e2cc91" -u "admin:supersecret1!"
{
  "uuid": "869d4926-46ef-11ed-b130-0ba1a7e2cc91",
  "description": "POST /api/cluster",
  "state": "success",
  "message": "success",
  "code": 0,
  "start_time": "2022-10-08T09:56:48+00:00",
  "end_time": "2022-10-08T09:58:32+00:00",
  "_links": {
    "self": {
      "href": "/api/cluster/jobs/869d4926-46ef-11ed-b130-0ba1a7e2cc91"
    }
  }
}

クラスタ管理画面(System Manager)へのアクセス

Cluster作成時に設定した管理IPに対して httpsでアクセスするとログイン画面が表示されます。

20221008191822-Window.png

ここから設定した adminパスワードでログインできれば完了です。

20221008192105-Window.png

この後は……

ここまでで、クラスタが出来たので、あとはRAIDやデータ用のネットワーク・インターフェース、iSCSIやNFS/CIFS等を設定して使っていくだけなのですが、ONTAP Simulatorでは、その前にやっておくと良い設定があるので次回はその説明をします。

  1. APIPAがアサインするのは 169.254.1.0以後なので、このアドレスであればAuto IPにはぶつからないと思うのですが、ちょっと安直すぎます。ネットワークが閉じられていない等の理由で安全を考えるなら avahi-autoipd 等を使うべきかもしれません。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?