SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Archive for 8月, 2009

Hyper-V Server 2008 R2 を USB ブートしてからの機能追加について

without comments

Power Shell と フェールオーバークラスタの機能を USB ブートしてからインストールすると
ものすごい時間がかかりますね…。

Power Shell のインストールには 40 分以上かかりました。
# フェールオーバークラスタの機能に関しては 30 分程度かかりました。

読み取りは早いのですが書き込みはかなり時間がかかるようですね。
# 読み取りと書き込みの I/O が両方発生しているからでしょうか??

基本的な機能に関してはローカルディスクでインストールし、sysprep をかけた状態の
VHD を USB にコピーしたほうが効率が良いですね。

Hyper-V Server 2008 R2 の BCD はデフォルトで HAL の自動検出が有効なように設定されているので、
簡単に別のサーバーで稼働させることができます。

現在検証の最中ですが、 ThinkPad T60 で作成した USB で ML115 G5 / ML110 G5 を起動することができました。

ML115 / ML110 の RAID とネットワークの認識も完了。

ML115 は起動すれば RAID の認識はできたのですが ML110 については

  1. pnputil ?e でドライバパッケージを一通り削除
    ドライバー パッケージをドライバー ストアから削除する
  2. pnputil ?i ?a aarahci.inf でドライバをインストール
    HP内蔵G5 SATA RAIDコントローラ ドライバ for Microsoft Windows Server 2008 x64 Editions

したところ RAID を認識できました。

Intel の RAID ドライバとして認識してしまっていたのがいけなかったようで、一度削除し ML110 のホームページから
ダウンロードした Adaptec の RAID ドライバをインストールすることで RAID を認識できました。

ML110 の RAID の認識がうまくいかず、時間がかかってしまいましたがこれで ML110 G5 を Hyper-V Server 2008 R2 で
実行させることができそうです。
# この検証作業のため、スキルチャージプログラムのサイトは頻繁に停止しています。

あとは ローカルディスクを使わないで USB に Hyper-V Server 2008 R2 をインストールする方法が確立できれば。

Dism の /Mount-Wim がうまく動かないので代わりに Imagex を使用して Install.wim を展開する形で
ローカルディスクへのインストールを無しで環境構築ができないか現在検証中です。
# 参考にさせていただいたサイトでは Imagex で wim を展開する方法で、初期セットアップを実施する手順と
? なっていたのでできるとは思うのですが。

インストールメディアから起動して、コマンドプロンプトで dism による WIM のマウントをしようとすると
なぜかエラーとなってしまうんですよね…。

現在、Imagex でダイレクトに wim を USB に展開しているのですが二時間経過して 75 % 程完了している状態です。
実行したままにして本日は休みたいと思います。

Written by Masayuki.Ozawa

8月 31st, 2009 at 3:29 pm

Posted in Hyper-V

Windows 7 のインストールメディアについて

without comments

Windows 7 のインストールメディアですが、エディションによって別れてはいるのですが、
どのエディションもメディアのサイズはさほど変わりません。

image

なぜだろうと思って調べてみたのですが、メディアはすべて共通でファイルを少し変更すると
エディションの変更画面からインストールするエディションを選択できるようになるみたいです。

How to install any version (or SKU) of Windows 7

インストールメディアの [sourcesei.cfg] がポイントになるようですね。
以下は Ultimate Edition ファイルの中身ですが、[EditionID] に明示的にエディションが設定されています。

[EditionID]
Ultimate
[Channel]
Retail
[VL]
0

?

このファイルを削除すると、インストール時にエディションの選択ができるようになるようです。
私の場合は、インストールメディアを USB に作成ておりファイルの書き換えも簡単にできるので、
エディションを選択しながらインストールできるようにしておきたいと思います。

ISO を作成する場合はファイルを変更したら WAIK の oscdimg で -b<インストールファイル>bootefsboot.com を
指定してISO にブートセクタを設定して作成すれば良さそうです。

Oscdimg のコマンド ライン オプション

実際のコマンドは以下のような形になります。
# 改行は不要です。

>oscdimg -l"GRMCULFRER_JA_DVD" -h -n -m -o -bc:tempwin7bootetfsboot.com c:tempwin7 c:tempja_windows_7_all_x86_dvd_x15-65939.iso

?

でき上がりがこちら。共通のメディアが使えると便利ですよね。

image

Written by Masayuki.Ozawa

8月 30th, 2009 at 7:28 am

Posted in Windows Client

MCAS Word / Power Point / Excel を受験してきました。

without comments

本日の午前中に MCAS Word / Power Point / Excel を受験してきました。
1 か月ほど準備できたので無事合格することができました♪
# 科目が終了すれば、すぐに次の科目の受験ができたので、1 時間 30 分程で 3 科目終了できました。

あと Outlook を取得すれば、マイクロソフト オフィス 2007 マスター になれます。

MCT のプレゼンテーションスキルの達成として、MOT の取得を狙っていたのですが、
スケジュールを見直していたところ、プレゼンの研修を受験する日程が合わなさそうです…。

MCT のプレゼンテーションスキルの証明はグローバルナレッジネットワークの研修で対応しないと駄目かな~。

Written by Masayuki.Ozawa

8月 30th, 2009 at 4:59 am

Posted in セミナー

Hyper-V Server 2008 R2 の一般公開が開始されました

without comments

昨日、Hyper-V Server 2008 R2 の一般公開が開始されたようです。

MicrosoftR Hyper-V? Server 2008 R2

こちらのページでダウンロードできる [MS_HVS_livemigration.doc] で PowerShell による、
CSV の有効のコマンド等が載っています。

一般公開もされたので USB ブートについて情報増えるといいな~。
OPK を使っていないのでいまいち正しいかがわからないんですよね。

USB ブートの Hyper-V Server 2008 R2 でスキルチャージプログラムのサーバーを稼働させようと検討中です。

8GB の USB メモリでもインストールできるのですが、16 GB はあったほうがいいですよね。
お店が開店する時間になったら買いに行ってこようかな。

Written by Masayuki.Ozawa

8月 28th, 2009 at 11:41 pm

Posted in Hyper-V

Tech Ed Japan 2009 3 日目 参加レポート

without comments

あっという間に最終日になりました。
今日も頑張って勉強したいと思います。

