LoginSignup
0
0

VMware Data Services ManagerでDBaaSを試す

Last updated at Posted at 2023-06-21

VMware Data Services Manager(旧名称:Data Management for VMware Tanzu)のv1.5を導入して、Databaseを立ち上げるところまで確認した時のメモ。

VMware Data Services Managerとは

VMware Data Services ManagerとはDB as a Serviceを実現するVMwareの製品で、VMware Data Solutionsというデータ関連の一連の製品群の中の1つである。
1687320213486.png

アーキテクチャは以下となる。(こちらから引用)
1686219195319.png

Privderという管理コンポーネントが管理用UIを提供し、各vSphereクラスタ上でDBを展開するためのAgentがvSphereクラスタ/VMCクラスタごとに配置され、データベースを展開する。
また、データベースのテンプレートはVMwareのTanzu Networkで配布されており、これをProviderが取得してAgentはこれを利用してデプロイするようだ。

前提条件

VMware Data Services Managerを利用するための前提条件はこちらに記載されている。

  • vSphere 6.7,7.0,8.0
  • Provider VM: 8CPU,16GBメモリ, ストレージ736GB(thin)
  • Agent VM: 8CPU,16GBメモリ, ストレージ668GB(thin)
  • 100GB以上の空きがあるS3互換ストレージ(分散させることは可能)
    • S3内に6つのバケット(※命名ルールあり)
      • Provider Repo
      • Provider logs
      • Provider backups
      • Database Backup local storage
      • Database Backup storage
      • Agent Template storage

S3はドキュメントには特に記載がなかったが、実質TLS対応していないと使えないので、MinIOとかで立てる人はTLS化して利用する必要がある。
またSANもチェックするので、MinIO OperatorでMinIOをデプロイする場合とかは注意。

また、前提ではないが、OVAのサイズが大きいので、構築を始める前にTanzu NetworkのVMware Data Services ManagerのページからProvider Virtual Applianceをダウンロードしておくことを推奨する。

あと、今回はvCenterに接続するアカウントをadminで済ませていたが、正しいロール・権限で進める場合はConfiguring vSphere SSO Usersを見てアカウントを作成・権限付与するとよい。

検証

手順としては大きくは以下となる。

  1. Provider VMのデプロイ・設定
  2. Agent VMのデプロイ・設定
  3. データベースのデプロイ

Provider VMのデプロイ・設定

Provider VMのデプロイ

OVAのダウンロードが終わっていない場合、Tanzu Networkにアクセスし、Provider Virtual Appliance(v1.5の場合、dms-provider-va-1.5.0.2980-21842200.ova)をダウンロードする。
1686279036285.png
ダウンロードが済んだらvSphere上にovaをデプロイする。この際、パスワードのみ設定する。

ovaデプロイ後、VMを起動してIPに対してhttpsでアクセスする。すると以下のような画面が表示される。
1686561982386.png

パスワードとメールアドレスを入力し、CREATE PROVIDER USERを選択すると、Providerというロールを持つ初期ユーザが作成されて、ダッシュボードが表示される。

1686705115240.png

Organizationの作成

次にユーザを作成したいところだが、Organizationを作っておかないとユーザが所属する組織(Organization)が選択できないので、先に作成する。
左サイドバーのOrganizations->CREATE ORGANIZATION を選択し、各項目を埋めていく。
1686707536355.png
各項目の意味は以下となる。

  • Organization name: 組織名(全体で一意)
  • Email: 組織の代表メールアドレス(他と重複不可)
  • DB FQDN Suffix: 払い出すDBのSuffix(全体で一意)
  • VM Configuration Mode:
    • Plans Mode: DBの払い出し(Provisioning)時、CPUとメモリを事前に定義されたものから選ぶ
    • Free Mode: DBの払い出し(Provisioning)時、CPUとメモリをそのタイミングで指定する

入力後、ADDを選択して作成を完了させる。

VM PLANの追加

先程のOrganization作成時にPlans Modeを選択した場合、DB払い出し時にPlanの選択を迫られるので、予め作っておく。
左サイドバーのVM Plans->ADD NEW VM PLAN を選択し、プラン名、割当CPU数、割当メモリサイズを入力してADDを選択する。
1686708944192.png

OrganizationのAdminアカウントの作成

先程作成したOrganizationのAdminを作成する。
特に迷うところはないかと思われるので、詳細な説明は省略する。
なお、Email idは他との重複が不可となる。
入力後、ADDを選択して作成を完了させる。

DBのテンプレートの追加と公開

