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つである。
アーキテクチャは以下となる。(こちらから引用)
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内に6つのバケット(※命名ルールあり)
S3はドキュメントには特に記載がなかったが、実質TLS対応していないと使えないので、MinIOとかで立てる人はTLS化して利用する必要がある。
またSANもチェックするので、MinIO OperatorでMinIOをデプロイする場合とかは注意。
また、前提ではないが、OVAのサイズが大きいので、構築を始める前にTanzu NetworkのVMware Data Services ManagerのページからProvider Virtual Appliance
をダウンロードしておくことを推奨する。
あと、今回はvCenterに接続するアカウントをadminで済ませていたが、正しいロール・権限で進める場合はConfiguring vSphere SSO Usersを見てアカウントを作成・権限付与するとよい。
検証
手順としては大きくは以下となる。
- Provider VMのデプロイ・設定
- Agent VMのデプロイ・設定
- データベースのデプロイ
Provider VMのデプロイ・設定
Provider VMのデプロイ
OVAのダウンロードが終わっていない場合、Tanzu Networkにアクセスし、Provider Virtual Appliance(v1.5の場合、dms-provider-va-1.5.0.2980-21842200.ova)をダウンロードする。
ダウンロードが済んだらvSphere上にovaをデプロイする。この際、パスワードのみ設定する。
ovaデプロイ後、VMを起動してIPに対してhttpsでアクセスする。すると以下のような画面が表示される。
パスワードとメールアドレスを入力し、CREATE PROVIDER USER
を選択すると、Providerというロールを持つ初期ユーザが作成されて、ダッシュボードが表示される。
Organizationの作成
次にユーザを作成したいところだが、Organizationを作っておかないとユーザが所属する組織(Organization)が選択できないので、先に作成する。
左サイドバーのOrganizations
->CREATE ORGANIZATION
を選択し、各項目を埋めていく。
各項目の意味は以下となる。
-
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
を選択する。
OrganizationのAdminアカウントの作成
先程作成したOrganizationのAdminを作成する。
特に迷うところはないかと思われるので、詳細な説明は省略する。
なお、Email id
は他との重複が不可となる。
入力後、ADD
を選択して作成を完了させる。
DBのテンプレートの追加と公開
DBのテンプレートの追加にはS3バケットと、TanzuNetworkのアクセストークンが必要となる。
S3のバケットは予め作成しておく。
バケットが用意できたら、Data Services Managerの左サイドバーのSettings
->Storage Settings
を選択し、Provider Repo Url
の横にあるActions
から追加する。
上記のような感じで項目を埋めたら、CONNECT
を押して接続確認した後にSAVE
で保存する。
なお、ついでに他のExternal Storageも同じ用に設定し、Database Backup Storageにも追加しておく(バケットが2つ必要なので、2つ追加しておく)。
Tanzu Networkのアクセストークンについては、Tanzu Networkにログイン後、アカウントをクリックしてEdit ProfileからUAA API TOKEN
の横にあるREQUEST NEW REFRESH TOKEN
から発行できる。
発行したアクセストークンはData Services Managerの左サイドバーのSettings
->Information
を選択し、Tanzu Net Token
の横にあるACTIONS
から追加する。
それぞれ終わってしばらく待つと、左サイドバーのDatabase Templates
にデータベースの一覧が表示されるようになる。
データベースの列のActions
の項目をクリックすると、Publish
というのが選べるので、デプロイしたいDBをPublish
に変更する
なお、Database Templates
にデータベースが表示されるようになったら、Environments
のProvider Status
もReady To Onboard
に変更される
Agent VMの展開先環境のセットアップ
Agent VMをデプロイするために、Agent VMのデプロイ先の環境情報をセットアップする。
左サイドバーのEnvironments
->SETUP NEW ENVIRONMENT
を選択すると、
Consolidated Environment
かDistributed Environment
を聞かれる。
DBの展開先が同一vSphereクラスタ内であればConsolidated Environment
がよさそう。
ここではConsolidated Environment
で進めるものとする。
Consolidated Environment
を選択後、暫く待つとAgent Onboarding
という画面に遷移する。
Cluster Type
でVSPHERE
を選択し、vCenterのFQDNやアカウントを入力してCONNECT
を選択する。最初のvCenter Credentials
は管理者権限を持つユーザー、次に聞かれるMonitoring Read-Only Credentials
はRead権限を持つユーザーを指定する。CONNECT
をクリックして問題なければ、NEXT
がクリックできるようになるのでクリックする。
次にデプロイ先について聞かれるが、プルダウンで選べるようになっているので、デプロイ先として使うクラスタやネットワークなどを選んでいく。
選択後、VALIDATE
を選んで問題なければ、NEXT
をクリックする。
次にDBのテンプレートのS3ストレージを聞かれるので、DBのテンプレート追加時に設定したS3のバケット情報などを入力する。
Storage Nameは任意の名前でよい模様。
なお、ここで大きな注意点として、S3ストレージのEndpointはhttpsである必要があり、かつIP/FQDNもSANに含まれるものである必要がある
(スクショは失敗時のものでhttpで指定していた)。
現時点ではhttpでCONNECT
をクリックしてもエラーが出ず、その先のSAVE
をクリック後画面が進まなくなってしまう。
エラーが出ないだけにかなりやっかいなので、よく注意しておくこと。
S3の情報を入力して先に進み、最後に確認画面でSAVE
を押すと環境のセットアップが開始される。
1,2分待つと、以下の様に環境がEnvironmentsで表示されるようになる。
Agent VMのデプロイ・設定
Agent VMのデプロイ
環境のセットアップが終わっている場合、左サイドバーのEnvironments
からDEPLOY NEW AGENT
が選択できるようになっている。
これをクリックして各項目を埋めていく。
1のvCenter Authenticationでは迷うところはないだろう。
2のSelect OVA templateではOVA from Provider Repository
のプルダウンを選択するとOVAが選べるので、ここではdms-agent-va-1.5.0.2797-21842199.ova
を選択した。
3のPlacement ConfigurationではVirtual Machine Name
に任意の名前を設定し、他はプルダウンで選択していく。
4, 5のSelect StorageおよびSelect Networkも特に迷うところはないと思う。
6のCustomize VM Templateはパスワードを設定し、ネットワークに関しては固定IPを使いたい時などは設定しておく。
今回はDHCPで検証したため、特に設定変更せずにそのまま進んだ。
最後、確認画面が表示される。IP AllocationがStaticになっているが、気にせずにDEPLOY AGENT
をクリックしてデプロイを実施する。
クリック後、デプロイ中のステータスなどは確認できないが、vCenter側ではVMが作成されていることが確認できる。
しばらく待つとデプロイが完了しVMの電源が自動でOnとなり、Data Services ManagerのEnvironments
にも表示されるようになる。
なお、ovaのデプロイはvSphere Clientからも実施することが可能。
この場合、手動でVMの電源を入れる必要がある点が異なるため注意が必要である。
Agent VMの設定
こちらの手順を参考にデプロイされたAgent VMの設定を行う。
なお、ドキュメントにはAgent VMのIPにアクセスして設定する方法も記載されているが、こちらで確認したところ最後に401エラーが出て最後まで進めることが出来なかった。
左サイドバーのEnvironments
からAvailable Agent VMs
の欄にある、先程デプロイしたVMのActionでONBOARD AGENT
が選択できるようになっているのでクリックする。
ここの設定はSETUP NEW ENVIRONMENT
で実施した設定とほぼ同じなので詳細の説明は割愛する。
1点注意点としては、Resource Poolの設定で過去に利用したことがあるリソースプールは選択は出来るが後でエラーとなるため、新規にリソースプールを作成してそれを指定した方がよい。
問題なく設定できると、以下のような画面となる。
Namespaceの作成
Databaseを展開するために、展開先のNamespaceを作成しておく必要がある。
左サイドバーのNamespaces
->CREATE NAMESPACE
を選択すると、作成用の画面が表示される。
1のName and Descriptionでは任意の名前を入力する。
2のEnvironmentでは展開先の環境を選択する。
3ではバックアップ先を選択する。ここでバックアップ先が出てこない場合、Settings
->Storage Settings
でDatabase Backup Storage
にデータベースが登録できているかを確認する。(External StorageのBackup Repo UIを設定とは別に設定が必要)
4,5のVM DatastoresとDatabase Networksは使えるものを選択する。
最後に6のOrganization Associationで関連付けるOrganizationを選択する。
ここでは先程作成したOrganizationに紐付ける。
Databaseのデプロイ
ここからアカウントを切り替えて、先程作成したユーザーでログインする。
切り替えたアカウントから先程Namespace作成時に紐づけた環境が確認できる。
ここにDatabaseを作成する。
左サイドバーのDatabases
->CREATE DB
を選択すると、作成用の画面が表示される。
ここでは先程Database Templates
でPublished
に設定したデータベースをデプロイすることが出来る。
1のDatabase ConfigurationではMySQLを選択し、Admin Password
だけ変更してNEXT
をクリックする。
2のVM Configurationでは作成しておいたPlanを選択する。
3のManagemetnt Configurationでは監視やバックアップ設定、クラスタ設定をすることが出来る。
一旦デフォルト値のままで先に進む。
4,5のAlert Configuration, Additional Configurationでも同様にデフォルト値のまま先に進む。
Summaryで設定した値に問題なければ、CREATE DATABASE
をクリックする。
Databaseの一覧からもDatabaseの詳細が確認できる。
データベースにアクセスしてみる。
$ 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を押しても画面が変わらない
上記の様になっている場合、非TLSのS3ストレージを選択している可能性が高い。
S3指定時、httpsを指定したかどうかを確認するとよい。