2017年10月15日日曜日

Windows Server 2012 R2上のHyper-Vにて、Windows Serverバックアップが失敗する

Windows Server 2012 R2上のHyper-Vにて、CentOS6な仮想マシンを動かしている場合、
WindowsServerバックアップで謎のエラーが発生し失敗することがあります。
(なお、Ubuntu16.04は問題ない)
バックアップに成功しましたが、スナップショット内でバックアップ済みの一部のコンポーネントに不整合があります。このコンポーネントが属しているアプリケーションは、このバックアップが回復に使用された後で正しく機能しなくなる可能性があります。
どうも仮想マシンのバックアップを取るのにVSSを使っているようですが、
これがCentOS6な仮想マシンだとVSSが失敗するようです。
で、解決法は、CentOS6内にHyper-V用のVSSデーモンをインストールします。

yum install hyperv-daemons
トラブルだらけでもう疲れたよ・・・


Windows 10で回復ドライブからリカバリ後回復パテーションが見える

回復ドライブから無事リカバリできたかと思えば、まぁそう簡単にはいかないのがWindows…
今度はなぜか非表示のはずの回復パテーションが見えている(汗
しかも、ディスクの管理からはアクティブパテーションとなっており、回復パテーションと認識すらされていない・・
大丈夫か?Windows10

という訳で直します。
まずはwindowsキー+Xでコマンドプロンプト(管理者)を実行します。
次にdiskpartを実行します。
select disk 0で0番目のディスクを選択。
list partitionでパテーションを確認。回復パテーションがある番号を確認します。
ここでは3番目にあるとします。
select partition 3でパテーションを選択し
set id = 27
で回復パテーションIDを書き込みます。(これはMBRの話して、UEFIの場合は違うようです。詳しくはここを参照) removeで割り当てられたドライブレターを削除し、exitで終了です。

再起動しても非表示のままであればOKです。

Windows 10 で回復ドライブからSSDへリカバリできない。

Windows 10がプリインストールされたノートPCを購入したのですが、さっそく安全のため回復ドライブを作成後、SSDへ換装し、リカバリを試みましたが、
SSDのほうが容量が小さいため、リストア時

システムドライブが小さすぎます
というエラーが出てリストアできません。クソが
リカバリディスクが付属しない昨今、異なる容量のディスクにリカバリできないのはかなり問題です。
公式DVDイメージをDLしてもライセンスキーが通るかも不明ですし・・・

とググるとドスパラさんの例が出ました。
しかし、試したところ効果なし。
回復ドライブ自体8GBで足りているので、展開できないわけではないはず。
という事はどこかでサイズを覚えているのだろう。と当たりをつけて、回復USBを漁ったところ、
sources\$PBR_ResetConfig.xmlを発見。
この中に
    <MinSize>289982</MinSize>
とあったので、10240とか適当に小さくしてみると、無事動きました。

なお、
sources\$PBR_Diskpart.txtにある
shrink minimum=1000
に設定すると、回復パテーションが1GBで作成されます。
デフォルトだと容量が小さすぎて、複数の回復パテーションが出来ることがあるそうですので、大きくしておきます。

これがわかるまで丸二日つぶしました・・・Orz

2017年10月13日金曜日

Windows Server 2012 R2でWindows Server バックアップをNASにすると失敗する

Windows Server 2012 R2でWindows Server バックアップを利用し、NAS(TeraStation)へバックアップを取ろうとしたところ、以下のようなエラーがイベントログに記録されただけで、とくにダイアログも出ず、黙って失敗していました

次のエラー コード '0xC03A0005' (このバージョンでは、このファイル形式のバージョンはサポートされません。) のため失敗しました。イベントの詳細で解決策を確認し、問題の解決後にバックアップ操作を再実行してください。

ググってもいまいちピンとこないものばかりなのですが、どうやらバックアップ取得先のNASがLinux系で、Sambaで動作している場合その記録方式によってはエラーになるようです。参考

対応方法は、NASのバックアップ先共有ディレクトリのsmb.confに次の設定を追記します。

strict allocate = yes

といっても、TeraStationは/etc/samba/smb.confに追加しても、再起動時設定を作り変えているようで消えてしまいます。
なので、Web画面で共有ディレクトリの操作をする際に気を付ける。という事で、
自分はバックアップ先共有ディレクトリを一番最後に追加し、設定が自動生成された後に設定を追記するように細工しました。

具体的には、
/etc/init.d/smb.sh
configure()
{
        ## configure files from Buffalo parameters.
        echo "configure samba"
        touch /etc/printcap
        /usr/local/sbin/nas_configgen -c samba
        if [ $? -ne 0 ]; then
                echo "$0 configure fail"
                exit 1
        fi
        echo "strict allocate = yes" >> /etc/samba/smb.conf #追記
}
これで、/etc/samba/smb.cnfの最後に設定が追記されます。