DBのテンプレートの追加にはS3バケットと、TanzuNetworkのアクセストークンが必要となる。
S3のバケットは予め作成しておく。
バケットが用意できたら、Data Services Managerの左サイドバーのSettings->Storage Settings を選択し、Provider Repo Urlの横にあるActionsから追加する。
1686716082622.png

上記のような感じで項目を埋めたら、CONNECTを押して接続確認した後にSAVEで保存する。

なお、ついでに他のExternal Storageも同じ用に設定し、Database Backup Storageにも追加しておく(バケットが2つ必要なので、2つ追加しておく)。
1687316285664.png

Tanzu Networkのアクセストークンについては、Tanzu Networkにログイン後、アカウントをクリックしてEdit ProfileからUAA API TOKENの横にあるREQUEST NEW REFRESH TOKENから発行できる。
発行したアクセストークンはData Services Managerの左サイドバーのSettings->Information を選択し、Tanzu Net Tokenの横にあるACTIONSから追加する。

それぞれ終わってしばらく待つと、左サイドバーのDatabase Templatesにデータベースの一覧が表示されるようになる。
1686718895018.png

データベースの列のActionsの項目をクリックすると、Publishというのが選べるので、デプロイしたいDBをPublishに変更する

1687317008681.png

なお、Database Templatesにデータベースが表示されるようになったら、EnvironmentsProvider StatusReady To Onboardに変更される

1686719336321.png

Agent VMの展開先環境のセットアップ

Agent VMをデプロイするために、Agent VMのデプロイ先の環境情報をセットアップする。
左サイドバーのEnvironments->SETUP NEW ENVIRONMENT を選択すると、
Consolidated EnvironmentDistributed Environmentを聞かれる。
DBの展開先が同一vSphereクラスタ内であればConsolidated Environmentがよさそう。
ここではConsolidated Environmentで進めるものとする。
Consolidated Environmentを選択後、暫く待つとAgent Onboardingという画面に遷移する。
1686721092388.png
Cluster TypeVSPHEREを選択し、vCenterのFQDNやアカウントを入力してCONNECTを選択する。最初のvCenter Credentialsは管理者権限を持つユーザー、次に聞かれるMonitoring Read-Only CredentialsはRead権限を持つユーザーを指定する。CONNECTをクリックして問題なければ、NEXTがクリックできるようになるのでクリックする。
次にデプロイ先について聞かれるが、プルダウンで選べるようになっているので、デプロイ先として使うクラスタやネットワークなどを選んでいく。
選択後、VALIDATEを選んで問題なければ、NEXTをクリックする。

次にDBのテンプレートのS3ストレージを聞かれるので、DBのテンプレート追加時に設定したS3のバケット情報などを入力する。
1686722148228.png

Storage Nameは任意の名前でよい模様。
なお、ここで大きな注意点として、S3ストレージのEndpointはhttpsである必要があり、かつIP/FQDNもSANに含まれるものである必要がある
(スクショは失敗時のものでhttpで指定していた)。
現時点ではhttpでCONNECTをクリックしてもエラーが出ず、その先のSAVEをクリック後画面が進まなくなってしまう。
エラーが出ないだけにかなりやっかいなので、よく注意しておくこと。

S3の情報を入力して先に進み、最後に確認画面でSAVEを押すと環境のセットアップが開始される。
1,2分待つと、以下の様に環境がEnvironmentsで表示されるようになる。
1687258364317.png

Agent VMのデプロイ・設定

Agent VMのデプロイ

環境のセットアップが終わっている場合、左サイドバーのEnvironmentsからDEPLOY NEW AGENTが選択できるようになっている。
これをクリックして各項目を埋めていく。
1687259027081.png

1のvCenter Authenticationでは迷うところはないだろう。
2のSelect OVA templateではOVA from Provider Repositoryのプルダウンを選択するとOVAが選べるので、ここではdms-agent-va-1.5.0.2797-21842199.ovaを選択した。
1687303971119.png

3のPlacement ConfigurationではVirtual Machine Nameに任意の名前を設定し、他はプルダウンで選択していく。
4, 5のSelect StorageおよびSelect Networkも特に迷うところはないと思う。
6のCustomize VM Templateはパスワードを設定し、ネットワークに関しては固定IPを使いたい時などは設定しておく。
今回はDHCPで検証したため、特に設定変更せずにそのまま進んだ。
1687304311469.png

最後、確認画面が表示される。IP AllocationがStaticになっているが、気にせずにDEPLOY AGENTをクリックしてデプロイを実施する。
クリック後、デプロイ中のステータスなどは確認できないが、vCenter側ではVMが作成されていることが確認できる。
1687304557167.png