本日参加したセッション

  1. [T5-307] Hyper-V 2.0 のバックアップ – ベスト プラクティス-
  2. [T4-302] SQL Server 旧バージョンからの移行
  3. [T3-306] Office SharePoint Server 2007 for Internet sites サイト構築手法
  4. [T4-301] SQL Server 2008 運用管理再入門
  5. [T4-401] SQL Server トラブルシューティング

 

  1. [T5-307] Hyper-V 2.0 のバックアップ – ベスト プラクティス –
    – Hyper-V を構成するファイル
    バックアップの基礎知識のため、ファイルの構成を理解する

    構成情報 (xml)
    仮想ハードディスク (vhd)
    メモリ情報 (bin)
    状態情報 (vsv)
    で構成される。
    メモリ情報と状態情報は仮想マシンの起動時に作成される。これらのファイルは保存時に使用している。
    # メモリ情報は起動時は空だが、割り当てメモリのサイズは作成される。領域の予約のため。
    構成ファイルの ID は仮想マシンの内部 ID となる。

    容量可変ディスクの初期サイズは 1MB
    差分ディスクは最も効率的なディスクの利用だがパフォーマンスが低い。
    パススルーディスク以外は 2TB 以上のディスクは作成できない。

    スナップショットを取得すると xml / bin / vvsv はコピーされ、VHD は avhd として差分コピーとなる。
    # BIN と VSV は復帰のため、情報が書き込まれている。
    スナップショットはバックアップではない。

    initialStore.xml で Hyper-V のアクセス権限ファイル。
    # azman で編集できる。メモ帳でも可。
    このファイルが壊れると Hyper-V が動かなくなるので、バックアップを取得する。
    SCVMM エージェント をインストールしていると、別のファイル (Hyper-VAuthstore.xml) で管理している。

    – Hyper-V のバックアップ手法
    ファイルのコピー
    最も単純なバックアップ
    バックアップ時には仮想マシンの停止が必須。
    VHD と InitialStore.xml のみコピー対象。
    パススルーはバックアップできない。
    回復時は仮想マシンを新規作成する。
    # 仮想マシンの ID は変更される。
    スナップショットを使っていると VHD が古い可能性がある。
    # 最新の AVHD に現在の情報が書き込まれているため。
    スナップショットを使っている場合は、コピー前に VHD に最新の状態をマージした状態にする。
    PowerShell Management Library for Hyper-V を利用すると楽。
    # codeplex で公開されている。これ以外のコマンド操作の方法は WMI をしようする。ちょっと厳しいですね。
        プロファイルに設定しておけば自動的に読み込むことができる。

    エクスポートは停止、または保存中の状態で実行可能。オフラインが必須。
    エクスポートしても元のゲスト OS は削除されない。
    スナップショットも含む。
    パススルーを含むとエクスポート不可。
    差分ディスクのバックアップは親ディスクも含む。
    InitialStore.xml は含まれない。
    2.0 で機能強化され、再インポートとプロセッサバージョンの異なる物理コンピュータへ移行できる。
    # CPU のバージョンが違うとレジスタの情報が違うため、1.0 だと失敗していた。

    Windows Server バックアップでもバックアップ可能
    ボリューム単位のバックアップなので、ゲスト OS が存在するボリューム全体を取得する。
    ゲスト OS 単位の復元はできない。Hyper-V というアプリケーション全体を復元する。
    VSS でオンライン状態のバックアップが可能。
    VSS のライタは vssadmin list writers で確認。
    InitialStore.xml とスナップショットを含むゲスト OS のすべてのフィルを保存できる。
    wbadmin または PowerShell コマンドレットでコマンドから実行可能
    アプリケーション単位の復元をするためには事前にレジストリの変更が必要。
    # バックアップの前に変更しておく
    CSV のバックアップは不可。
    # 取得できたように見えるがバックアップデータが空になっている。
    VSS 未対応 のゲスト OS が含まれている、統合サービスのバックアップ機能が無効になっている、
    FAT / ダイナミックディスクが含まれるオンラインバックアップできない。
    トランザクション (AD / Exchange / SQL Server) 等のゲスト OS ではアプリケーションの
    整合性が取れないためゲスト OS 上でバックアップを取得する。
    GUI のバックアップ機能が強化されている。

    ホストの台数が少ないとこれらのバックアップでも対応できるが、統合 / 運用管理やノンストップでの
    バックアップについて課題が残る。

    – Data Protection Manager 2007 SP1 を使用した Hyper-V のバックアップ
    Hyper-V 2.0 に対応している
    DPM であればテープに取得できる。
    各サーバーにエージェントをインストールし、DPM サーバーでバックアップをする。
    Hyper-V はホスト OS にエージェントをインストールすると、ゲスト OS のバックアップが取得できる。
    # ゲストにエージェントをインストールするパターンもある。
    DPM は DPM 2007 管理者コンソールで管理するんですね。まだ検証していないので今回初めて見ました。
    保護グループを作成、利用可能なメンバから取得対象を選択 (エージェントが取得他使用を返す)、
    データ保護方法、保存期間を選択、保護グループのメンバのディスクサイズを設定、スケジュールを設定、
    圧縮の設定をしてバックアップジョブを作成する。
    Hyper-V は DPM SP1 で対応。SP1 には Feature Pack が含まれる。
    仮想マシン単位のバックアップ / 復元が可能。
    DPM でも CSV のバックアップは不可。
    現状、CSV のゲスト OS のバックアップはインポート / エクスポート。
    DPM v3 (次期バージョン) で CSV に対応される。
    ファイル単位の復元をしたい場合 / トランザクションを処理している ゲスト OS はゲストに
    エージェントをインストールし、ゲストレベルバックアップを取得する。
    # ホスト OS のバックアップ取得と組み合わせることができる。

    最初に全ブロックを単純バックアップする (全ブロックをレプリカにコピー)。
    次のバックアップでは変更されたブロックを送り、レプリカを更新。
    更新対象となったブロックは回復ポイントに保存される。
    # 押し出されたブロックが回復ポイントに移動される。
    回復はレプリカと回復ポイントを使用して復元している。

    OpsMgr 用の管理パックがあるので連携ができる。

    SP1 からローカルリソース保護で Hyper-V のホスト OS 上にインストールできる。
    # 小規模環境で統合した環境を作成できる。
    ただし、機能を有効にするには PowrShell で有効化する必要がある。

    パススルーディスクは DPM であればバックアップ可能。
    ホストとゲストのバックアップを同時に実行しない。
    # VSS Writer の競合が発生し、ロックが発生することもある。
    Hyper-V の設定と仮想ネットワークマネージャの設定は個別に管理。
    # レジストリに書き込まれているので、ドキュメントとして残しておくようにする。
      現在、手順が確立されていない。

  2. [T4-302] SQL Server 旧バージョンからの移行
    2000 / 2005 からの移行シナリオ。

    – SQL Server 2008 へ移行するメリット
    ストレージ使用量の削減。
    行圧縮 / ページ圧縮
    圧縮により、データの通信量が減るため、クエリパフォーマンスが向上する。
    # CPU の使用量とのトレードオフですよね。
    バックアップ圧縮。
    バックアップ時間だけでなく、復元時間も短縮できる。
    # 圧縮を解除して復元するときのパフォーマンスってどうなんでしょう??あまり気したことがなかったな。

    データベースの暗号化。
    2008 の透過的データ暗号化。
    # 暗号化したデータベースが使われている場合のサーバー初期化後の復旧手順をまとめないとな~

    SSMS
    2000 移行のバーっジョンを統合管理できる。

    リソースガバナ
    # リソースガバナのデモでよく使われている Resource Governor Loads はダウンロードできないのかな??
    CPU の割合の最大値 100 は各リソースプールで CPU を等分に使用する。
    動的に割り当てを変更できる。制限をかけても余っている場合は使用率を超えて効率よく利用する。

    – 旧バージョンからの移行の全体像
    移行前にパフォーマンスの確認と使えなく (われなく) なる機能の確認。
    アップグレードアドバイザで確認。
    アップグレードまたはマイグレーション。
    監視、機能 / 性能試験。

    アップグレードアドバイザ
    2009 年 4 月の Feature Pack が提供されている。
    Windows インストーラ 4.5 が必要。
    # リモートからも実行できるので、サーバーにインストールする必要はありません。
    DTS と SSIS は別項目として分析対象がある。
    DTS はサーバーのものと DTS パッケージのファイルのどちらも分析できる。

    アップグレードとマイグレーション
    アップグレードはインプレースアップグレード
    # インスタンスのアップグレードだけすることってあまりないですよね…。
    マイグレーションは新サーバーを用意し、データベースを移行する。
    アップグレードはインストールメディアから実行する。

    – アップグレード
    ローリングアップグレード
    高可用性構成でアップグレードするときに使用する。
    ダウンタイムを小さくしながらアップグレード
    Service Pack や修正プログラムの適用も対応予定。
    2008 でクラスタのローリングアップグレードが可能となった。
    # ローリングアップグレードはフェールオーバー中だけがダウンタイムとなるそうですが、
     システム DB はどのタイミングで更新されるんでしょう??

    デタッチ / アタッチ、バックアップ / リストア 、データベースコピーウィザードでユーザー DB の移行ができる。
    デタッチ / アタッチが一番単純であるがオフライン必須。
    # ミラーリング等の高可用性の設定をしているとデタッチ / アタッチの移行ができない。
     デタッチするとダーティーページがデータファイルに反映されたはずです。
     メモリではなくログから適用しているんでしたっけ??あとで調べよう。
    ログインを移行できるのはデータベースコピーウィザード。
    # ユーザーの移行タスクがありますよね。

    システムデータベースの移行
    データベースは直接移行できない。
    サーバーの構成 / ログイン / ジョブの移行がポイント
    構成は sp_configure または 2008 のファセットで移行する。
    SQL Server エージェントの内容はスクリプトに出力して移行するとシンプルだと思います。
    ログインの移行は孤立ユーザーに注意
    # ログインとユーザーのマッピングが外れているユーザーですね。
     定番の sp_change_users_login で変更します。
    sp_change_users_login @action=’Report’ で孤立ユーザーの検出
    ジョブは移行先のサーバーで作成する。
    サービスアカウントとジョブの実行アカウントに注意。
    # ジョブの移行タスクかジョブをスクリプトに出力して移行することもできますよね。

    – マイグレーション
    DTS は SSIS に変わり、内部構造が変更されている。
    DTS パッケージ実行タスクは 64 ビット環境でランタイムがサポートされていない。
    # Windows Server 2008 R2 は 64 ビットだけなので注意しないと。
    パッケージ移行ウィザードで SSIS パッケージに変換するのがよいのかな~。
    DTS 2000 ランタイムで x64 環境で WOW64 で実行させることもできる。
    # 2008 Feature Pack に含まれる。ただし、廃止される機能である。
    2000 DTS デザイナコンポーネントは 2005 の Feature Pack
    # SSMS で DTS を変更する場合には必要となる。

    SSIS の移行
    SSIS パッケージアップグレードウィザードがお勧め。
    2005 のパッケージを 2008 の dtexec で実行すると、一時的に 2008 で実行可能な形に変換されるが、
    実行後に 2005 の形式に戻る。
    SSIS はインスタンス毎に別れていない。サーバーに一つ。
    # SSIS はクラスタリソースには入っていなかったですよね。汎用サービスとして登録かな~。

    SSAS の移行
    2000 では移行ウィザードによる移行。
    # バックアップ / リストアによる移行は不可。
    # Migrationwizard を実行 (SSAS / OLAP といった文字は含まれない。)
      2000 の SSAS を移行するためのツール。
    DTS の SSAS 系のタスクは移行できないので、新規作成。
    Excel のピボットテーブルは再配置の必要がある。
    2005 ではバックアップ / リストアによる移行が可能。

    SSRS の移行
    2000 / 2005 で共通の移行方法。
    データベースを移行するのがお勧め。
    # 2000~2008 ですべて互換性がある。
    暗号化キーの移行が必要となる。
    # レポーティングサービスの接続情報の保護に使用されている。
     レポーティングサービスの実行アカウントの GUID に基づいて生成されている。
    特定のレポートのみを移行する場合はデータベースの移行ではなく、BIDS やレポートマネージャで個別に移行する。

    SSRS の Web サーバーについての話がなかったのが残念でした…。

  3. [T3-306] Office SharePoint Server 2007 for Internet sites サイト構築手法
    for Internet Site というライセンスがある。

    6 つの機能領域
    コラボレーション : 情報共有
    ポータル : 情報の集約とターゲッティング (どのようなプロファイルを持っているユーザーに見せるか)
    検索 : 検索
    # 上 3 つがインフラストラクチャ
    コンテンツ管理 : ドキュメント管理、ドキュメント管理はポータルとは違う。
    ビジネスプロセス
    BI
    # 上 3 つがソリューション。3rd パーティーのコンポーネント利用もある。

    重要な設計事項
    セキュリティ
    認証方式
    アクセス URL

    外部ネットワーク向けの設定シート
    外部と内部で異なった認証方式を設定。
    既存の Web アプリケーションの拡張を使って、入り口だけを変更する。
    代替アクセスマッピングの設定。
    # 領域をインターネットにする。リバースプロキシがある場合も代替アクセスマッピングを使う。
    拡張された Web アプリケーションは Web アプリケーションの一覧には表示されず、
    代替アクセスマッピングに表示される。
    イントラネットではパブリック URL と内部 URL のセットが使われている。
    内部 URL はプロキシを挟んでいるときに SharePoint が認識するための URL

    フォーム認証
    SharePoint は .NET の認証のパイプラインをそのまま使っている。
    SSL でセキュリティを確保する。
    メンバーシップ : ユーザー
    ロール : グループ
    aspnet_regsql でフォーム認証用 DB を作成。既定だと ASNETDB という名称で作成される。
    # セキュリティの観点から変更したほうがよい。
    web.config の設定変更が必要。
    接続文字列を設定 → プロバイダを設定 → .NET ユーザー → .NET の役割 → 役割を設定 →
    サイトコレクションの権限を設定
    サービスアカウントにフォーム認証用の DB のアクセス権を設定する。(db_owner)
    # db_owner より低い権限で動かせないかな??

    小規模ファームからスタート可能

    情報構造はサイトとサブサイト構造を中心に考えていくと設計の手助けになる。
    管理パスを使った階層化
    Access 2007 は SharePoint のフォーム / リストと連携するマクロが記述できる。

    MS の MOSS の製品サイトは MOSS で動いている。

    情報構造に基づいて DB を用意

    フィーチャーは管理者が展開可能なように Web Solution Package 化する (WSP ファイル)

    ネットワーク境界には Office SharePoint Server for Internet sites を利用。
    Forefront の SharePoint でウイルス対策。

    匿名認証は Web アプリケーションだけでなく、サイトの設定でも設定する

    コンテンツ展開を使ってステージングから本番にコンテンツを公開する。
    # イントラネット用の内容をインターネットに公開するときに使える。

    2008 の IIS だとフォーム認証の管理がしやすい。

    ShrePoint の RIA の書籍が 10 月に Microsoft プレスから発売される。

  4. [T4-301] SQL Server 2008 運用管理再入門
    自習書シリーズは現在、新コンテンツを作成中。

    – 多い質問
    急に担当になってしまったがなにをすればよいか。
    マシンの妥当性。
    定期メンテナンスは必要なのか?

    データベースは生き物。
    断片化する。
    トラブルの未然防止のため、リソース使用状況をチェック。
    SSMS のレポートとパフォーマンスデータコレクションが役に立つ。

    – SSMS のレポート機能
    意外と知らないユーザーさんが多い。
    2005 から提供された機能
    サーバーレベルのレポートとデータベースレベルのレポートがある。

    – サーバーダッシュボードレポート
    SQL Server の変更されている構成がわかる (既定以外の変更)

    – スキーマ変更の履歴レポート
    インデックスの変更履歴がわかる

    – ディスク使用量レポート
    実際の使用量がわかる。
    自動拡張の履歴が確認できる。
    # デフォルトトレースから取得している。20 MB の 5 ファイルでローテーションしているので注意

    レポートは Excel へエクスポートすることができる。

    自動拡張が発生するとレスポンスが低下する。

    デフォルトトレースはトレースファイルなのでプロファイラと fn_trace_getinfo(default) で情報を確認できる。
    イベント ID 92 データの自動拡張 / 93 ログの自動拡張

    – パーティションごとのディスク使用量
    テーブルとインデックスの使用サイズを確認できる。

    – インデックスの物理統計レポート
    インデックスの断片化状況を確認できる。
    再構成か再構築の推奨操作を表示してくれる。
    30% 以上なら再構築 / 未満なら再構成となる。

    レポートを表示するときにプロファイラを実行しておくとどの情報を取得しているかがわかる。

    ログと tempdb のサイズ確認も忘れずに。
    # tempdb を忘れているケースが多い。

    プレゼンテーションに載っている値はスピーカーの経験則。

    – パフォーマンスデータコレクション
    SQL Server の動作状況の自動収集。
    SSMS のレポートを大きく拡張した機能。
    2008 以前のバージョンではシステムモニタを利用
    システムデータコレクションセットで取得されたデータを基にレポートを作成。
    # そういえばスパークライン的な表示が 2008 ですでに使われていたんですよね。
    過去にさかのぼって情報を閲覧できる。
    # SQL Server が稼働している期間内で。
    パフォーマンスモニタの情報をシステムデータコレクションとして取得している。
    # プロパティで確認できる。

    トラブルはピークタイムに起きる。
    ピークタイムを見つけることが大事。バッチ数 / ログイン数から把握。
    ピークタイムに耐えられる H/W スペックを考慮する。
    ディスクの高負荷はメモリ不足が原因となることも。
    キャッシュのヒット状況を確認する。
    Database Pages : データバッファキャッシュのサイズ
    Chache Pages : プロシージャキャッシュ
    Workspace メモリ : 一時作業領域
    インデックスとデータの両方が載るメモリを確保
    インデックスとデータの両方がメモリに載らない場合は、インデックスがメモリに載り、インデックス Seek が
    行われるようにクエリを設計するl

    パフォーマンスデータコレクションの取得カウンタはカスタマイズできる。
    # データコレクションセットを新規に作成する。
    メモリ関連を細かく取得したい場合はカスタマイズする。

    SSMS 2008 のカスタムレポートは 2005 のレポートデザイナで作成する必要がある。

    – ディスクが高負荷な場合
    待ち事象を確認する。
    排他ラッチは書き込み時に発生することが多い。断片化の可能性がある。
    共有ラッチは読み取り時に発生することが多い。メモリ不足の可能性がある。
    WRITE LOG はログ書き込み。
    RAID 5 はパリティ生成のため、書き込みにオーバーヘッドがある。
    自動拡張の抑制と、クエリ / インデックスチューニング。(アプリケーションの見直しも)
    クエリの統計レポートで実行時間の長いクエリがわかる。ただし、10 件しか表示されない。
    10 件以上は DMV から取得する。

    – CPU が高負荷な場合
    HT はオフにする。パラレルクエリとの相性が悪い。
    MAXDOP で調整する。クエリ単位でも可能。
    結合やグルーピングは CPU 負荷が高い。

    – トラブルの未然防止
    ピークタイムの理解が大事。
    CPU / メモリ / ディスクキューを確認。
    ロックとデッドロックにも注意が必要。

    現在のマシンスペックの妥当性と現在の使用状況から、将来のマシンスペックの指針がわかる。
    システムモニタでも取得できるが、パフォーマンスデータコレクションはレポートが作成できる。
    データコレクションセットの取得中は 5 ~ 10 % の負荷増。
    負荷が気になる場合は、クエリ関係の情報取得を停止する。

    データベースのサイズ管理と断片化チェックは定期的に実行する。
    パフォーマンスデータコレクションで、マシンスペックの妥当性を確認。

  5. [T4-401] SQL Server トラブルシューティング
    Tech Ed Japan 2009 最後の参加セッションです。

    – データベース破損
    破損状況の確認
    修復方法の検討
    修復下場合は、修復されていることを確認する。

    SQL Server のエラーログを確認する。
    # 再起動単位に作成され 7 世代分ある。
    DBCC CHECKDB でデータベース全体をチェック
    データベースにアクセスできない場合は ALTER DATABASE SET EMERGENCY。
    エマージェンシーモード。読み取り専用。

    エラー個所はどこか。
    クラスタ化インデックス、ヒープ、LOB
    Critical System Tables (メタデータ) / Critical Pages (ルートページ / ヘッダーページ)
    msdb.dbo.suspect_pages で破損ページがわかる。

    DBCC CHECKDB で最小修復レベルがわかる。
    2005 移行では、REPAIR_FIRST はない。
    # 実行できるが、内部的には REPAIR_REBUILD が実行されている。

    バックアップがあるかないか
    リストアにかかる時間は。
    DBCC CHECKDB にかかる時間。(チェック、修復)
    # 壊れる前に確認しておく。
    ページのみ / ファイルのみの復元も検討
    フルデータベースバックアップ復元後に復元が必要なトランザクションログの数。
    REPAIR_ALLOW_DATA_LOSS 時のデータ損失状況は。

    ログ末尾のバックアップはトランザクションログが壊れていなければ取得できる。
    ログ末尾のバックアップは復旧モデルがシンプル意外。
    ログ末尾のバックアップは WITH NO_TRUNCATE

    DBCC CHECKDB を使用した修復はシングルユーザーモードにする。
    REPAIR_ALLOW_DATA_LOSS の復旧では対象のページごとざっくり切る。
    修復後は再度 DBCC CHECKDB で確認。
    整合性確認のため、DBCC CHECKCONSTRAINTS。
    # 復旧時にページをざっくり切った場合に整合性が保てなくなっている可能性がある。
    修復後はマルチユーザーモード

    トランザクションログファイル破損
    エマージェンシーモードで REPAIR_ALLOW を実行するとトランザクションログファイルが再作成される。
    # 2000 では REBUILD LOG でログを再作成できたが、2005 以降はない。

    Critical System Tables、メタデータ、Allocation Pages のエラーは DBCC CHECKDB で修復できない。

    Data purity エラー (2008 からのエラー)
    日付の範囲外などの本来入らないはずの値のエラー(列内の値のエラー)
    UPDATE を手動で実行し、データを適切な値に修正する。

    ハードウェアエラー
    ディスク自体が怪しい場合は、修復中に新たな破損が発生する可能性がある。
    破損したデータベースをバックアップして、最悪その時点まで戻せる状態にする。

    バックアップが重要。
    バックアップの取得間隔、保存期間、保存メディア、保存場所
    # データベースと同じディスク上に取得すると危険。ファイルの誤削除に気をつける
    復旧モデルの確認。どの段階まで戻すのか。
    バックアップしたファイルの論理整合性の確認
    # 破損したデータベースのバックアップとなっていないか。破損したデータベースをバックアップしても破損している。
    復元手順が確立されているか。

    – バックアップ / リストア
    T-SQL でバックアップ
    バックアップアプリケーションでバックアップ
    # VSS / VDI (Virtual Device Interface) これは API / VDI Snapshot これはハードウェアの機能

    T-SQL のバックアップは MFT 形式 (Microsoft Backup Format)

    VDI Snapshot / VSS
    バックアップ要求があると I/O freeze で SQL Server が I/O を停止する。

    バックアップステートメントのエラーは SQL Server のエラーログに出力される。
    VSS / VDI のエラーはイベントログ
    # 7.0 / 2000 は vdi.log に書かれている。

    バックアップの一般的な問題
    トランザクションログが切り捨てられない。
    # アクティブなトランザクションがある。
     トランザクションレプリケーション / ミラーリングで未連携のデータがある
     OPENTRAN で確認すればいいのかな??

    VSS / VDI のバックアップで一般的な問題
    I/O Freeze の時間が長い
    # SQLServer が ACID プロパティを書き込めないのでコミットが完了できない
     バックアップアプリケーション側の調査が必要
    ワーカースレッドが不足する。
    # 一つのデータベースを取得するのにワーカースレッドは 5 は必要となる。
    2005 以降はワーカースレッドが自動チューニングにより CPU とビット数によって決められるので、
    足りなくなる可能性があるので手動で調整する。

    – デッドロック
    メッセージ 1205 が返ってくる。
    リソース名はロック / スレッド / 通信バッファ / 一般待機可能オブジェクト。
    # ロック以外でもデッドロックが検出されるんですね。
    デッドロックとブロッキングは違う。デッドロックは SQL Server が加入し、強制的に一方のトランザクションを終了

    サイクルデッドロック
    たすき掛けのデッドロック。
    # よく説明のあるデッドロック
    同じ行にアクセスしていなくても発生する。
    更新時にフルスキャンで全件走査しながら更新していくと発生する。

    変換デッドロック
    同一行に複数トランザクションで共有ロック。
    同一行に対して複数トランザクションで更新。
    # 両方のトランザクション S → X に変換しようとして発生。

    通信バッファのデッドロック並列クエリが影響している。
    並列クエリでスレッド間でやり取りしているものが通信バッファといわれる。
    絵で丸になっているのが通信バッファ。
    通信バッファの中にはデータが入っている。
    # 白い状態が空。右のパイプでデータを渡している。
    並列クエリのスレッドはあるタイミングまで互いを意識していない。
    MAXDOP で回避することもできる。
    # 並列実行されなくなるのでパフォーマンスが低下する可能性がある。

    スレッドのデッドロック
    スレッドプールがある。処理 (SELECT / UPDATE 等) をするためにはスレッドプールからスレッドが必要となる。
    ブロッキング等で処理が停止しているとスレッドプールにスレッドを返さない。(SELECT でも)
    SELECT が UPDATE の COMMIT 待ちになっているときに COMMIT をするためのスレッドが
    スレッドプールで枯渇している場合に発生する。
    ワーカースレッドを手動で小さくすると試すことができる。

    デッドロックの調査
    トレースフラグ 1205 / 1222
    SQL Trace の Deadlock / Graph / Chain
    拡張イベント (2008 から)
    System_health セッションを確認、デフォルトで有効になっている。
    リングバッファのため、古いデータは時間が経過すると消されてしまう。
    SQL トレースで実行プランを確認
    # トレースで前後のトランザクションを確認する。
    キャッシュに残っていればキャッシュから確認することもできる。

    一般的な原因
    長いトランザクション
    Range Scan / Full scan

    異なるデータ型同士の比較。データ型にも優先度がある。
    優先度によっては、比較対象の項目ではなく、実データの列が変換されることがある。
    NUMERIC / DECIMAL の比較は 10.0 / 10. のようにドットつきで検索しないと暗黙の型変換がかかる。
    # 10 だと int型になる。
    COM+ のトランザクション分離レベルはコンポーネントサービスから変更できる。

    スリップストリームセットアップ
    製品 + SP + CU を一回でセットアップできる機能
    Web キャストにトラブルシューティングがあるのでそちらを確認
    コマンドとしてスイッチをつける。

