Backup ExecでHyper-V仮想マシンバックアップ/リストア時にGRT用テンポラリディレクトリは使われるのか?


Backup ExecではHyper-V/vSphereの仮想マシンバックアップを仮想レイヤーの方からバックアップを行った場合、その仮想マシンの上でWindowsが動いている場合は、ファイル単位でのリストアを行えるGRT機能というのをサポートしている。

で・・・Backup Execの設定を見ていくと、全体設定の中に
・Granular Recover Technology
  バックアップ時にBackup Execが一時的にデータを保存するパス C:\TEMP
  リストア時にBackup Execが一時的にデータを保存するパス   C:\TEMP
というものがある。

仮想マシンバックアップ時にC:\TEMPを観察してみたけど、使用している様子が見受けられない。
不思議に思って調べてみた

Veritas Backup Exec 管理者ガイド「Granular Recovery Technology」の「Granular Recovery Technology を使うバックアップ用の推奨デバイス」

ディスクデバイス、重複排除デバイス、およびディスクカートリッジデバイスに送信された GRT 対応のバックアップジョブの暗号化を有効にすると、Backup Exec は詳細バックアップセットを暗号化された形式でディスクに格納しません。GRT 非対応のバックアップソースのバックアップセットのみが暗号化型式で格納されます。 クラウド、OpenStorage、およびテープデバイスに送信されるバックアップジョブのすべてのバックアップセットは、暗号化型式で格納されます。

ファイルサイズの制限があるボリューム上でディスクストレージデバイスを使う必要がある場合、Backup Exec ではステージングの場所が必要です。 Backup Exec はバックアップジョブの実行中に少しのメタデータをステージングの場所に一時的に格納します。 バックアップが終了したら、ステージングの場所からデータを削除します。 ただし、ファイルサイズの制限がないボリューム上のディスクストレージデバイスを宛先として使う場合、ステージングの場所は必要ありません。

ステージングの場所のデフォルトのパスは C:\temp です。

テープ装置などを使っている場合はステージングの場所が必要。
ローカルのNTFSディスクやCIFS共有を使っている場合は、「ファイルサイズの制限に制限がないボリューム」なので、ステージングの場所は不要。

というわけで、今回テストした環境は、CIFS共有をバックアップ保存先としていたため、ステージング領域が不要であった。ということのようでした。

HPE ProLiantのiLOコンソールにアクセスするためのWindows用単体アプリケーション


HPのProLiantサーバに搭載されているiLOのリモートコンソール機能。
いままで、いつもiLOにログインしてからJava/.NETアプリケーションを起動していた。

でも、マニュアルを読んでいたら、HPE Lights-Outスタンドアロンリモートコンソール for Windows、なるアプリケーションがあるということを発見。

・「HPE Lights-Outスタンドアロンリモートコンソール for Windows

iLO3,iLO4,iLO5対応でISOマウントもこのアプリで行うことができる。

DELL PowerEdgeとHPE ProLiantでUbuntuを動かす場合の管理ソフト


RHELと同じようにUbuntuの場合にも管理系ソフトウェアが存在しているので、そのメモ

DELL EMC OpenManage Ubuntu & Debian Repositories
srvadmin-all — Install all OMSA components
srvadmin-base * — Install only base OMSA, no web server
srvadmin-idrac * — Install components to manage iDRAC
srvadmin-idrac7 * — Install Racadm for iDRAC7
srvadmin-idracadm8 — Install Racadm for iDRAC8 and above
srvadmin-webserver * — Install Web Interface
srvadmin-storageservices * — Install RAID Management
syscfg* — Install SysCfg
raidcfg* — Install RaidCfg
dcism — Install iDRAC Service Module

DELL EMC System Update (DSU)
UbuntuではDELL PowerEdge 12G,13Gサーバのfirmwareアップデートのみサポート。

HPE Management Component Pack
hp-health HPE System Health Application and Command line Utilities (Gen9 and earlier)
hponcfg HPE RILOE II/iLO online configuration utility
amsd HPE Agentless Management Service (Gen10 only)
hp-ams HPE Agentless Management Service (Gen9 and earlier)
hp-snmp-agents Insight Management SNMP Agents for HPE ProLiant Systems (Gen9 and earlier)
hpsmh HPE System Management Homepage (Gen9 and earlier)
hp-smh-templates HPE System Management Homepage Templates (Gen9 and earlier)
ssacli HPE Command Line Smart Storage Administration Utility
ssaducli HPE Command Line Smart Storage Administration Diagnostics
ssa HPE Array Smart Storage Administration Service

UEFIブートのサーバでWindows Server 2016のインストール用USBメモリが起動しない


