Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Xtract for DBsを試してみた

281 views

Published on

本資料は2018年1月15日に開催された
Nutanix Community Meetup #23の資料です

Published in: Technology
  • Be the first to comment

Xtract for DBsを試してみた

  1. 1. Xtract For Databases (DBs) を試してみた @dozonot
  2. 2. 本資料について 本資料は2018年1月15日に開催された Nutanix Community Meetup #23の資料です 資料のアップロードにあたり、次の事項を変更。 ・一部の記載内容を修正・削除
  3. 3. INDEX (はなすこと) •はじめに •Xtract For DBs の準備 •Xtract For DBs によるDB移行
  4. 4. はじめに おことわり 本資料の内容は、@dozonotが個人で環境を調達・検証した内容です。 記載内容は全て個人の見解となり、所属する組織を代表するものではありません。 プレゼンターはNutanixの初学者です。普段Nutanixを使用されている方には常識 的な内容が含まれている場合があります。 本資料の内容には製品サポート対象外の構成が含まれている可能性があります。
  5. 5. だれ? • どうぞの @dozonot • 中央区の某研修センターに従事する、 ITインフラ技術のインストラクター。 クラウドとオンプレミスの仮想化を担当。 I LOVE \u2601。
  6. 6. 注意事項 現在(2018/1/15) Xtract for DBsは 英語版のSQL Serverのみサポート
  7. 7. Xtract For DBs の準備
  8. 8. 本検証に用いた環境 ストレージプール SSD SSD SSD SSD SSD SSD SSD SSD CVM CVM CVM CVM AHV AHV AHV AHVvSphere ESXi 6.5 SQL Server Xtract Target
  9. 9. 本検証に用いた環境 - Xtract for Databases 1.0.7 - 移行元の環境 - SQL Server on vSphere - Windows Server 2012 R2 EN (with Update) - SQL Server 2016 SP1 EN - 移行先の環境 - Nutanix Community Edition 2017.07.20 - Windows Server 2012 R2 EN (with Update) - SQL Server 2016 SP1 EN
  10. 10. 準備事項 • Nutanix環境の構築 • Xtract for DBsを展開する • Deploymentで使用するWindows Serverのテンプレートを作成する • Xtract for DBsの要件を満たすストレージコンテナを作成する(RF2必須) • ClusterにSQL Serverのインストールメディアを配置する • IPAMによるIP割り当てが可能なネットワークを作成する
  11. 11. 準備事項 [2枚目]Nutanix Advent Calendar 2017 17日目の記事で投稿しました。 https://sd2.dozono.net/?p=570
  12. 12. Xtract For DBs によるDB移行
  13. 13. Xtract for DBs による移行の流れ • Scan 既存のSQL Serverから、OSやソフトウェアの構成、 データベースの構成を取得する • Design Nutanix社のベストプラクティスを活用し、 SQL Serverを設計する • Deployment Nutanix上にベストプラクティスを適用したSQL Serverを 自動構築する • Migration 既存のSQL Serverから、Nutanix上に構築された SQL Serverへデータベースを移行する Deployment Migration Design Scan
  14. 14. 1/4 Scan •Scan 既存のSQL Serverから、OSやソフトウェアの構成、 データベースの構成を取得する • エージェントレス • TCP 1433ポート経由で情報を取得 • 情報収集用にアカウントを作成する必要あり • 情報取得用のアカウントに権限があれば HWの情報も収集 Deployment Migration Design Scan Scan
  15. 15. 移行元DBへスキャン用アカウントの作成 既存のSQL Serverでスキャン用アカウントを作成する。 以下のクエリはSQLユーザを用いる例。 [USER][PASS] は要置換。 Scan 【そのいち】 USE [master]; CREATE LOGIN [USER] WITH PASSWORD=N‘PASS’, DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF USE [master]; GO IF NOT EXISTS(SELECT principal_id FROM sys.database_principals WHERE name = 'USER') BEGIN CREATE USER [USER] FOR LOGIN [USER]; END GRANT VIEW ANY DEFINITION TO [USER]; GRANT EXECUTE ON sys.xp_readerrorlog TO [USER]; GRANT EXECUTE ON sys.xp_servicecontrol TO [USER]; GRANT EXECUTE ON sys.xp_instance_regread TO [USER]; GRANT EXECUTE ON sys.xp_enumerrorlogs TO [USER]; GRANT VIEW SERVER STATE TO [USER]; EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE; 【そのに】 GRANT EXECUTE ON xp_cmdshell TO [USER] CREATE CREDENTIAL ##xp_cmdshell_proxy_account## WITH IDENTITY = 'USER',secret = 'PASS' EXEC sp_MSforeachdb 'USE [?]; IF NOT EXISTS(SELECT principal_id FROM sys.database_principals WHERE name = ''USER'') BEGIN CREATE USER [USER] FOR LOGIN [USER] END; ALTER ROLE [db_datareader] ADD MEMBER [USER]; ALTER ROLE [db_backupoperator] ADD MEMBER [USER];' USE [msdb] ALTER ROLE [db_owner] ADD MEMBER [USER] USE [master]; ALTER SERVER ROLE [sysadmin] ADD MEMBER [USER];
  16. 16. 1/4 Scan Xtract for DBs へ接続。 ブラウザから「 https://<DBsのIP>/ 」 Scan - LOGIN AS nutanix - password nutanix/4u
  17. 17. 1/4 Scan EULAへ同意する Scan - Name ご自身のお名前 - Company 所属している企業名 - Job Title 役職名
  18. 18. 1/4 Scan プロジェクトを作成する 1. ラジオボタンより[Create a new project]を選択する 2. 任意のプロジェクト名を入力し[Create new project]をクリック Scan
  19. 19. 1/4 Scan 移行元DBへの接続情報を入力 同時に複数台のDBをScanし、DBを統合することも可能(未検証) Scan
  20. 20. 1/4 Scan Scanの結果が表示される スキャンに失敗するときは以下を確認すること ・指定したユーザの権限 ・ファイアウォールの開放状態 ・SQL Browser の起動状態 Scan
  21. 21. 1/4 Scan DB毎に互換性のチェックが行われる スキャンに失敗するときは以下を確認すること ・DBがオンラインであること ・復旧モデルが完全であること ・アクセスモードが マルチユーザであること ・読み取り専用でないこと Scan
  22. 22. 1/4 Scan DB毎に互換性のチェックが行われる スキャンに失敗するときは以下を確認すること ・DBがオンラインであること ・復旧モデルが完全であること ・アクセスモードが マルチユーザであること ・読み取り専用でないこと 移行対象のデータベースに 「!」マークが付いていないことを必ず確認 「!」が付いていると移行できません Scan
  23. 23. Xtract for DBs による移行の流れ •Design Nutanix社のベストプラクティスを活用し、 SQL Serverを設計する • Scanの情報を基に自動的に設計が行われる Deployment Migration Design Scan Design
  24. 24. 2/4 Design Scanの結果を基にNutanix社のベストプラクティスを適用した DB設計が行われる Design
  25. 25. 2/4 Design 移行先DBサーバに搭載される 各種HWリソースが表示される パーティションは用途毎に 細かく作成されることが分かる Design
  26. 26. 3/4 Deploy •Deployment Nutanix上にベストプラクティスを適用したSQL Serverを 自動構築する。 • OS、SQL Serverを自動構成するフェーズ • 勝負の分かれ目 • SQL Serverのインストール処理が鬼門 Deployment Migration Design Scan Deployment
  27. 27. 3/4 Deploy Designを眺めたら、Deployフェーズに移行する [Action] > [Deploy] をクリックする Deployment
  28. 28. 3/4 Deploy デプロイウィザードの流れ Deployment 1. Prismへの接続情報 2. 移行先VMの名前 配置先の指定 3. 移行先VMのイメージ設定 4. SQL Serverのイメージ設定
  29. 29. 3/4 Deploy Deployment - IP ADDRESS OR HOSTNAME ClusterのIPアドレスもしくはFQDNを入力 - PORT Prismの待受ポートを指定する - USERNAME Prismの管理者アカウントを指定する - PASSWORD 管理者アカウントのパスワードを指定する
  30. 30. 3/4 Deploy Deployment - TARGET VM NAME 移行先VMのホスト名を指定する - CONTAINER 移行先VMを配置するStorage Containerを指定 - SELECT YOUR NETWORK 移行先VMを接続するNetworkを指定
  31. 31. 3/4 Deploy Deployment - TARGET VM MASTER IMAGE 移行先VMの作成に使用する 雛形となるVMを指定する 【注意】 指定するVMにインストールされているOSは、 移行元のOSと一致させる必要あり - TARGET VM PASSWORD 移行先VMの管理者アカウントに設定している パスワードを指定する
  32. 32. 3/4 Deploy Deployment - SQL SERVER IMAGE SQL Serverのインストーラ(ISO)を指定する 【注意】 指定するISOは、移行元のSQL Serverの バージョンと一致させる必要あり - Add TargetVMs to the Domain 移行先VMをドメインに参加させるための 認証情報を入力する。 オプションでサービス起動用アカウントも変更可
  33. 33. 3/4 Deploy Deployment 設定値を確認する最後のチャンス Deployをクリックすると、 設定情報を基に移行先VMが作成され SQL Serverが構成される
  34. 34. 3/4 Deploy Deployment
  35. 35. 3/4 Deploy Deployの処理 その1 Deployment 1 Cloning VM from template 2 Adding disks to VM: [TEMP-VM] 3 Powering on the VM: [TEMP-VM] 4 Get IP Address for the VM: [TEMP-VM] 5 Checking if SMB port (445) is accessible on VM [TEMP-VM] 6 Attaching ISO to VM: [TEMP-VM] 7 Preparing SaltStack 8 Installing salt stack on the VM: [TEMP-VM] 9 Copying powershell scripts 10 Formatting OS disks 11 Adding roles and features 12 Creating SQL Server directories 13 Installing SQL Server prerequisites 14 Installing SQL Server 15 Verify SQL Server is up and running on [TEMP-VM] 16 Stopping SQL Service 17 Cloning into VM: [Target-VM] 18 Powering on the VM: [Target-VM] 19 Get IP Address for the VM: [Target-VM] 20 Checking if SMB port (445) is accessible on VM [Target-VM] 一時VMのOS設定 SQL Serverのインストール 移行先VMの作成・構成
  36. 36. 3/4 Deploy Deployの処理 その2 Deployment 21 Preparing SaltStack 22 Installing salt stack on the VM: [Target-VM] 23 Renaming VM to name : [Target-VM] 24 Restarting the VM: [Target-VM] 25 Adding VM [Target-VM]to domain: [dozono.net] 26 Restarting the VM: [Target-VM] 27 Registering SPNs for Service account 28 Changing port to [1433] on [Target-VM] 29 Verify SQL Server is up and running on [Target-VM] 30 Deleting the VM: [TEMP-VM] 31 Creating SQL Server users on [Target-VM] 32 Storing deployment profile of [Target-VM] 33 Changing Service account for service [MSSQLSERVER] on [Target-VM] 34 Changing Service account for service [SQLSERVERAGENT] on [Target-VM] 35 Setting Max SQL Memory limit on [Target-VM] to 2048 MB 36 Setting Trace Flags on [Target-VM] 37 Enabling Instant File Initialization (IFI) option on [Target-VM] 38 Enabling Lock Pages in Memory option on [Target-VM] 39 Restarting the VM: [Target-VM] 移行先VMの構成 移行先VMの構成 一時VMの削除
  37. 37. 3/4 Deploy Deployment
  38. 38. 3/4 Deploy Deployment
  39. 39. 3/4 Deploy Deployment
  40. 40. 3/4 Deploy Deployment 本検証では、100%の確率でSQL Serverのインストールに失敗しました(※) ※ v1.0.7 における、@dozonot環境での実績
  41. 41. 前提条件を満たしていれば、 ただのタイムアウトの可能性有。 SQL ServerをUninstallする 必要はありません。 Prism Elementのコンソールから、 インストール完了を見守ります。 SQL Serverがインストールされ CPU使用率が落ち着いたら(※)、 Xtract for DBsの画面に戻ります ※ 30分~2時間待ちます 3/4 Deploy Deployment
  42. 42. [Retry] をクリックし、処理を再開します 3/4 Deploy Deployment
  43. 43. プログレスバーが100%となったら、Deployフェーズは終了 3/4 Deploy Deployment
  44. 44. 4/4 Migration •Migration 既存のSQL Serverから、Nutanix上に構築された SQL Serverへデータベースを移行する • エージェントレス • TCP 1433ポート経由で情報を取得 • 情報収集用にアカウントを作成する必要あり • 情報取得用のアカウントに権限があれば HWの情報も収集 Deployment Migration Design Scan Migration
  45. 45. 4/4 Migration •Migrationの流れ •Migration Planの作成 •Migration Planの実行 •データベースのカットオーバ •データの分散配置処理 Deployment Migration Design Scan Migration
  46. 46. 4/4 Migration Migration Planを作成する。 [Create a Migration Plan]をクリックする。 Migration
  47. 47. 4/4 Migration [ + ]をクリックし、移行対象のSQL Serverを追加する。 [Next]をクリックする Migration
  48. 48. 4/4 Migration バックアップ情報の分析が行われる。 画面表示に従い、コーヒーを飲みに行って下さい。 Migration
  49. 49. 4/4 Migration バックアップ情報の分析が行われる。 画面表示に従い、コーヒーを飲みに行って下さい。 Migration
  50. 50. 4/4 Migration 移行元DBのバックアップにアクセス出来ない場合は、 本タイミングでバックアップが取得される。 Migration - SERVER FILE PATH ファイル共有のパスを指定 ・[Verify]をクリック ・[Save]をクリック
  51. 51. 4/4 Migration バックアップが正常終了したらDBの移行処理を実行できる。 Migration [Start Migration]をクリック するとデータの移行処理が 始まる。 移行処理中も「移行元DB」で サービスを提供可能
  52. 52. 4/4 Migration 本移行 or テスト移行を選択する Migration データの移行が終了すると 次の操作が可能となる。 - Cutover Databases 移行元DBをシングルユーザ モードに変更しDBを切替える - Test 移行元DBのサービスを継続 したまま、移行先DBをオンラ インに変更する →本移行時にはScanから 再実行する必要あり
  53. 53. 4/4 Migration 移行元DBは シングルユーザーモードへ切り替わる 移行先DBは マルチユーザーモードへ切り替わる Migration
  54. 54. 4/4 Migration DB移行完了後は、クライアントの接続先を移行先DBへ変更する Migration
  55. 55. 4/4 Migration 本移行に成功すると、パフォーマンス向上のために データの分散配置処理が可能となる Migration 重い処理なので 任意のタイミングで実行可能
  56. 56. エラーが発生したら Scan : /home/nutanix/xplorer/logs/ping_hosts.INFO Deploy : /home/nutanix/xformer/logs/ping_hosts.INFO Migration : /home/nutanix/xporter/logs/ping_hosts.INFO
  57. 57. さいごに •Xtract for DBsは既存のSQL Serverを アプリケーションレベルで移行できるツール •Xtract for DBsはクラスタリング環境に おけるDB移行もサポート ( 今回未検証) •日本語対応版のリリースを期待
  58. 58. ご清聴ありがとうございました。

×