3 日間とても楽しんで勉強することができました。
来年も参加したいな。

Written by Masayuki.Ozawa

8月 27th, 2009 at 10:38 pm

Posted in セミナー

Tech Ed Japan 2009 2 日目 参加レポート

without comments

2 日目になりました。
今日も一生懸命、スキルアップに励みます!!

 

本日参加したセッション

  1. [T1-307] Hyper-V 2.0 設計と構築のポイント
  2. [TH-402] NUMA って何! 高速なメモリアクセスによる大規模システムの実現
  3. [T1-304] Windows PowerShell 2.0 コマンドレット解説  & スクリプティング
  4. [T4-201] SQL Seerver 次期バージョン コード名 “Kilimanjaro” 概要
  5. [T4-202] SQL Server “Kilimanjaro” Officr 2010 による Self Service BI
  6. [LT-02] ライトニングトーク

 

  1. [T1-307] Hyper-V 2.0 設計と構築のポイント
    サーバーの仮想化 (Hyper-V) を対象としたセッション
    # VDI に関しては明日セッションがあるのですがこちらは参加できず。

    Hyper-V 1.0 と 2.0 では設計に関する基本的な考えは変わらない。

    – Hyper-V の仕組みと設計のヒント
    ペアレント OS に関しての設計。

    Server Core を選択すべきか?
    インストールオプションの特徴を考慮。
    ペアレント OS にインストールできる役割が限定されますが、Hyper-V は他の役割を含まない専用の
    環境としての用意が望ましいとのことですので影響はそれほどないのではということでした。
    2008 R2 の Server Core は Hyper-V Server 2008 R2 と同様で、起動時にコマンドラインの管理ツールが
    表示されるはずだったので管理はしやすくなっていますよね。
    # セキュリティパッチが当てやすいです。
    Server Core インストールは大規模模環境向きとのことでした。

    Hyper-V では LP : VP = 1:8 の範囲のサポート
    1 コアに対して ゲスト OS が 8 になるイメージ??
    超えた場合はどうなるんでしょう??
    ペアレント OS 用に 1 Rot VP は確保する。
    ゲスト OS で最適な仮想化環境は Windows Server 2008 以降が推奨されているとのことでした。

    ゲスト OS 上で負荷をかけても、ペアレントパーティションの CPU 負荷は上がらないとうデモがあった。
    # ということを実際の導入時はきちんと確認したほうがよいのでしょうね。
      Crystal Mark で負荷をかけていました。

    R2 ではメモリ管理で SLAT をサポート
    ゲッスト OS のページテーブルの変換処理を CPU で行う。
    # Xeon 5500 と Quad の Opteron がサポートしている
    ペアレント OS は完全 2G / Server Core 1G は確保するのが推奨
    # 上記は OS のシステム要件の値だそうです。

    物理 NIC に一つの仮想スイッチが作成される。
    ペアレント OS も仮想スイッチ上の仮想 NIC を使用している。
    # Microsoft 仮想スイッチネットワークプロトコル
    R2 では VMQ をサポート
    物理 NIC のデフォルト Queue ではなく、物理 NIC 上に各仮想 NIC の Queue が作られる。
    # NDIS ドライバ 6.2 に順序しているデバイスドライバが VMQ には必要となるそうです。
    VMQ を使用すると仮想マシン数が増えるとスループットが向上する
    # 仮想マシンが 1 台ではあまり変わらないが、2 台以上になるとスループットが向上するとのことでした。
    ゲスト OS でジャンボフレームと TCP オフロードが使用できる。
    変更はゲスト OS のアダプタの構成で変更する。
    # デフォルトでは有効になっているとのことでした。
       最近、SNP で痛い目にあっているのであまり有効にしたくないな…。
     2008 はデフォルトで無効になっていた記憶があるのですが、R2 で変わったのでしょうか。
    オフロードを有効にして効果があるかのデモは共有に対してファイルコピーをして効果を実演。
    # ディスクキャッシュが聞いている可能性があり、デモでは効果が確認できませんでした。
     効果が見れるときは 10% 程差が出るそうです。
    ペアレント OS 用に管理 NIC を一枚。ゲスト OS の仮想 NIC 1 に対して物理 NIC 1 が理想
    R2 では、ペアレント OS 用の仮想 NIC 設定のオプションが追加されている。
    NIC チーミング機能は H/W に依存しているとのことです。ベンダー確認ですね。
    # KB968703 に情報が掲載されているそうです。あとで確認しないと。

    サポートされるストレージに NAS は含まれない。
    Hot Add / Remove は SCSI のみサポートされる。
    ブートドライブは IDE のみ可能
    # OS が起動してから統合サービスを起動するため SCSI をブートドライブには使用できないそうです。
      SCSI は統合サービスで認識していたんですね。意識していなかった。
    Hyper-V のゲスト OS では IDE / SCSI のインタフェースによる性能差はない。
    # でもデータドライブは SCSI 推奨だそうです。
    Hot Remove のデモあり。削除は構成の編集でドライブを削除するだけ。
    VHD をマウントしたドライブは、ディスクの管理でアイコンの色が違うんですね。気付かなかった。
    # 緑がかったアイコンになるのですね。
    可変 VHD はアロケーションテーブルでデータブロックのポインタを保持して、データブロックにアクセスするので、
    オーバーヘッドがある。
    # R2 ではアロケーションテーブルをメモリ上で管理することで、パフォーマンスを向上させているそうです。
       そのため、1.0 の固定 VHD と2.0 の可変 VHD は同等の性能がある。
      シーケンシャル Write はほぼ同じ、ランダム Write は気持ち下ぐらい。

    – 冗長化構成の検討
    ホストクラスタリングとゲストクラスタリングの 2 パターン
    R2 ではプロセッサ互換機能がある。
    # AMD / Intel 間で Live Migrationはできなかったですよね。
    Live Migration 用の専用 ギガビット ネットワークが推奨。
    Live Migration で移動しても MAC アドレスは引き継がれる。
    R2 では MAC アドレスの範囲が指定できる。
    # Hyper-V 1.0 ではレジストリで設定できるそうです。
    NLB でユニキャストを使用する場合は、仮想マシンの MAC アドレスを静的指定する。
    # NLB クラスタの MAC アドレス = ゲスト OS の MAC アドレス。
    ゲスト OS の HBA とホストの HBA が連動できないので、iSCSI でないとゲストクラスタリングはできない。

    – 運用管理のポイント
    セキュリティ対策はゲストと絵アレンと OS の両方で実施する。
    ゲスト OS の構成ファイルはペアレント OS で保護する。
    権限設定は承認マネージャで実施する。
    # azman でしたっけ?
    ゲスト OS の保護は物理環境と同様と考える。
    ペアレント OS は Hyper-V 専用とする。
    # ペアレント OS ではリソースの制限ができないのでアプリが暴走した時に大変。
    ペアレント OS の暗号化は BitLocker
    ゲスト OS の BitLocker はサポートされない。
    ウイルス対策はペアレント OS とゲスト OS の両方に
    VHD / AVHD / vmms.exe / vmwp.exe はスキャン対象外に設定。
    # 紹介されたプロセスは昨日の Hyper-V のセッションで紹介されていたので理解しやすかったです。
    仮想マシンの移動は SAN Migration という方法もありましたね。これは個人では試せないな~。
    仮想マシンの移動をネットワークで行う場合、NLB が到達負荷となる可能性あり。
    記憶域の移動機能は SCVMM R2 から。
    バックアップはホストレベルのバックアップとゲスト OS のバックアップの 2 種類。
    SCDPM はホスト OS にエージェントのインストールが必要
    R2 ではコピーオプションで 1 回以上のインポートが可能
    インポート時は外部ネットワークが初期化される。
    エクスポートをインポートするとインポート時に一部のファイル (exp と xml) が削除される。
    # R2 ではオプション設定で再インポート可能です。(exp ファイルを残すそうです。)
    インポートするとNIC のゴーストデバイスが残ってしまうのは周知の問題のようですね。
    ホストレベルのバックアップはペアレント OS から参照できるストレージのみ
    # パススルーと iSCSI でゲスト OS のディスクを認識しているときは注意が必要になるようです

  2. [TH-402] NUMA って何! 高速なメモリアクセスによる大規模システムの実現
    会場に向かう最中に Windows Server World を読んでいて気付いたのですが、OS のリソースモニタでも
    NUMA ノードを認識しているかわかるんですね。

    2U のデモマシンが前方に鎮座していました。話があるまで気付かなかった。

    SQL Server 6.5 の基本はページロック。使っていた当時は駆け出しのアプリケーション開発者だったので、
    あまり意識していませんでした。
    第 3 世代の特徴は NUMA とクエリの並列処理

    第 4 世代の開発は開始されており SQL 11 と呼ばれている。
    2011 年に CTP が提供されるらしいので楽しみです。

    – NUMA とは
    cc-Numa とも呼ばれる。
    # 非対象のメモリアクセスですね。
    CPU ソケット専用のローカルメモリとソケット間のインターコネクトが特徴

    SMP は FSB 経由。メモリコントローラーが共通。UMA とも呼ばれる。
    # CPU 内のキャッシュのメモリもボトルネックになるそうです。
    FSB 経由では 8 CPU で 640% の性能。
    # FSB がボトルネックで 800% にならないそうです。

    NUMA もインターコネクト経由で別ノードにアクセスする場合は、速度は遅くなる。
    Intel は Quick Path、AMD は Hyper-Transport と呼ぶ。
    スケールアップは NUMA ノードを増やす。

    NUMA の歴史は古く NT 3.5 から実装されていた。
    HP の Super Dome で Windows Server 2003 で実装された。

    Windows Server 2008 R2 で NUMA のサポートが強化。
    # 今日、電車の中で読んだ内容ですね。
    次期 Xeon は 8 コアで Quick Path が 2 本になる。

    NUMA の基本はローカルノードとリモートノード。
    H/W がこの辺りを意識している必要がある。

    – SQL Server と NUMA
    SQL Server はスタートアップ時に NUMA を認識する。
    トレースフラグ –T 842 が NUMA の状況把握のポイント。
    メモリ内ページのロックで SQL Server のサービスアカウントを忘れずに。
    # NUMA は必ず ON にするそうです。MSDN の翻訳ページは表記が怪しいと。

    ユーザーノードは NUMA のノード数に応じて増える。
    # スケジューラーはコア単位です。

    Runnable Queue はスケジューラのキュー待ち。
    CPU のコアの数が足りていない可能性あり。
    パフォーマンスモニタではわからないので SQL Server で確認
    # Processor のキューもあまりあてにならないでしょうね。

    Windows のノードと SQL Server のノードは一つずれる。
    OS のノード 0 は OS のグローバルリソース。
    # OS のノード 0 = SQL Server のノード 0 では無いようです。
    SQLOS のグローバルリソースは SQL Server で認識ししている Node 0 に配置される。
    # OS が認識しているノード 1
    NUMA ノードは 3 つ以上が推奨
    # NUMA ノードの一つは OS 用

    新規ユーザーセッション開始時に NUMA ノードが決定され、ローカルノードのメモリアクセスをするようになる。
    セッションが終了されるまで NUMA ノードは固定化される。
    # リモートノード使わないほうがよいですからね。

    レイジーライターは NUMA のノード数分作成される。これによりディスク書き込みが効率化。

    -T842 はアンドキュメント。
    負荷が高くなるので本番環境では使用しないこと。
    # NUMA の情報を DMV に書き込むようになるため。
    remote_node 1 はインターコネクト経由のアクセス。正確にはどのノードを使われたかという形でしょうか。
    # 0 はローカルノード
    この情報は面白いですね。ページの種別もわかるようです。ソフト NUMA でも情報取得ができるかな??
    4 コア / 4 ノードで試せば面白そうです。
    MAXDOP の設定は定番で。

    実行プランのぐるぐる矢印は複数ノードで処理すると効率的という情報。
    # 2008 で最適化されているようです。2005 は発展途上のようで。

    sys.dm_os_info で BIOS 情報を取得。
    ノード内のバッファキャッシュの状況取得は BOL に載っていない。
    # 2008 で追加された DMV で追加されているようです。

    – デモ
    Windows 2008 R2 + SQL 2008 R2 の環境
    SQL Server 2008 R2 は 256 の CPU が使える。
    # タスクマネージャ見てみたいです。
    MAXDOP は無制限でないほうがよい。

    tempdb は適切に分割
    ファイルが一つだとGAM が競合する。
    同一ファイルグループで OK
    # GAM の割り当ては確認できたはずですよね。今度見てみよう。ログファイルを SSD に配置
    SSD にはデータファイルを配置するのが効果的。
    tempdb はセッション内だけで有効なデータが含まれるので、ストレージのキャッシュで賄える場合があるので、
    SSD で必ずしも効果が出るとは限らない。
    ディスク I/O は CrystalDiskMard で比較
    SSD はシーケンシャルアクセスではディスクより下であった。
    # RAID 構成によりある程度改善できる可能性はあるそうです。
    ランダム I/O はレイジーライタのメモリのディスクフラッシュの I/O に近い。
    4KB のランダムアクセスはかなり SSD に軍配が上がっていました。
    64KB または 8KB のアクセス速度が気になりますね。

    BIOS で NUMA の有効 / 無効は設定できる。

    SMT は Hyper-Thread のこと。
    # SQL Server では効果が少ないので無効にしよう。
    Turbo Mode は省電力モード。
    # 省電力にならないように有効にして最大限有効利用しよう。

    – 導入事例とベストプラクティス
    SQL Server 2005 の事例。
    Spotlight 5.9 から SQL Server 2008 に対応

    プロシージャキャッシュ 5G はすごいな~と思いました。
    キャッシュヒット率は 50% ぐらいになりますよね。
    このキャッシュのサイズで 100% にできる開発者は尊敬です。

    システムの特性を聞きながら接続数をみると楽しいです。
    急にアクセス増になった理由がわかりますので。
    データを解析する上で、業務の傾向は大事ですね。

    論理 I/O と物理 I/O の関係はきちんと解析することを心がけたいです。
    チェックポイントの発生と物理 I/O の関係もきちんと見ないと。
    # Read a head も見ないとですよね。

    NUMA は 8G / 16GB が推奨されるとのことです。

    Windows Server 2008 R2 と SQL Server 2008 で NUMA 強化が興味的でした。
    個人で H/W NUMA が検証できる時代がこないかな~と思いました。
    # 2 ソケットのサーバーは個人で買うには厳しいです。

  3. [T1-304] Windows PowerShell 2.0 コマンドレット解説  & スクリプティング
    これから使用しようと思っている方は会場の 6, 7 割だったようです。
    私もその中の一人です。

    Power Shell の実体はコマンドラインシェル + スクリプティング言語 + .NET Framework

    R2 / Win7 で搭載されている
    既定で有効、削除不可。
    # .NET Framework も削除できないということですね。
    Server Core では既定で無効
    リモーティング (リモートシェル) に対応
    ISE による グラフィカル Power Shell

    繰り返しの作業は Power Shell で。1 回きりの作業は GUI で。
    # GUI でも PowerShell でも同じことができるようにしようというコンセプトがあるとのことです。
    R2 / Win 7 より前の OS への対応は R2 / Win7 のリリース後に提供される
    # 今年後半ぐらいとのことでした。

    2.0 は 1.0 を置き換え (上位互換
    会場で MS プレスの書籍が先行販売していました。明日買おう。
    Vista SP2 / 2008 SP2 用の RC が先月公開された。
    # Connect で公開されているそうです。カテゴリは Windows Management Framework。
     WinRM も 2.0 になっているそうです。Power Shell のリモーティングで WinRM が使われているとのこと。

    はじめの一歩は Get-Help / Get-Command / Get-Member
    標準的な名前付けパターンは 動詞-名詞

    CLR 上で動作。落ちる時は CLR 内で落ちる。
    オブジェクトを使いこなす。文字で表示されていても単純な文字列ではなくオブジェクト。
    今までのコマンドと COM オブジェクトも使用可能

    デフォルトでは、対話形式のみでスクリプトは実行できない。
    # よく忘れていて ps1 が実行できなくて困ることがあります…。
    グループポリシーで実行ポリシーが制御できる

    R2 ではタスクバーに表示されている。
    ISE は便利そうでした。
    Get-Prosess のエイリアスは ps。Stop-Process のエイリアスは Kill。
    -watif は共通のオプションで実際の実行はしないでシュミレーションする
    ToString でフォーマット指定可能。日付の編集は便利。
    2.0 の Out-Grid View は便利そうです。
    Get-WmiObject は使い方を覚えたいです。
    # そういえば Power Shell のサーバーシャットダウン、リブートは資格情報の設定はできるのでしょうか??

    &{$a = “a” * 20MB}
    # {} はスコープのようなものでしょうか。
    GC により、メモリ解放がされるデモがありました。

    モジュール、デバッグ、トランザクション、といった拡張がされている
    # Import-Module は 2.0 からなんですね。拡張子は psm1
    Impor-Module で読み込んだものは GC ではクリアされないので不要になったら Export-Module する。

    Advanced Functions により PowerShell でコマンドレット、関数が作成できる。
    C# / VB.NET を使わなくても作成できる。

    トランザクションに対応しているのは現在レジストリのみ。
    プロバイダでの対応が必要。
    # そのうち、懐かしのトランザクショナル NTFS のファイル操作ようなことがコマンドでできるようになる??

    1.0 は Power Shell 実行時にウィンドウが表示されたが、2.0 では実行時にオプション指定で非表示可。
    2.0 は上位互換なので、1.0 と共存インストールはできない。

    リモーティングは 1:1 / 1:多 が可能。多:1 もできる。
    # 多:1 はPower Shell の穂スティング
    HTTP / HTTPS で通信可能。ただし、既定のポートは 80 と 443 ではない。
    Invoke-Command を使用するようですね。
    Set-WSManQuickConfig でリモート管理を有効化しておく。
    # WinRM –quickconfig みたいなものでしょうか。

    バックグラウンドジョブが作れる。

    PS-Event のイベンティングでフォルダ監視をして、ファイルが入ったタイミングで処理することも
    可能らしいです。面白そう。

    サーバーの役割と機能への対応により、IIS であれば設定を階層のように見える。
    モジュールは $PSHOMModule にある。
    # このディレクトリでインストールされているモジュールが管理できる??

    ISE 自体も拡張できる。
    # ヘルプに載っているそうです。

    Get-Command –Module ActiveDirectory –verb new
    # インポートしたモジュールの確認。
    クラスタのモジュールについてはブログでまとめたいです。

  4. [T4-201] SQL Seerver 次期バージョン コード名 “Kilimanjaro” 概要
    SQL Server 2008 R2 の概要セッション。
    コード名は地域名がつくことが多い。

    – ロードマップ
    第一世代は Sybase がベース
    # SQL Server 6.5 私が初めて触った RDB です。懐かしい…。

    第二世代は 7.0 / 2000
    # この辺で SQL Server を自分のコアスキルにしたいと思い 2000 の MCDBA を取得しました。

    第三世代は 2005 / 2008 / 2008 R2
    # 今に至ると。

    – 2008 のコンセプト
    エンタープライズデータプラットフォーム
    多次元データベース
    # リレーショナル以外も格納
    開発面での統合
    # Visual Studio / .NET Framework
    広範囲に及ぶ洞察
    # BI のすそ野を広める / Office 連携の強化

    – “Kilimanjaro” とは
    SQLServer 2008 ベース。R2 は正式名称
    管理機能を強化

    Office 2010 との強固連携。
    利用者がデータ分析を容易にできるように考えている。

    昨今、メモリと CPU の搭載量が多くなっている。
    NUMA への対応。
    # FSB がボトルネックとなる。
    ローカルメモリとリモートメモリ。
    # 別ノードのメモリにもアクセスできるが、ローカルよりはオーバーヘッドあり。
    2005 以降で NUMA にネイティブに対応
    # 自動検知
    資料の画像を見ていたらプロセッサのアフィニティに NUMA ノードが表示されるようになっていました。
    2005 の NUMA ではその機能はなかったような気が…。
    256 コアを使用した検証もすでに実施されている。
    # タスクマネージャがすごいことになっていました。

    R2 では集中管理、共同作業、スケーラブルで効率的な管理を考えている。

    アプリケーションとマルチサーバー管理が R2 の新機能
    # UCP ですね。最近全く触れていませんが。

    2008 のパフォーマンスデータコレクションとポリシーベースの管理の紹介。

    アプリケーションとマルチサーバー管理
    UCP と DAC
    DAC は開発者、UCP はデータベース管理者が使用
    # DAC というと専用管理者接続を思い浮かべてしまいます…。

    -UCP
    UCP の監視対象は 2000 / 2005 / 2008 / 2008 R2 となる。
    監視の統括サーバーは 2008 R2 の必要がある。
    # 私ができなかったのは設定が間違っているんですね…。再検証します!!
    データベースの使用状況で、ファイルの実使用量がわかるので便利
    追加は Managed Instance → Add Managed Instance 後はサーバーに接続して追加。
    # この方法でやったはずなんですけどね。なんでだめだったんだろ。
    UCP は 15 分ごとに情報を取得
    # SQL Server エージェントのスケジュールが 15 分間隔になっていたような気が。
    監視対象から外す場合は UnManaged する。

    – DAC
    DAC はデータベースアプリケーション管理
    データベースオブジェクトの容易な配置、再配置をするコンポーネント
    VS 2010 でDAC の作成が可能。SSMS で既存の DB に対して DAC が作成可能
    # ITPro なので時間があるときに SSMS から試そう!!
    UCP を含めることもできる。
    Task の Extract Data-tier Application で SSMS から DAC が作成可能
    拡張子は dacpac。dacpac は ZIP ファイルで実データは XML で定義されている
    配置は Deploy Data-tier Application
    dacpac を指定する。
    オブジェクト定義の移行であり、でーたの以降は含まれていない。
    # 柔軟性のあるスクリプトファイルの生成機能といったイメージでしょうか??
    配置した DAC は Utility Explorer の DAC に入る??設定によるのでしょうか??

    – MDS (マスターデータサービス)
    # MDM (マスターデータ管理)
    R2 からの新機能
    マスターデータはトランザクションデータではなく、管理する必要と価値のあるデータ
    プロセスとテクノロジ。
    # 技術ですべてを管理するわけではない。
    ガバナンスとスチュワードシップが重要
    SOA や Saas によりシステムの統合でマスターデータ管理が注目を浴びている。
    機能としては SQL Server Master Data Services
    マスタデータのシングル クリーン コピーを作成 / 保持 するプロセスとテクノロジの提供
    データのマージ / マッチング、 バージョン管理、承認ワークフロー、階層管理、ポータルを提供
    データの統合は SSIS 等の既存テクノロジを利用
    さまざまな業務システムから利用できる。
    ポータルはスチュワードシップ ポータル。
    # このポータルでバージョン管理、階層管理、ワークフローの承認 / 通知等を行う
    ワークフローは SharePoint / WF を使用したワークフロー
    # MDS ハブがマスタリポジトリになるのでしょうか??
    CTP 2 / August CTP には MDS は含まれていない。
    # CTP2 はもう出ているんでしょうか??私が使っているのは August CTP だったはず。
    そろそろデータを格納するだけでなくデータを扱うということに関してもスキル向上が必要だなと感じました。

    – セルフサービス BI
    SSRS の機能強化。
    利用者自身がリッチなレポートを容易に作成できるようにする。
    レポートオブジェクトの共有
    # レポート自体は以前も共有できたがその中の一部は共有できなかった。R2 でグラフや表が共有できる。
    地図情報の可視化。
    Gemini のセッションでさらに詳しい説明がある。

    – セルフサービス分析
    Excel 2010 のアドイン Project “Gemini”
    # Gemini は SharePoint も含まれる??。
    Excel で動くローカルの分析ツール。
    # Excel だが アドインで動くため、100 万件を超えるデータを扱える。
    インメモリ BI エンジン。
    さまざまなデータソースをサポート。
    # Oracle 等

    RTM は 2010 年予定
    楽しみです♪

  5. [T4-202] SQL Server “Kilimanjaro” Officr 2010 による Self Service BI
    Kilimanjaro と Gemini は同じタイミングでリリース

    – Kilimanjaro とは?
    R2 とあるが SQL Server の次期バージョン。
    64 論理プロセッサ以上のサポート
    統合サーバー管理
    マスタデータの一元管理
    今回のセッションはセルフサービスレポーティングとセルフサービス分析がメイン

    – ビジネス インテリジェンスとは?
    データ活用を支援するためのソリューション
    的確な意思決定をタイムリーに。
    情報の可視化により、成長とコスト削減を実現するためのツール
    # 業務の効率化と新たな気付きも。

    初期投資が高いイメージがある。
    専門的なスキルとツールが必要。
    管理とセキュリティが心配。
    データのメンテナンスに手間がかかる。
    SQL Serverを使うと上記課題が解決できる。

    – ブラウザをベースにした情報の可視化
    SSRS を使用したブラウザベースの情報の可視化。
    地理空間情報がリッチになった。
    レポートアイテムに Map が追加された。
    Bing Maps (Virtual Earth) との統合をサポート

    作成済みのレポートの部品ををコンポーネント化できるようになった。
    クエリ / チャート / ゲージ等をコンポーネント化し再利用できる。
    部品のバージョン管理も可能
    アドホックレポートが強化された。

    SSRS を使用したレポート作成のデモ
    レポートビルダでデータソースを新規に作成して、レポートを作成。
    Format の c は通貨データ。
    2 軸と区切り線つきのグラフを作成。
    # どうやってレポートを作るかの紹介でした。

    2008 では空間情報を使用するときはコーディングが必要だった。
    # 自習書にサンプルが掲載されているそうです。
    R2 用のレポートビルダがある。レポートビルダ 3.0。
    データの種別に Map がある。
    SQL Server や Map ギャラリーのデータをもとに Map を作成。
    ウィザード形式で作成できる。テーブルに空間情報が含まれる場合、自動で列を認識する。
    # 変更も可能。
    ウィザード内で BingMap との連携結果を見ることができる。

    – Excel を使用したデータの分析
    Excel 2007 では行 / 列数が増えている。
    条件付き書式設定による可視化。
    ピボットテーブルとグラフ機能の強化。
    自由形式への変換でセル単位で OLAP へアクセス可能
    # Excel 2007 の説明です。

    Project “Gemini” は Excel 2010 のアドインとして提供される。
    SQL Server 以外のデータソースをサポート。
    インメモリ BI エンジン。
    # 取得したデータはクライアントのメモリに圧縮して保存される。
    SharePoint Server 2010 との連携。
    # 分析したデータを SharePoint に保存できる。
    32 / 64 ビット版の両方が提供される。
    # Office 2010 は 64 ビット版がある。

    データをクライアントのメモリにコピーして分析。
    # Excel の Gemini エンジンで管理される。
    Excel としてファイル保存 / SharePoint で情報共有。

    Excel 上で動作するクライアント & レポーティングツール。
    Excel のフィルタ間隔でデータをフィルタリング。
    スパークライン / 新しい条件付き書式アイコン / スライサーが Excel 2010 の新機能としてある。
    Access / Oracle / DB2 / Teradata / Excel 上のデータを組み合わせて分析が可能。
    # データマイニングアドインが進化したイメージ??
    メモリ上のデータは圧縮されるのでクライアントリソースを有効活用できる。
    取得したデータを Excel として保存した場合は Office Open XML の customData フォルダ内の .data として
    保存される。
    # xlsx を zip 解凍して確認
    圧縮したデータのサイズを見たい時はこのファイルをみる

    SharePoint と連携することで、スケジュールしたデータ更新ができる。

    Gemini を使用したレポート作成のデモ
    アドインをインストールすると Gemini タブが追加される。
    Gemini の操作はこのタブから行う。
    ウィザード内でプレビューし、フィルタ設定が可能。
    # 表示されるサンプルデータは 50 件
    Excel でコピーした内容を Gemini 上でテーブルとして追加できる。
    リレーションの設定もウィザードで可能。
    インメモリなのでソートも早い。
    スライサーにフィルタを配置し、フィルタリングでき
    多次元データベースの構成をユーザーが作成できる。

    今年の秋に提供される R2 の CTP で Gemini が試せるようになる。

  6. [LT-02] ライトニングトーク
    大盛況です。
    ライトニングトークのレポートは書くのが大変なのでこれは省略で。

明日で最終日。あっという間ですね。

Written by Masayuki.Ozawa

8月 27th, 2009 at 12:08 am

Posted in セミナー

Tech Ed Japan 2009 1 日目 参加レポート

without comments

1 日目の参加レポートになります。
聞きながら書いているのであまりまとまっていませんが。
# 本投稿は書き終わったタイミングで更新しています。
? LOOX で半角中黒の打ち方がわかりません…。

本日参加したセッション

  1. キーノートセッション
  2. [TH-308] Hyper-V による SQL Server の統合
  3. [T4-402] SQL Server チューニング
  4. [T1-402] Effective Hyper-V R2 – 仮想マシンはクラスタの夢を見るか?
  5. [T1-201] ここが変わった!Windows 7 デスクトップ環境

?

  1. キーノートセッション
    – 次世代の IT の可能性がここにある
    tech ed は今年で 15 周年だったんでね。
    # Windows 95 の時代から続いているんですね。
    私が社会人になる前の 1 エンドユーザーの時から続いているのか~。

    – Dynamic IT
    IT Pro / 開発者 / エンドユーザー間の親和性、最適化により俊敏性の実現
    私は IT Pro なので、仮想化などの新技術とコンプライアンス対応がポイントとなりそうです。
    # インフラの面から開発者と柔軟性のあるアプリケーション配置の連携を考える必要があるのかな。

    – Windows 7
    公開されているスケジュールの説明がありました。
    開発のポイントはエンドユーザーからの声を聞いているということのようですね。
    会場の挙手の状況ではすでに使われている方が多いようです。さすが tech ed の参加者。

    パフォーマンスと互換性に関してはデモがありました。
    スリープ状態からの復旧は早いですね~。2 秒ほどでスリープから復旧していました。
    電源 ON からの起動についてもデモがありました。大体 20 秒程度で起動していました。
    # Core2 Quad と SSD での起動時間ですが。

    ネットブックでフリップ 3D が快適に動きますよというデモも。
    # Pentium M のノート PC を使ったデモも。
    私も LOOX B50 は Windows 7 を 1G メモリ + SSD で動かしていますがストレスはかんじないですね~。

    互換性は UAC により XP とのセキュリティの違いにより動かないプログラムを、プログラム互換性アシスタントでで
    再実行後に起動するようになるというデモがありました。
    あとはおなじみの XP Mode のデモが。

    互換性トラブルシューティング、互換性モード, ApplicationCompatibility Tool Kit は勉強しておきたいなと思いました。

    最適化されたデスクトップ環境ということでは App-V を使用した Office 2003 と 2007 の共存のデモが。
    リモートユーザープロファイルでロケーションに依存しない、共通のデスクトップ環境の利用についてもデモがありました。
    # 最初は VDI かと思っていたのですが、移動ユーザープロファイルとのことでした。

    – Windows Server 2008 R2
    こちらは Dynamic IT を絡めた話になっていました。
    # Dynamic Data Center について
    クラウド時代の新基盤 OS として Windows Server 2008 R2 があると。

    低消費電力ということで 2008 R2 と 2003 R2 x64 の 16 コアの電力比較が。
    2003 R2 215w / 2008 R2 156w

    Intel から CPU の周波数を表示するツールがありそうです。Intel frequency Display??
    2008 R2 ではパフォーマンスモニタで Parking Status をみるとコアパーキングの状況が分かるようですね。

    VHD ブートのデモもあり、ちょっとワクワクしながら見ていました。
    # 現在勉強中ですので。
    BCD で VHD を設定して、detecthal は有効にすると。
    VHD ブートの初回起動時はやはり HAL の自動検出は有効にしておいたほうがよさそうですね。
    評価版が VHD で提供されているそうなので TechNet や MSDN がなくてもお手軽に試せるんですね~。

    WDS による VHD ファイルを使用した OS 展開のデモも。
    これは今日、電車の中で雑誌を読んでいて WIM でなくても展開できるんだ~と思っていたばかりだったので、
    デモが見れてよかったです。
    # PXE ブートでの起動時には boot.wim を使っているようですね。
    WDS で VHD を使用して OS を展開。なんだか Window Azure みたいです。
    SCVMM のライブラリを使用したクライアント展開というソリューションができるかは試してみたいなと思いました。

    -Office 2010 / Exchange Server 2010
    そういえば SharePoint も 2010 になるんですね~。
    #2010 シリーズがずらりと。

    気になったのはどこでも Office (ブラウザー / 電話での利用) ですね。

    デモでは Office 2010 が紹介されていました。
    CTP は私も入手しているのですが MCAS の勉強のため、まだ導入ができていないんですよね。

    Outlook のスレッドを使用したメール管理と Exchange 2010 と連動した UC (ボイスメール)? はなるほどなと。
    2010 同士の連携だと Outlook がかなり拡張されそうですね。
    MOT 2007 を受験する前提の MCAS には Outlook が含まれていないので勉強していなかったのですが、
    通常のメール以外の便利な使い方も勉強しないとな~と思いました。

    Excel 2010 の機能では 「スパークライン」と「スライサー」の紹介が。
    SharePoint 2010 との連携と Excel Web Access では FIreFox で SharePoint を開いて、
    Excel Web Access のリアルタイム連動の紹介が。

    Office Web アプリケーションは Office をボリュームライセンスで購入すればオンプレミス型で使用できるらしいです。

    Gemini との連携もワクワクでした。
    インメモリ BI となるそうで。億のレコードに対してのソートやフィルタもサクサクでした。
    BaqckstageView という BI 関連の機能があるようですね。
    SharePoint の Report ギャラリーは Silverlight を使用しているらしいです。

    SharePoint 2010 では Visio をブラウザ表示できるようでした。
    Groove は SharePoint Workspae と名称が変更され SharePoint との連携も強化されるようです。

    PowerPoint 2010 のデモでは動画関連について。動画の圧縮もできるようでした。
    共同作業の効率化ということで共同編集のデモも。ステータスバーにサーバーと通信のようなメッセージが
    表示されていたので、サーバー使っているのでしょうか??
    PowerPoint が入っていない端末でもブロードキャストで配信できる機能も。
    デモでやっていたのですが、ブロードキャストであればブラウザ経由ですので Office が入っていない
    モバイル端末からも表示できるですね。

    IW の領域もなかなか奥が深いです。

    – IT エンジニアの皆さまへ
    日本語技術情報は 10,000 ページ増やすとのことです。
    Fix it は使ったことがあった気が。
    日本では日本独自の品質検証も実施しているそうです。(MS 本社での検証とは別に)

  2. [TH-308] Hyper-V による SQL Server の統合
    – SQL Server に効果的なHyper-V 2.0 の新機能
    サポートするプロセッサの向上 (64 個)
    # 2008 だと SP2 適用でサポートするプロセッサが増えていたようですね。
    2.0 定番の Live Migration / CSV / CPU 互換性と仮想ストレージのホットプラグも柔軟性ではポイントのようです。
    SLAT / VMQ / TCP オフロード / コアパーキングは H/W に近いところについての新機能ですね。

    R2 の仮想ディスクですが、US の TechEd の資料によると R1 (2008) と比較してもパフォーマンスが向上しているようです。
    R1 の容量固定と R2 の容量可変では同等のパフォーマンスとなるようです。
    # Tech Ed US の DVD は今年販売されないのでしょうか…。とても見たいです。
    また、R2 ではパススルーと容量固定では同等のパフォーマンスとなるようです。
    仮想 SCSI の IO サイズも増えているようで、仮想ディスクを追加する時は SCSI のディスクとして作成したほうがよいかも。
    # 起動ドライブとして仮想 SCSI は R2 でも使用できませんが。

    ネットワーク関連の新機能により CPU 0 の負荷が軽減されるようですね。
    # VMQ に対応している NIC は現状 Intel だけのようです。
    マルチプロセッサ環境では CPU 0 は OS で使われることが多いはずなので、この点はポイントになりそうです。

    Intel VT-c (ネットワーク仮想化支援機能) が VMQ / TCP オフロードで使われるとのこと。
    Intel VT-x (EPT) のサポートが SLAT (ゲスト OS のメモリのアドレッシング) に影響すると。

    いろいろと物理側で OS の処理を肩代わりできるようになってきましたね。

    仮想化をお客様に勧める場合は、標準メニュー (安定した H/W 構成含む) があったほうがよいかなと思いました。

    – 仮想化による SQL Server の統合
    旧システムの意向、サーバー統合 (H/W 統合)、SQL Server 2000 からの移行がケースとしてはありそう。
    # SQL Server 2000 のメインストリームサポート は終了していて現在は延長サポートフェーズ

    仮想化によるメリットは H/W の有効活用と H/W の導入機関の短縮かなと。
    容易な移行が入っていましたが、単純なインスタンスであればよいですが、クラスタの環境は移行できるかが
    要検証かなと思いました。どこかで V2V でクラスタ環境の移行を検証したいな。
    # スキルチャージプログラムのサーバーはこの間 P2V したので単純なケースであれば作業イメージがあるのですが。

    DB サーバーの可用性を考えると Enterprise が Datacenter を使用した LiveMigration 環境を念頭に入れる必要が。
    Enterprise と Datacenter はボリュームライセンスだと価格差はあまりないんですよね。
    Hyper-V ではホスト OS は Datacenter Edition が定番になるのかな~。
    # と思っていたら後の説明で Enterprise はサーバー、Datacenter では CPU ライセンスとのことでした。
    価格差が出ますね。(Datacenter は 2CPU 以上必要になるそうですので。)

    DB 要の VHD は仮想 SCSI コントローラー接続かつ容量固定かパススルーが基本ですね。
    VHD だと 2TB の上限があるので、それ以上はパススルーディスクが必須と。
    # DB サーバーのスナップショットを使用するシチュエーションがあるかどうかは要検討

    Hyper-V で SQL Server を実行した際のディスク構成についてはホワイトペーパーがあるようなので後で読まなくては。
    # 読んだ記憶があるのですがまったく内容が頭に残っていません…。

    そういえばパススルーディスクを使っていると LiveMigration はできないのでは?
    CSV が使えないですよね。

    SQL Server の仮想化をするときは LiveMigration 環境を作ればそれだけで冗長化されるんですよね。
    説明を聞いていてそういえばと思いました。
    ゲスト OS 2 台でクラスタ化するか、ホスト OS 2 台でクラスタ化するか。どっちがいいかな~。

    そういえば SQL Server 2000 は Hyper-V 上での動作がサポートされてないんですよね。すっかり忘れていました。
    # Windows 2000 Server + SQL Server 2000 はサポート外
    ??? Hyper-V では単純な P2V シナリオは少なさそうですね。アップグレードが必須かな~。

    Hyper-V でサポートされている OS の関係上、P2V の際には、OS のバージョンは要確認ですね。
    SP が低いと統合サービスがインストールできないですし。

    仮想化時は 4CPU の制限が一番の問題になりそうです。
    バッチ処理の並列度は 4 が最大になるということですし。
    # SSIS を使用した並行データロードは厳しいかな。

  3. [T4-402] SQL Server チューニング
    自分の中での本日のメインセッションです。
    SQL Server 2005 / 2008 に対応したチューニングセッションになります。

    インサイド SQL Server 2005 に関しては T-SQL 編で全冊出そろったとのことです。

    SQL Server の歴史が出ていたのですが、4.2 と 6.0 以外は使っているんだな~としみじみ。
    # 6.5 は 6.0 ベースなので全く触ったことがないのは 4.2 ですね。

    NUMA に関しては明日。楽しみです♪
    # NUMA を意識した並列機能は 2008 からだそうで。

    SQL 11 で第 4 世代となるとのことです。
    R2 の CTP の段階でもう次期バージョンの話が。

    チューニングのフェーズとしてはクエリチューニングとプラットフォームチューニングの 2 フェーズ。
    私はプラットフォームチューニングの分野のエンジニアですね。
    # アプリを作らなくなってから、クエリは状況取得用のものしか書いていないので。

    チューニングの基本はトライ&エラー。
    インデックス関係はバックアップを検証環境に戻すことで本番佳境を使わなくても状況把握できますが、
    トランザクションミックスの処理は、本番環境の状況を把握することが必須ですよね。

    NUMA では使用するネットワークの関連付けができるとのこと。
    ソフト NUMA でもできるかな??後で調べないと。

    x86 は Windows Server 2008 で最後なので、今後は PAE と AWE は過去の設定になって。いくんでしょうね。
    IA 64 は今もミッションクリティカル用のシステムで利用されているようです。

    プロセッサーでは SQL OS の並列処理がポイント。
    NUMA ではノードとスケジューラが SQLOS で認識される。
    # SMP は 1 ノード / 1 スケジューラ

    SMP は FSB 経由でメモリアクセス。
    SMP では FSB の使用を考慮すると CPU は最大 8 つ程度が目安。
    # それ以上のスケールアップは FSB ネックになり思ったように効果が出ない

    Xeon では 5500 で NUMA に対応

    SQLOS で num runnable が 0 以外だと CPU にキューがたまっている。
    SQL Server では CPU の使用率ではなくキュー待ちに注目。
    SQL Server 2005 以降ではワーカースレッドの数は CPU と、ビット数で自動設定されるので、
    num workes もチェック

    デモで使っているバージョンは SQL Server 2008 (10.0.2531) でした。
    SQLOS と待ち事象の見方についてのデモ。動的管理ビューで状況を取得。
    DMV でパフォーマンスモニタの情報も取得可能。

    SQL Server 2000 ではメモリーが最もクリティカルな共有資源。
    32 ビットアドレスの制限ですよね。
    x64 でフラットなアドレス空間が使えるのは大きいですね。
    ただし、64 ビットんい移行することにより、メモリがフラットに使えるようになって、データキャッシュ以外の
    メモリ使用量が増えるので、競合が発生することもあるとのこと。
    # 非同期のガベージコレクションが実行されないと見使用量は解放されない。

    NUMA の場合はローカルノードとリモートノードの考えがあるので、ローカルノード内のメモリサイズを意識する
    必要があるとのこと。これはなるほどと思いました。

    64 ビットの場合はサービスアカウントで、メモリ内のページのロックが付与されていないと、SQL Server のログに
    メッセージが出力されるので設定しておく。
    熊澤さんも言われていましたが BOL でも少し記載はされているのですが、x64 だと必須かどうか微妙な書き方なんですよね。

    T-SQL で GO の後に数字を入れるとバッチを繰り返し実行してくれるんですね。
    恥ずかしながら知りませんでした。
    クエリ関係のチューニングの第一歩はクエリプランをきちんと確認することから。
    最近の SQL Server は親切設計なので不足しているインデックスと統計は表示してくれます。

    PAGEIOLATCH はメモリかストレージとのデータのやり取り。

    アドホッククエリはなくす方向で開発者に頑張ってもらう。
    # この辺りは、開発者と DBA で連携したいですね。

    SQL Server のレポート機能でも状況は把握できるので利用しよう!!
    # そういえば管理者レポートの作成進んでない…。

    DAS は値段的にもお勧め。(RAID 1+0) で構成
    SSD に関しては NUMA のセッションでデモが見れそう。楽しみです♪
    RAID 構成は複数の RAID コントローラも検討
    SSD はランダムアクセスに効果的 (データとインデックス)
    ログとtempdb は効果が少ない。
    # シーケンシャルアクセスが遅いことに関しては今月の DB Magazine にも載っています。

    tempdb では単一エクステントが望ましい。
    # SQL Server 2008 では ?T1118 は必要ないらしい。何かのブログでこの辺が載っていたはず。

    tempdb の分割は GAM の処理を効率化するため。

    データファイルはインデックス再構築の処理を考慮し、1.5 ~ 2 倍にする。
    # この辺はインデックスのメンテナンス時のオプションで設定項目としてあります。
    動きが面白かったのでどこかでまとめたい内容として未着手になっています。
    特定の設定すると tempdb のログが大量に使われる動きをするようなんですよね。

    IO_STALL が高いとストレージの帯域がネックになっている可能性があり。
    virtual file io stats で確認。

    インデックスの構造 (ヒープ / B-Tree) は理解すること!!
    非クラスタ化インデックス + クラスタ化インデックスの検索の仕組みはファントムを考慮して
    今の実装の形になった。

    null 値と可変長にはインデックスを付けない。
    変更により、列サイズが変更された際にページ分割が発生するため。
    # この動きは何かの書籍に書かれていた気がするんですよね。

    データは生物なのでメンテナンスは定期的に!!
    断片化解消と統計の更新。

    RCSI は Read Committed snapshot isolation の略

    リンクサーバーを使用したリモートクエリは 2008 でもオプティマイザが最適なプランを生成できない!!

    久々のどっぷり SQL Server で楽しかったです♪

  4. [T1-402] Effective Hyper-V R2 – 仮想マシンはクラスタの夢を見るか?
    仮想化とクラスタ化がメインのセッション。(高橋メソッドで発表)
    クラスタ化ホストの上でゲスト OS を実行する。

    Quick Migration はメモリを共有ディスクに書き込み別のノードで実行。
    (Hibernate のメモリファイルを共有ディスクに書き込むイメージ)
    LUN 単位での移動となる。一LUN托生 問題。LUN 爆発 (Exprosion)
    LiveMigration で解決。

    – 狂熱のライヴマイグレーション
    5 ノードクラスタを使用したデモ (5 号機はドメインコントローラーと iSCSI Target)

    ゲスト OS がどのホスト OS で実行されているかを把握できるようですね。
    # デモで使われていたプログラムがそのような動きをしていました。

    – Dynamics が止まらない
    Dynamics CRM を使用した Live Migration のデモ
    # Dynamics のデモをしている裏でこっそり LiveMigration。
    デモ担当の方とは連携せずに突然 LiveMigration 風 (?) のデモ
    業務を止めずにパッチ適用というシナリオ

    – シミュレーションだって止まらない
    HPC を使用した Live Migration のデモ
    HPC Server は x64 をベースとした OS
    MS-MPI (並列計算向けメッセージ通信ミドルウェア)
    計算ノード (ヘッドノード) のデプロイ機能
    HeatMap (システムリソースの監視ツール)
    並列計算中は、計算サーバーが一台でも落ちるとそれまでの計算はご破算
    # ヘッドノードが落ちてもご破算。9 時間目で起きたら悪夢とのこと。

    HPC Cluster Manager / Lizard (サンプルアプリ)

    計算中に Live Migartion
    ヘッドノードは成功 (処理継続)
    計算ノードも成功 (処理継続)

    – いまさら聞けないクラスタの話
    Hyper-V とクラスタは親密な関係
    MSFC / WSFC と呼ぶ
    # 正式な略称はどちらなんでしょう??今回も謎は解けず…。

    カーネルモードでは netft.sys と clusdisk.sys がドライバとして実行されている。
    リソースモニタ (resrcmon.exe) が障害の監視をしている。
    各リソースの監視は clusres.dll。リソースモニタの監視は ClusSvc.exe。ClusSvc.exe の監視はサービスマネージャ。

    仮想マシンは、仮想マシンリソースと仮想マシン構成リソースで構成される。
    仮想マシンリソース DLL vmclusres.dll が仮想マシンのリソース DLL
    クラスタサービス bclussvc.exe と 仮想マシン管理サービス vmms.exe が仮想マシンの管理をしている

    – Live Migration の動き
    移行準備 → VM メモリ転送 → VM 状態転送 → 後片付け
    # VM 状態転送で一瞬止まる部落アウト期間がある

    メモリ転送に使用するネットワークは指定可能
    仮想マシンワーカープロセス vmwp.exe 間でメモリが転送される。
    メモリを転送して、転送後に変更のあったページ (ダーティーページ) をその後に転送する。
    # ダーティーページの移動は 5 回程度繰り返される。
    一挙に移動できるメモリ量になったら状態転送フェーズで一時停止してダーティページを転送
    # 状態転送フェーズが処理される前であればキャンセル可能
    ブラックアウト期間はログに結果が記録される。

    後片付けフェーズで VMMS.exe 間の通信と動いていたノードの VM ワーカープロセスを消滅

    Live Migration 専用のギガビットネットワークが理想
    Live Migration は CSV でなくてもブラックアウト期間が多いが可能
    仮想ネットワークの名前は全ノードで一致させておく
    # 一致していないと 5% ぐらいで失敗する。
    ローカルディスクの ISO をマウントしていると失敗する。

    – CSV
    NTFS はクラスタファイルシステムではないので、複数ノードで同時にアクセスすると壊れる。
    # クラスタでは ClusDisk.sys が制御していることですね。

    CSV では単一の LUN に複数ノードからアクセス可能
    NTFS をそのまま利用しつつ ミニフィルタドライバ CSVFilter.sys で実現している。
    # アンチウイルスや暗号化ソフトもミニフィルタドライバで実装されている。

    CSVFilter より上位には DFS のドライバが位置しているらしい。

    (GetCluster).Enable-SharedVolume? でも有効にできるらしい。
    今後、Cluster.exe は衰退していくらしいので PowrShell を勉強しないとだめですね。頑張ります。

    ボリュームをマウントしているのはコーディネーターノードだけ。
    コーディネーターノードは特殊な処理をせずにアクセスしているようです。
    # コーディネーターは現在の所有者で確認可能です。
    非コーディネーターは CSVFilter が I/O 要求をキャッチ。
    要求の内容によっては LCN (Logical Cluster Number) を頼りに NTFS もスキップしてダイレクトにアクセス

    コーディネーターノードには自動で気に CSV の共有が作られているようです。
    そのため、CSV ネットワーク要件として Microsoft ネットワーク用クライアントと
    ファイルとプリンター共有は必須になるそうです。
    # ハートビートと同一のネットワークを使用する場合は要注意です。
    クラスタのハートビートでは通常、TCP/IP 以外は無効にしますので。
    ?
    2008 ではハートビートもチーミングはサポートされているようです。
    # 文献を探さないと。

    CSV をチェックディスク / でフラグする場合は、メンテナンスモードにして実行する。
    # CSVFilter がファイルをピンしているためだそうです。

    CSV とVSS の関係
    Windows Server Backup は現時点で未対応
    システムプロバイダとハードウェアプロバイダでメンテナンスモードになっている時間が違う。

    このセッションは後でもう一度 Web キャストをみて復習しないと

  5. [T1-201] ここが変わった!Windows 7 デスクトップ環境
    本日初の Windows 7 のセッション
    LOOX のバッテリーもぎりぎりです。明日は予備バッテリー使わないとだめっぽいんですね。
    # 大容量バッテリーではなく普通のサイズのバッテリーなので持ちに不安があります。

    Windows 7 のカーネルは Vista ベースの Longhorn カーネル。
    OS のバージョンは 2008 R2 と同様 6.1。
    定番の情報ですね。

    VHD ブートは Enterprise / Ultimate のみに対応。
    他のエディションを VHD ブートしようとするとどうなるのでしょうか??今度試してみよう。

    – タスクバーと通知領域
    Windows 7 のアイコンの基本は 1 アプリ / 1 アイコンとのことです。
    プログラムバーとタスクバー連携
    タスクバーのアイコンを右クリックしてジャンプリストを表示
    # ピン止め可能
    Live Messenger はジャンプリストでプレゼンス情報を変更できるそうなので便利そうです。

    管理者権限で実行するショートカットは Shift + Ctrl を押しながら実行。
    これは便利そうです♪

    通知領域の基本は非表示だが、通知領域にドラッグ & ドロップすれば常時表示が可能。

    アクションセンターは Windows 7 のセキュリティを一元管理するパネル
    リモートアシスタントのフォロー等でつかえる、問題ステップ記録ツールは便利そうでした。
    # ヘルプデスクの方は便利そうです。
    MHTML で画面キャプチャベースで操作内容が記録されるようです。
    ユーザーマニュアルでつかうのもありかなと。

    デスクトップの表示を透明化するのを無効にするには、Aero プレビューを無効
    ウィンドウの整列機能はコンピュータの簡単操作で無効にできる

    エクスプローラ系の機能としては、ライブラリ管理が。
    tech days でも聞いた記憶があったのですがすっかり忘れていました。
    写真を撮る方は複数フォルダを一元管理できると便利そうですね。
    ライブラリは自分で作成し、共有ディレクトリも追加可能とのことです。

    検索機能が強化されファイル名だけではなく全文検索もされるようになっている。
    AND / OR 検索をするときは大文字で AND / OR と入力する。
    種類: で種類、サイズ: でサイズといったフィルタが可能。
    # タグが検索キーワードとして使えるそうです。

    検索コネクタを設定することで独自の検索コネクタを作成可能。
    TechNet / MSDN で検索して、Search MSDN from Windows のリンクをクリックすると検索コネクタ追加可能。

    ISO ファイルからのメディア作成は便利そうです。
    # マウントもできるのでしょうか??

    VHD ファイルのサポートについても紹介がありました。
    VHD ブートについても話がありました。

    猫に Windows 7 の画面を見せるとアイコンを追いかけるそうです。
    やってみたい…。

    リボンインターフェースが OS の標準コンポーネントになっている。
    ワードパッドとペイントのリボン化
    # ワードパッドは Office Open XML に対応

    マルチタッチの紹介がありました。
    LOOX B50 はタブレットですが、マルチタッチに対応してなかったはずなんですよね。
    残念です。

    Windows 7 ではセンサー API も充実しているようです。
    照度によって文字の大きさが変わるデモがありました。
    GPS との連動もできるようです。
    会社のパソコンに GPS をつけ、社員の居場所を管理する時代が来るのでしょうか…。

    見えなくなって良かった事
    UAC 4 段階設定
    エンドユーザーのパソコンは標準ユーザーでの運用は考える必要がありますよね。
    ITPro や開発者以外の場合、UAC はどれくらい表示されるものなのでしょうか??

    AppLocker によるアプリケーションの実行管理
    AppLocker のサービスを開始しておく必要がある。
    # グループポリシーで許可するアプリの設定もできそうです。

    スクリーンセーバーなしでも画面ロックが可能になったようです。
    私は離籍時に Windows キー + L を押す癖がついてますがこれは便利そうです。

    Vista ではウィンドウを開くたびにメモリが消費されていたのですが、7 では消費されなくなったようです。
    # dwm.exe デスクトップウィンドウマネージャのメモリ消費量に変化があるようです。

    リモートデスクトップの Aero サポートと動画再生の高速化。
    今までのようなイメージ転送ではなくなったようですね。

    ブランチキャッシュのクライアント側のキャッシュはネットワークから外した段階で削除されるとのことでした。
    どのような動きになるか検証したいな。

    BitLocker To Go のでもで DriveScape というソフトが使用されていたのですがダウンロードできるのかな??
    面白そうなので一度使ったみたいです。

明日も頑張って勉強します!!

Written by Masayuki.Ozawa

8月 26th, 2009 at 2:00 pm

Posted in セミナー