syg_hira's tech-work memo

某人材サービス会社の情報共有インフラ担当のおぼえがきです。MicrosoftのEnterprise製品多め。

KingSpec SATA-Mini PCIe EeePC 900/901/903/S101 MLC SSD 128GB performance - Crystal Disk Mark

f:id:syg_hira:20140109145504j:plain

-----------------------------------------------------------------------
CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :   162.848 MB/s
          Sequential Write :    85.056 MB/s
         Random Read 512KB :   140.574 MB/s
        Random Write 512KB :    40.697 MB/s
    Random Read 4KB (QD=1) :    13.717 MB/s [  3348.8 IOPS]
   Random Write 4KB (QD=1) :     1.057 MB/s [   258.0 IOPS]
   Random Read 4KB (QD=32) :    14.584 MB/s [  3560.5 IOPS]
  Random Write 4KB (QD=32) :     0.629 MB/s [   153.6 IOPS]

  Test : 1000 MB [H: 0.1% (0.1/119.2 GB)] (x5)
  Date : 2014/01/09 14:55:57
    OS : Windows 8 Professional [6.2 Build 9200] (x64)
  

Equipments.
SSD:KingSpec SATA-Mini PCIe EeePC 900/901/903/S101専用 MLC SSD 128GB

KingSpec SATA-Mini PCIe EeePC 900/901/903/S101専用 MLC SSD 128GB

KingSpec SATA-Mini PCIe EeePC 900/901/903/S101専用 MLC SSD 128GB

MiniPCIe to SATA2 converter:RunCore Mountig Bracket


SATA2 to USB3.0 Converter:RATOC SA25-TR1-U3BK

How to convert the virtual achine from VMWare to Hyper-V

MS製品を担いでる会社なのに、なぜか検証環境をVMWare Player 6で作っていたメンバーから、技術検証用の仮想マシンを貰った。
うちのチームは仮想環境はHyper-V2.0で統一してるので、仮想マシンをコンバート。
一般的なvmdk to VHDコンバーターは、MBRのコンバートができないらしく、起動させるまで一苦労。
手順をおぼえがき。

  1. VMDKをVHDにコンバート。最終的にStarWind V2V Converterを使ったが、 VMDK2VHD、NHCなど、どれでも問題ないと思われる。
  2. TestDiskで、ブートセクタを再作成する。→参考Rebuilding NTFS boot sector using Testdisk

SAMSUNG SSD PM830 128GB performance - Crystal Disk Mark

f:id:syg_hira:20131020151546j:plain

-----------------------------------------------------------------------
CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :   460.104 MB/s
          Sequential Write :   324.035 MB/s
         Random Read 512KB :   325.450 MB/s
        Random Write 512KB :   271.777 MB/s
    Random Read 4KB (QD=1) :    19.925 MB/s [  4864.6 IOPS]
   Random Write 4KB (QD=1) :    81.172 MB/s [ 19817.4 IOPS]
   Random Read 4KB (QD=32) :   272.388 MB/s [ 66500.9 IOPS]
  Random Write 4KB (QD=32) :   113.765 MB/s [ 27774.6 IOPS]

  Test : 1000 MB [C: 58.2% (69.0/118.7 GB)] (x5)
  Date : 2013/10/20 15:11:02
    OS : Windows 8 Professional [6.2 Build 9200] (x64)

TOSHIBA EXCERIA Type 1 performance - Crystal Disk Mark

遠くのデータセンターへの出張を控え、少しでも荷物を軽量化するために、作業環境をThinkpad X1 Carbonに移行。
Hyper-V仮想マシンをコピーしてきたら256GBあるはずのSSDがだいぶいっぱいになったので、少しでもストレージの拡張を図るべく、SDカードを追加。
せっかくだから、一番速そうなものを。

ネットで見たら、SanDisk Extreme Proも速いらしいのだけど、良く分からないので東芝のを買ってみた。

普通、こういうものはデジタル一眼カメラと一緒に使うのだろうな。