hpeのProLiantサーバにWindows Server 2016をインストールする場合、通常はIntelligent Provisioning を使う。
しかし、Administratorパスワードが不明な場合、Windows Server 2016の標準ISOイメージのレスキューモードで起動することになるのだが、Smart Array B140i用のドライバが含まれていないため、内蔵ディスクが見えない。

対処するためにはISOイメージ内のsources\boot.wim にDSIMコマンドを使ってAdd-driverすることになる。

手順は「Windows インストールメディアにドライバーを追加する」にあるものをほぼそのまま使った
1. 作業用Windows10を用意
2. Windows ADK 1709の「Deployment Tools」と「Windows Preinstallation Environment (Windows PE)」をインストール
3. メニューの登録されている「展開およびイメージング ツール環境」を選択してコマンドプロンプトを起動
4. 「copype amd64 c:\work\pe_x64」(今回、C:\work を作業用ディレクトリとした)でWindows PE環境を展開
5. C:\work\iso にWindows Server 2016 ISOの中身をコピー
6. マウント用ディレクトリ c:\work\offline を作成
7. 「dism /get-imageInfo /imagefile:”C:\work\iso\sources\boot.wim”」でインデックス番号を確認
 インデックス1とインデックス2があることを確認
 レスキューの際にどちらを使うかわからないので、とりあえず両方使う

8. まずインデックス1をc:\work\offlineにマウント
「dism /mount-image /imagefile:”C:\work\iso\sources\boot.wim” /index:1 /mountdir:”C:\work\offline”」

9. smart array b140i用のドライバをc:\work\hpedriver に展開

10. ドライバを追加。複数ある場合も考慮して、/recurseオプション付きで実行
「dism /add-driver /image:”c:\work\offline” /driver:”c:\work\hpedriver” /recurse」

11. ドライバが追加されたことを確認
「dism /get-drivers /image:”c:\work\offline”」

12. アンマウントする
「dism /unmount-image /mountdir:”c:\work\offline” /commit」

13. 今度はインデックス2に対して実行
「dism /mount-image /imagefile:”C:\work\iso\sources\boot.wim” /index:2 /mountdir:”C:\work\offline”」

14. ドライバを追加。複数ある場合も考慮して、/recurseオプション付きで実行
「dism /add-driver /image:”c:\work\offline” /driver:”c:\work\hpedriver” /recurse」

15. ドライバが追加されたことを確認
「dism /get-drivers /image:”c:\work\offline”」

16. アンマウントする
「dism /unmount-image /mountdir:”c:\work\offline” /commit」

17. oscdimgコマンドを実行してISOイメージの作成
「oscdimg -m -o -u2 -udfver102 -bootdata:2#p0,e,bc:\work\PE_x64\fwfiles\etfsboot.com#pEF,e,bc:\work\PE_x64\fwfiles\efisys.bin c:\work\iso c:\work\win2016-new.iso」

これで、作成したISOイメージをFAT32でフォーマットしたUSBメモリにコピーしようとしたところ、install.wimのコピーで失敗。
原因はinstall.wimのサイズがFAT32制限である4GB以上の約6GBであるため。

NTFSもしくはexFATでフォーマットしなおしたところ、コピーはできたものの、サーバ側で起動ディスクとして認識せず。
UEFIの場合、ファイルシステムがFAT32であること、という前提がある模様。
この制限については、マイクロソフトの「起動可能な USB フラッシュ ドライブを作成します。」に記載があった。

サーバー プラットフォームが Unified Extensible Firmware Interface (UEFI) をサポートする場合は、NTFS ではなく FAT32 として、USB フラッシュ ドライブをフォーマットする必要があります。 フォーマットするパーティションを FAT32 として、次のように入力します。 format fs=fat32 quick、し、[入力] をクリックします。

今回の場合は、iLO Advancedライセンスがあったので、isoイメージをiLOからマウントすることで、DVDを作成する必要はなく対応することができた。

しかし、USBメモリを使ってWindows Server 2016のインストールを行う手法があるかどうか
つまりは4GBを超えてしまったinstall.wimをダイエットすることができるのか、分割することはできるのか、という点は不明なままであった・・・


2018/03/13追記

Microsoftの公式記述を発見
手法1「WinPE: Store or split images to deploy Windows using a single USB drive
 USBメモリにパーテーションを2つ作り、FAT32のメイン領域と、NTFSのinstall.wimのみをおく領域を作る、というもの

手法2「Split a Windows image file (.wim) to span across multiple DVDs
Dism /Split-Imageコマンドを使ってinstall.wimをinstall.swmに分割するというもの

Dism /Split-Image /ImageFile:C:\work\iso\sources\install.wim /SWMFile:C:\work\iso\sources\install.swm /FileSize:4000

(上記ページだと4700となっているけど、4GB超えてて大丈夫なの?と心配なので余裕をもって)

