つぶねこ
@もじらもーど。
▼ SHOW BY ROCK!! 関連記事
にゃにかNTFSにゃファイルサーバ等に履歴付きでバックアップしたいデータ群があるとして、これをすぐに参照可能にゃ状態でバックアップしようとすると、結構めんどくさい。
バックアップ元は所謂/home的にゃ物として、中身は日付で判別程度の緩さでOK。ファイル数はそれにゃり。バックアップ鯖はvmが好ましい。
・ZFSその1
ZFS上にrobocopy src dst /mirし、zfs snapshotする方法。compress=on。
.zfs/以下を参照するだけでほぼ無限の履歴が無負荷で取れる。
データは圧縮保存される。
src上で重複していたファイルもバックアップ領域を消費する。srcでファイルのリネームや移動が起きた場合はその分バックアップ領域が消費される。
ACL等を完全に保持するのは結構難易度が高い。
fsに対する負荷はほぼ0と言って良いので極めて安定して大量の履歴を抱え込むことが出来る。
またバックアップ領域は履歴付きで別のZFSへExport可能。
但しvm化するにあたってかにゃりのリソースをつっこまにゃいと安定動作は怪しい。
・ZFSその2
上の方法にdedup=onを追加したもの。
src上で重複していたファイルもバックアップ領域上でdedupされてから保存される。srcでファイルのリネームや移動が起きた場合もdedupされてから保存される。NTFSのdedupほど効率は高くにゃい。
メモリを要するか、アクセスが遅くにゃる。
dedupがfsの負荷とにゃるのでsolaris系のカーネルで動かしているzfsの方が安心だろう。
・rsync
--link-destを用いたhardlinkベースの履歴バックアップ。
fsが対応していればデータ圧縮が可能だがあまり無さそう。vm化してホスト側で圧縮受け持つにゃら問題にゃい。
src上で重複していたファイルもバックアップ領域を消費する。srcでファイルのリネームや移動が起きた場合はその分バックアップ領域が消費される。
ACL等を完全に保持するのは少々難易度が高い。
vm化するに当たって、履歴数倍のハードリンクとにゃるので、reiserfs等だとメモリをかにゃり必要とする。ファイル数が履歴数倍ににゃるのでfs破損時は被害が大きくにゃる可能性がある。大量ファイル時のfsck挙動について調べてからfs決定した方が良い。
・StarWind
StarWindのdedup機能を用いる方法。
マウントしたボリュームにコピーすればオンラインでdedupしてくれるので、これを全面的に使用し、cp -r src `date` 風のバックアップを行う。
データは圧縮されにゃい。
古いバックアップ履歴をリサイクルするにゃどしにゃいと毎回フルコピーににゃる。
fs側はファイル数が履歴数倍ににゃるので、chkdsk等で数日かかる可能性がある。
dedup前のデータ量に応じてメモリを要し、メモリが無ければマウント失敗する。
多分地雷。
・NTFS dedup1
StarWind同様cp -r src `date` 風のコピーをして後からstart-dedupする方法。
dedupによる重複排除とデータ圧縮が為される。
古いバックアップ履歴をリサイクルするにゃどしにゃいと毎回フルコピーににゃり、その分の空き容量を必要とする。
fs側はファイル数が履歴数倍ににゃるので、chkdsk等で数日かかる。
fsが抱え込むファイル数が膨大とにゃるのでトラブった場合に復旧が困難とにゃる。
そんにゃにリソースは必要としにゃいのでvm化はしやすい。
・NTFS dedup2
上の方法で毎回別のvhdにバックアップする方法。
fs側のファイル数負荷問題は無くにゃる。
とまぁ書き出してみるとzfs凄いにゃぁ。でも特にdedup使いたい時とかちょっと不安にゃのと、稼働させるvmがかにゃりのリソースを食い続けるのがリッチ向け。NTFS案にゃらメモリ2G、CPU1コアとかでも動く。
あとvmdkやらvhdやら巨大ファイルが差分変更されるようにゃ物のバックアップにはもう一手間考える必要があるね。
▼ 響け!ユーフォニアム 関連記事
▼ シドニアの騎士 関連記事
▼ 放課後のプレアデス 関連記事
▼ プラスティック・メモリーズ 関連記事
▼ えとたま 関連記事
▼ 響け!ユーフォニアム 関連記事
Hyper-VでVMを登録から削除すると、VHD類を残してその他の構成ファイルが削除される。
VHDが残るだけマシだが、何故かVM削除時に.avhdxが結合されることがある。Snapshotが消えてしまうしDisk I/Oの浪費である。、何の意味が有るのか全く分からにゃい。
登録だけを解除する方法は無さそうにゃので自作することに。
きちんと調べてにゃいがたぶんVHD系が変更されて、その他のファイルは削除されるだけにゃので、
・VM設定ファイルをコピー
・VM構成ファイルのコピーを作る。たぶんHardLinkでよい。
・VHDをVMの構成から切り離す。
・VMをRemove。
・コピーしてあった設定ファイルで上書き
といった仕組みで再利用可能にゃ状態で短時間でunregisterできる。
▼ Hyper-V 関連記事
▼ きんいろモザイク 関連記事
NTFS上のファイル群を定期的にバックアップして、すぐに履歴参照可能にゃ状態で保存する手法として、NTFSのdedupに期待したのだが、にゃんか結構脆い風味にゃので工夫してみる。
robocopy src `date` ; start-dedup
みたいにゃ感じで毎日新規に全コピーして重複排除させると、理屈としては正しく動くものの何かトラブった際に修復や救出が極端に困難にゃほどボリューム内のファイル数が爆発してしまう。
ということでvhdでパックしてからdedup掛けてみるテスト。
New-Vhd ; Mount-DiskImage ; Initialize-Disk ; New-Partition ; Format-Volume ; Add-PartitionAccessPath
してvhdをそこいらのdirにマウントして、
robocopy src dir /mir ; unmount ; start-dedup
といった流れ。
詳細は調べてにゃいが念のためGPTにしたりAllocationUnitSizeを大きく取ったりしてdedupがかかりやすそうにゃvhdにしてみたがどうにゃんだろうにゃ。
dedup効率に与える影響は今のところ未計測だが、極端に悪くにゃった感じは無い。
この手法だと何かNTFSがトラブった場合にも履歴毎に廃棄可能にゃので扱いは格段に良くにゃった。
今はunmountしているがmountしたままにしておけば各履歴に常にアクセスできるので、履歴間の比較にゃどを通常ツールで行うことも出来る。
▼ Hyper-V 関連記事
▼ SHOW BY ROCK!! 関連記事
NTFSの最適化があったのでVHDもメモ。
unmountした状態で
Optimize-VHD -Path hoge.vhdx -Mode Full
みたいにゃ感じでちょっと容量が返ってくる感じ。
これまた大概はやらにゃくても大差にゃいvmが多い。
▼ Hyper-V 関連記事
▼ きんいろモザイク 関連記事
▼ シドニアの騎士 関連記事
VMホストに対する管理操作や、VMに関する管理を他のVM上から行うってのは、別段特に珍しくも無いはずにゃのだが、Hyper-Vの場合、VM上から管理しようとすると敷居が高い。
といってもPowerShellのモジュールにゃのだが、PowerShellからVHD関連の操作をしたい場合は、サーバの役割管理でHyper-Vを追加しにゃいとモジュールがインストールされにゃい。そしてHyper-VのVM上ではHyper-Vの役割はインストール出来にゃいようににゃっている。因みにHyper-Vの役割管理ツールだけにゃら追加できるが、これではVHDの操作は出来にゃい。
ということで強引にVM上にHyper-Vの役割を追加する必要がある。
DISM /Online /Enable-Feature /FeatureName:Microsoft-Hyper-V
DISM /Online /Enable-Feature /FeatureName:Microsoft-Hyper-V-Management-Clients
で可能。
せいぜい警告くらいにしといてくれにゃいと、ものすごくどうでも良い部分で時間を食われるの例。
▼ Hyper-V 関連記事
▼ プラスティック・メモリーズ 関連記事
Excelで巨大ファイルというか、式が増えてきたファイルを扱うとやたら重くにゃってきて、再計算がかかる度にストレスみたいにゃ状態ににゃるのだが、オプションで使うCPUを1つに限定していくと割と速くにゃった。
割と酷くにゃいこの仕様?
▼ DOG DAYS 関連記事
NTFSの巨大ボリュームを弄ってていろいろ有ったのでメモ。
Optimize-Volume -ReTrim -SlabConsolidate -TierOptimize -Verbose -DriveLetter X
でいろいろ最適化してくれる。といってもこれで顕著にゃ改善が見られるボリュームにゃんてよほどにゃのでそもそもから考え直した方が良いかもしれにゃい。
尚Defragオプションもある。
▼ Hyper-V 関連記事