しばらく待つとデプロイが完了しVMの電源が自動でOnとなり、Data Services ManagerのEnvironmentsにも表示されるようになる。

1687305923864.png

なお、ovaのデプロイはvSphere Clientからも実施することが可能。
この場合、手動でVMの電源を入れる必要がある点が異なるため注意が必要である。

Agent VMの設定

こちらの手順を参考にデプロイされたAgent VMの設定を行う。
なお、ドキュメントにはAgent VMのIPにアクセスして設定する方法も記載されているが、こちらで確認したところ最後に401エラーが出て最後まで進めることが出来なかった。
左サイドバーのEnvironmentsからAvailable Agent VMsの欄にある、先程デプロイしたVMのActionでONBOARD AGENTが選択できるようになっているのでクリックする。
1687313807621.png

ここの設定はSETUP NEW ENVIRONMENTで実施した設定とほぼ同じなので詳細の説明は割愛する。
1点注意点としては、Resource Poolの設定で過去に利用したことがあるリソースプールは選択は出来るが後でエラーとなるため、新規にリソースプールを作成してそれを指定した方がよい。
問題なく設定できると、以下のような画面となる。
1687314173335.png

Namespaceの作成

Databaseを展開するために、展開先のNamespaceを作成しておく必要がある。
左サイドバーのNamespaces->CREATE NAMESPACE を選択すると、作成用の画面が表示される。
1のName and Descriptionでは任意の名前を入力する。
2のEnvironmentでは展開先の環境を選択する。
1687315579708.png

3ではバックアップ先を選択する。ここでバックアップ先が出てこない場合、Settings->Storage SettingsDatabase Backup Storageにデータベースが登録できているかを確認する。(External StorageのBackup Repo UIを設定とは別に設定が必要)
1687316395143.png

4,5のVM DatastoresとDatabase Networksは使えるものを選択する。
最後に6のOrganization Associationで関連付けるOrganizationを選択する。
ここでは先程作成したOrganizationに紐付ける。

Databaseのデプロイ

ここからアカウントを切り替えて、先程作成したユーザーでログインする。
切り替えたアカウントから先程Namespace作成時に紐づけた環境が確認できる。
1687316849307.png

ここにDatabaseを作成する。
左サイドバーのDatabases->CREATE DB を選択すると、作成用の画面が表示される。
ここでは先程Database TemplatesPublishedに設定したデータベースをデプロイすることが出来る。
1のDatabase ConfigurationではMySQLを選択し、Admin Passwordだけ変更してNEXTをクリックする。
2のVM Configurationでは作成しておいたPlanを選択する。
3のManagemetnt Configurationでは監視やバックアップ設定、クラスタ設定をすることが出来る。
一旦デフォルト値のままで先に進む。
4,5のAlert Configuration, Additional Configurationでも同様にデフォルト値のまま先に進む。
Summaryで設定した値に問題なければ、CREATE DATABASEをクリックする。
1687317332723.png

しばらくすると、DatabaseのVMが作成される。
1687319745483.png

Databaseの一覧からもDatabaseの詳細が確認できる。
1687319776344.png

データベースにアクセスしてみる。

$ mysql -u dbaas -p -h 10.41.78.93
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 167
Server version: 8.0.32-24 Percona Server (GPL), Release 24, Revision e5c6e9d2

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

中も見てみる。

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| dbaas              |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.02 sec)

問題なさそうだ。

Q&A

UIにアクセスしても"Service is not running.” と表示されてログインできない

VMの起動後に順々に内部で関連するサービスを起動しているようで、UIの起動が先行しているため、UIにアクセスできるからといってもすぐには利用できない。
30分くらい時間をおいて再度アクセスしてみるとよい。

Database Templatesにデータベースが表示されない

何かしらのタイミングで処理が止まった場合、処理を再実行してあげる必要がある。
(自分はStorage Settingsで設定後にMinIOを再起動して遭遇した)
この場合は再度Storage SettingsでProvider Repo Urlの値をUpdateしてやると処理が再実行される模様。Updateする際の値は前と同じものを再入力するだけでよい。

環境セッティング時、Placement Configurationの設定でVALIDATEを押すと、User [administrator@vsphere.local] missing [[Datastore.AllocateSpace, ...というエラーが出る

VM FolderでvCLSを選ぶと出る。ちゃんと使えるフォルダを選択する必要がある。

Environmentで環境を追加してSAVEを押しても画面が変わらない

1687258784210.png

上記の様になっている場合、非TLSのS3ストレージを選択している可能性が高い。
S3指定時、httpsを指定したかどうかを確認するとよい。

0
0
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
0
0