NTFS クラスタサイズ64KBでフォーマットし直す。
仮想マシンの乗せてみようかとも思ってるので、速度を図ってみる。
f:id:syg_hira:20130728211004p:plain
公称速度よりちょっと遅いな・・・
仮想マシン乗せるのはちょっと厳しいかな・・・

計測環境
PC Lenovo Thinkpad X1 Carbon
メディアスロットに接続
格納データなし。

Time sync settings for windows server on Hyper-V (Updated)

一般に、仮想マシン上でのActive Directoryの実行が推奨されない理由として、時刻同期の問題がある。

が、同じプロジェクトで「仮想マシン上で時刻同期できないのでADは動かない」と言い切ったバカがいたので、理由と対処法を再度整理した。

(こういう浅はかな見識を大きな声でキャッチーに言うやつ、システム設計行程を混乱させるので害でしかない・・・ほんと詩んでほしい)

Hyper-Vの時刻同期機能

Hyper-V仮想環境で、仮想マシン統合サービスを導入すると、「時刻の同期」機能が利用できるようになる。
他の仮想化基盤でも、仮想ホストと仮想マシンの時刻同期を仕組みがある。

ゲスト時刻が遅れる場合

仮想マシンの設定で、統合サービスの「時刻の同期」を有効にすると、

ゲスト時刻 < 5秒 < ホスト時刻

となったときに、5秒以上遅れたゲストの時刻を、ホストの時刻に修正する。

仮想マシンのタイマーをエミュレートしているCPUが高負荷になると、仮想マシン内でタイマーが遅れ、仮想マシンの時刻が遅れる(らしい)。

ゲスト時刻が進む場合

ゲスト時刻がホスト時刻を追い越した場合は、統合サービスによる時刻の同期は行われない。
(時刻同期機能に関するTechnet「Hyper-V 仮想化環境におけるゲスト OS の時刻同期について」より。実機検証はしていません)

  • どうせOSの時刻同期機能を使うからと、ハードウェアクロックがいい加減だったり、
  • 古い機器を転用して検証環境を作っていたりすると、システムボードのCMOSバッテリーが切れていたり

ホストのハードウェアクロックが遅れるが、エミュレートしている仮想マシンのクロックは遅れない・・・本当にそんなことが起こるのかわからないが。
ホストOSのw32timeのタイムプロバイダがハードウェアクロックを参照する場合は、統合サービスによる時刻同期が行われなくなる。

Active Directory環境で時刻がずれる影響

Kerberosによる統合Windows環境を実行する場合は、Active Directoryサーバと、クライアントの時刻の不一致は、Kerberos認証の不具合を引き起こす。
実際問題、本当に、ゲスト時刻が進む、なんてことが起こる可能性はとても低いと思う。
けれど、PDCエミュレータとの時刻不一致が起きてしまったら、その影響は甚大です。

対処法=Windows Timeによる外部NTPとの時刻同期の有効化

ハードウェアクロックに依存しない時刻同期構成となっていれば、問題は発生しない。
実際、時刻ずれによるKerberos認証の不具合が問題になるような「まともな環境」で、NTPホストが利用できないことはないでしょう。

1.ゲストのドメインコントローラ(PDCエミュレータ)の時刻同期の構成

  • 統合サービスの「時刻の同期」を無効にする。
  • 外部タイムソースを指定する。
  • 自分を「信頼できるタイムソース」に設定する。

外部タイムソースを利用しない設定の場合は、Windows Time Serviceが停止している可能性があるので、スタートアップを「手動」に設定し、起動しておく。
以下の例では、OS標準の「time.windows.com」を、タイムソースに指定する。

sc.exe config w32time start= demand
sc.exe start w32time
w32tm.exe /config /manualpeerlist:time.windows.com /syncfromf
lags:manual /reliable:yes /update
w32tm.exe /resync

"start=" と "demand" の間にスペースが必要。トリッキーなので注意。