postfix/dovecotメールサーバでWindows Live Mail 2012がエラーになる


qmail+vpopmailという古代の環境から、postfix/dovecotのメールサーバに移行した。
移行の詳細については別途記事にしますが、移行後、Windows Live Mail 2012ユーザからクレームが・・・

POP3で受信ができないという
原因は、Windows Live Mail 2012のPOP3アクセス機能が古い、という点に尽きる。
対処するにはサーバ側でセキュリティを弱める設定を入れる必要があった。

その1:POP3受信時にエラー

/var/log/dovecot/pop3.log

Feb 19 10:35:59 oflex-1096-1 dovecot: pop3-login: Disconnected (tried to use disallowed plaintext auth): user=<osakana@example.net>, rip=xxx.xxx.xxx.xxx, lip=xxx.xx.x.xxx, session=<brxUt4ZlTfPbavEx>

→ dovecotの「ssl = required」と「disable_plaintext_auth = yes」の設定により発生
これを「ssl = yes」と「disable_plaintext_auth = no」に変更することで対処できる

設定箇所は下記の3ファイル
/etc/dovecot/dovecot.conf ではsslとdisable_plaintext_authの双方が設定されている可能性がある
/etc/dovecot/conf.d/10-auth.conf ではdisable_plaintext_authが設定されている可能性がある
/etc/dovecot/conf.d/10-ssl.conf ではsslが設定されている可能性がある
3ファイルをそれぞれ確認して修正すること

うちの環境ではssl=requriedがdovecot.confと10-ssl.confの双方で設定されていたが、
10-ssl.confしか認識しておらずいくら設定しても反映されないと悩んだ。

その2:SMTP送信時にエラー1

/var/log/maillog

Feb 19 10:41:49 mailserver.osakana.net postfix/smtpd[8343]: NOQUEUE: reject: RCPT from clienthostname.osakana.net[xxx.xxx.xxx.xxx]: 504 5.5.2 <clienthostname>: Helo command rejected: need fully-qualified hostname; from=<osakana@osakana.net> to=<osakana@example.com> proto=ESMTP helo=<clienthostname>

→postfixの「smtpd_helo_restrictions」で「reject_non_fqdn_helo_hostname」が設定されているため発生

現在値確認

# postconf smtpd_helo_restrictions
smtpd_helo_restrictions = permit_mynetworks permit_sasl_authenticated check_helo_access pcre:/etc/postfix/helo_access.pcre reject_non_fqdn_helo_hostname reject_unknown_helo_hostname
#

変更前の /etc/postfix/main.cf の該当部分

# HELO restriction
smtpd_helo_required = yes
smtpd_helo_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    check_helo_access pcre:/etc/postfix/helo_access.pcre
    reject_non_fqdn_helo_hostname
    reject_unknown_helo_hostname

変更後の /etc/postfix/main.cf の該当部分

# HELO restriction
smtpd_helo_required = yes
smtpd_helo_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    check_helo_access pcre:/etc/postfix/helo_access.pcre
    reject_unknown_helo_hostname
#    reject_non_fqdn_helo_hostname
# postconf smtpd_helo_restrictions
smtpd_helo_restrictions = permit_mynetworks permit_sasl_authenticated check_helo_access pcre:/etc/postfix/helo_access.pcre reject_unknown_helo_hostname
#

その3:SMTP送信時にエラー2

Feb 19 11:04:48 mailserver.osakana.net postfix/smtpd[11966]: NOQUEUE: reject: RCPT from clienthostname.osakana.net[xxx.xxx.xxx.xxx]: 450 4.7.1 <clienthostname>: Helo command rejected: Host not found; from=<osakana@osakana.net> to=<osakana@example.com> proto=ESMTP helo=<clienthostname>

→postfixの「smtpd_helo_restrictions」で「reject_unknown_helo_hostname」が設定されているため発生

変更前はエラー1と同じなので省略

変更後の /etc/postfix/main.cf の該当部分

# HELO restriction
smtpd_helo_required = yes
smtpd_helo_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    check_helo_access pcre:/etc/postfix/helo_access.pcre
#    reject_non_fqdn_helo_hostname
#    reject_unknown_helo_hostname

その4:SMTP送信時にエラー3
/var/log/maillog

Feb 19 11:07:08 mailserver.osakana.net postfix/smtpd[12710]: NOQUEUE: reject: RCPT from clienthostname.osakana.net[xxx.xxx.xxx.xxx]: 454 4.7.1 <osakana@example.com>: Relay access denied; from=<osakana@osakana.net> to=<osakana@example.com> proto=ESMTP helo=<DTCF801>

これはテスト用にセットアップしたアカウントがSMTPポート25を使っていたせいで失敗していた。
ポート587に変更したら成功