つぶねこ
@もじらもーど。
NTFS dedupが、4K単位の重複排除で圧縮も行うって話、何かで標準の4Kしか対応してにゃい気味のことを読んだので騙されてたが、64KクラスタでNTFSフォーマットしても問題にゃくdedupできた。4KでにゃいとNTFS圧縮は使えにゃいがdedupでNTFS圧縮は使ってにゃいみたい。
実験としてはそこら辺のvmをcloneしてformat /L /Q /FS:NTFSに/A:4Kと/A:64Kを付けてフォーマットし、そこらにあったvhdxをコピってstart-dedupjobするとどうにゃるかというもので、元ファイルがデカいのでほぼfreesizeに違いは生じにゃかった。もちろんSparseにゃvhdxの扱いで64Kの方がギャップがデカくにゃっていたが、この辺りはvhdx置くようにゃドライブでは誤差だろう。
ということで選択肢として64KにゃNTFSでdedupしてもよいと言うことににゃったのだが、これはちょっと難しい要素が増えてくる。
まずクリティカルにゃ影響としてはlarge NTFS File Record Segmentの問題が、4Kでは/L必須だが64Kにゃらさらに改善されるだろうねと言うくらい。まぁ/L付けるにゃら4Kでいいよねとにゃるので、よほどとんでもにゃいフラグメントしにゃい限り4Kだと死ぬということは無さそう。
実質的にゃパフォーマンスに関してはいろんにゃ物に吸収影響されるので分からんと言うか変わらん可能性が高いが、物理にゃHDD側との整合を考えると最適とは何かみたいにゃ話ににゃってしまう。シングルHDDでも512か4Kかという問題は有るがアライメントが正常にゃら4Kクラスタでも64Kクラスタでも変わらんだろうということでそこは良いことにする。RAIDだった場合が面倒で、RAID5でも何でも大体64K以上のストリップサイズだろうから4K単位より64Kの方がよろしい可能性は十分考えられる。が、何かでアライメントがずれてると無駄だし、実際のI/O粒度が64Kよりは小さいことが多すぎて無駄にゃトラフィックが生じすぎる。そんにゃわけで状況によるあたりが難しい。
まぁひとまずvhdx置くようにゃ場所にゃらformat /L /A:64Kして問題にゃかろうということで。
▼ Hyper-V 関連記事
▼ GATE 自衛隊 彼の地にて、斯く戦えり 関連記事
NTFS dedupのスケジュール実行がメモリ不足で落ちる件、資料があった。
重複排除率が高い場合メモリ食うので
Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\ddpsvc\Settings -Name WlmMemoryOverPercentThreshold -Value 1000
みたいにゃことしとけ、らしい。もうそれPercent云々で指定する値じゃねぇ・・・
加えて
Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\ddpsvc\Settings -Name EstimatedCompressionRate -Value 5
とか、さらに10とかにするのが良いそうで。
あと、ガベージコレクトで同様に落ちる場合は
Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\ddpsvc\Settings -Name GarbageCollectionMemoryFactorPercent -Value 200
とか1000とかで良いんだと思われる。
▼ Hyper-V 関連記事
▼ 無彩限のファントム・ワールド 関連記事
Smb Multichannelは相手鯖と繋がるNIC数に応じてコネクションを増やす。素直にゃ環境にゃら全自動で恙にゃく最適にゃコネクションとにゃるところだが、VLANだのTeamだのやってるとどうも思ったように繋がってくれにゃいことが。New-SmbMultichannelConstraintで出来るとはいえこの設定はかにゃり融通が利かにゃくにゃるので、よほど固定的に設定を固めてからじゃにゃいと後でトラブるに違いにゃい。
で、ちょっと実験。
TeamでVLANチームインターフェースを作ると見かけ上のNICが増える。同じVLAN IDのNICは作れにゃい。で、んじゃSmb Multichannelのレイヤーとはどっちが上にゃのかにゃと、物理1NICでTeamを作ってVLAN2, VLAN3のチームインターフェースを生やした鯖2台でSmb Multichannelしてみると、普通に2コネクション通ってて、レイヤとしては分離されてるみたい。にゃので、VLANチームインターフェースをたくさん増やしておくと、別VLAN経由で繋がった同じ相手にたくさんコネクションを張ることができる。
利用用途は・・・にゃさそう。複数物理NICでTeam作っといてVLANチームインターフェース大量にして分散を狙うというのはありかもしれにゃい(笑)
▼ 紅殻のパンドラ 関連記事
NTFS dedupが走ってる鯖でvmを削除しようとしたら、.vhdxが削除出来ず、いろいろトラブルに。
ACLかと思って見てみたらそもそも表示出来ず。Ownerかとtakeownしてみたが拒否られる。
これはopenfilesだにゃ、とやってみてもリストに出てこにゃい。
ということでStop-DedupJob連打したら消せた、というか勝手に消えた。
あらゆるファイルが削除不能にゃ場合があることを前提としてスクリプトにゃり組まにゃいとダメみたい。
dir1\hoge.vhdxを
dir2\hoge.vhdxにするのは出来たので、急ぎの場合はこれで何とか凌ぐといったところか。
▼ Hyper-V 関連記事
▼ GATE 自衛隊 彼の地にて、斯く戦えり 関連記事
▼ 紅殻のパンドラ 関連記事
Teamにゃど弄った場合に、2回再起動しにゃいとNICの速度にゃどの情報が取れておらず正常にコネクション数が増えにゃいことがある。
最も速いリンク速度のNICが使われるので、10Gと1GのNICがあると10GのNICだけが使われる。
チーミングすると合計帯域のチームNICが出来上がるので、1G2本Teamと1G3本Teamがあると後者だけが使われる。
Teamを作っても物理NICベースでコネクションが作られるのでとりあえず全部Teamに放り込んでおけば良い、と言われているがVLAN使ってるとどうもそういう風には見えにゃい。何本束ねてもコネクションは1本にしかにゃらず負荷分散は特定条件でTeamが行ってる印象しか受けにゃい。
Hyper-Vのvm上ではそれぞれ10GのvNICとして認識する。あとホストチームに参加出来るようにする、をONしとかにゃいと検知されにゃい。このあたりはHyper-Vとの嫌にゃ兼ね合いの話ににゃり、vmでSMBマルチして高速転送したければホストに物理NIC大量に積めという結論ににゃる。