2.メンバーサーバの時刻同期の構成

  • 統合サービスの「時刻の同期」を無効にする。
  • ドメインに参加すれば、OSが勝手に、Active DirectoryPDCエミュレータと時刻同期するようになる。

BUFFALO SSD-PEU3 performance - Crystal Disk Mark

BUFFALO ターボPC EX対応 USB3.0用 外付けSSD 256GB SSD-PE256U3-BK

BUFFALO ターボPC EX対応 USB3.0用 外付けSSD 256GB SSD-PE256U3-BK

仕事で買ったので、計測。
f:id:syg_hira:20130718120932p:plain

-----------------------------------------------------------------------
CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]

           Sequential Read :   320.029 MB/s
          Sequential Write :   174.690 MB/s
         Random Read 512KB :   221.884 MB/s
        Random Write 512KB :     1.442 MB/s
    Random Read 4KB (QD=1) :     7.570 MB/s [  1848.2 IOPS]
   Random Write 4KB (QD=1) :     1.301 MB/s [   317.6 IOPS]
   Random Read 4KB (QD=32) :     7.442 MB/s [  1816.8 IOPS]
  Random Write 4KB (QD=32) :     1.511 MB/s [   368.9 IOPS]

  Test : 1000 MB [G: 12.8% (30.0/235.6 GB)] (x5)
  Date : 2013/07/18 12:12:19
    OS : Windows 8 Enterprise Edition [6.2 Build 9200] (x64)

計測環境
PC Dell Latitude E6230
USB3.0ポートに接続
製品同梱USB3.0ケーブル使用
製品標準同梱SWと、テスト用Hyper-V仮想マシン用ファイルで、30GB使用。

windows 2008 sysprep sample(修正版)

仕事でものすごい数のWindows Server 2008 R2 を立てることになりそう。

自宅の検証環境でも簡単にWindows Serverをプロビジョニングしたくなりそうなので、Sysprep.iniを見直した。

Goal:Virtual Machineをインポートして起動したら、初回ログオンまでNo Touch。

Sysprep.exe実行時オプション:

sysprep.exe /quiet /generalize /oobe /shutdown /unattend:<Filepath>


設定内容
・言語/ロケール設定
・使用許諾契約の表示スキップ
・Product Key入力
・ライセンス認証猶予期限リセット可能回数のカウントスキップ
・インストール済みデバイスの維持
・Administratorのパスワード設定
・自動ログオン

Sysprep.ini

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="windowsPE">
        <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <UserData>
                <AcceptEula>true</AcceptEula>
                <ProductKey>
                    <WillShowUI>OnError</WillShowUI>
                    <Key>xxxxx-xxxxx-xxxxx-xxxxx-xxxxx</Key>
                </ProductKey>
            </UserData>
        </component>
    </settings>
    <settings pass="generalize">
        <component name="Microsoft-Windows-Security-SPP" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <SkipRearm>1</SkipRearm>
        </component>
        <component name="Microsoft-Windows-PnpSysprep" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <PersistAllDeviceInstalls>true</PersistAllDeviceInstalls>
        </component>
    </settings>
    <settings pass="oobeSystem">
        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <OOBE>
                <HideEULAPage>true</HideEULAPage>
            </OOBE>
            <UserAccounts>
                <AdministratorPassword>
                    <Value>Password</Value>
                    <PlainText>true</PlainText>
                </AdministratorPassword>
            </UserAccounts>
            <AutoLogon>
                <Password>
                    <Value>Password</Value>
                    <PlainText>true</PlainText>
                </Password>
                <Enabled>true</Enabled>
                <Domain>.</Domain>
                <Username>administrator</Username>
            </AutoLogon>
        </component>
        <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <InputLocale>0411:00000411</InputLocale>
            <SystemLocale>ja-jp</SystemLocale>
            <UILanguage>ja-jp</UILanguage>
            <UserLocale>ja-jp</UserLocale>
        </component>
    </settings>
    <cpi:offlineImage cpi:source="wim:e:/sources/install.wim#Windows Server 2008 R2 SERVERENTERPRISE" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>