【Windows】Windows Server バックアップの特定のシャドウコピーを消したい

背景

Windows 2008 から標準搭載されている「Windows Server バックアップ」ですが、コマンドラインでも動かせて、昔の「NT バックアップ」よりはるかに使い勝手が良いです。

ただ、履歴管理はできなく、ネットワーク越しに取得すると 1 世代しかとれないわ(標準では)、履歴管理はできないわと、ファイルサーバーのバックアップにはあまり向かないようです。

が、標準ですので使っている方も多々いらっしゃいます。

専用ボリュームに取得すれば、古いシャドウコピーも勝手に消されるので、これはこれで便利。のはずなのですが、まれに古いシャドウコピーが削除されずに「保存対象がいっぱいです」みたいな感じでバックアップが永遠に取得できなくなることがあります。

経験上、OS のバージョンが上がっても解消されていないので、ここでは古いシャドウコピーを削除する方法をまとめておきます。

設定内容(画面ショットは Windows 2008 R2 ですが、2012/2016 でも大丈夫です)

1.最初にシャドウコピーの履歴を確認します

コマンドプロンプトから、以下のコマンドを実行します

・vssadmin list shadows /for=<BackupTarget>

<BackupTarget>:Windows Server バックアップで保存先にしているボリューム名です。
Z: とかです

※上記の場合は履歴が一つしかありませんが、状況によっては複数あることもあります。その場合は、結果を以下のようにリダイレクトすると以降の作業時に楽です。

・vssadmin list shadows /for=<BackupTarget> > C:\user\administrator\desktop\vsslist.txt

2.消したいシャドウコピーの「シャドウコピーID」を確認します

項番1 で指定したボリュームに存在するシャドウコピーの一覧で、削除対象のシャドウコピーの「シャドウコピーID」を確認します

シャドウ コピー ID: {be9243d9-42f7-41d8-aa22-7b18e71a0062}

 3.diskshadow ユーティリティを起動します

コマンドプロンプトを開き、以下のコマンドを実行します

・ Diskshadow

4.シャドウコピーを削除します

項番2 で確認した「シャドウコピーID」を削除します。

DISKSHADOW> の後に、以下のコマンドを入力します。

・DELETE SHADOWS ID <削除したいシャドウコピーID> <ターゲットボリューム名>

項番1 を例にすると、以下のようになります。

・DELETE SHADOWS ID {be9243d9-42f7-41d8-aa22-7b18e71a0062} G:

5.余談

項番4 でシャドウコピーを消す際に、「一番古いのを消したい」とか「ぜんぶ消してしまいたい」とかの場合は、そういうオプションも用意されてます。

例えば、「一番古いシャドウコピーを消したい」のでしたら、以下のコマンドで OK です。一番古い[10 世代分]を消したければ、このコマンドを 10 回繰り返すことで実現できます。

・DELETE SHADOWS OLDEST G:

DELETE SHADOWS { ALL | VOLUME <ボリューム> | OLDEST <ボリューム> | SET <セット I
D> | ID <シャドウ ID> | EXPOSED <ドライブ文字、マウント ポイント、または共有> }

シャドウ コピー (永続と非永続の両方) を削除します。

ALL すべてのシャドウ コピー。
 VOLUME <ボリューム> 指定したボリュームのすべてのシャドウ
 コピーを削除します。
 OLDEST <ボリューム> 指定したボリュームの最も古いシャドウ
 コピーを削除します。
 SET <セット ID> <セット ID> パラメーターで指定した
 シャドウ コピー セット内のシャドウ コピーを削除します。
 ID <シャドウ ID> <シャドウ ID> パラメーターで指定した
 シャドウ コピーを削除します。
 EXPOSED <露出名> 指定したドライブ文字、マウント ポイント、
 または共有に露出しているシャドウ コピーを削除します。

例: DELETE SHADOWS ALL
 DELETE SHADOWS EXPOSED p:
 DELETE SHADOWS EXPOSED 共有名

【Zabbix】Windows のプロセス監視で「コマンドライン」まで指定したい

背景

Zabbix のアイテムとしてプロセス数を取得する「proc.num[xxxx]」があります。

こちらは純粋に「上がっているプロセス数」を返してくれます。

Zabbix のマニュアルによると、オプションがいろいろあるのですが、Windows だと制限がありまして、コマンドラインを指定して値を取得することが出来ないんです。

URL↓

https://www.zabbix.com/documentation/2.2/jp/manual/config/items/itemtypes/zabbix_agent

でも、同じプロセス名(例えば java.exe)でも、コマンドラインまで確認して監視したい、なんて要望はあります。

こちらの設定、非常に簡単で設定できるので、こちらに記載します。

設定内容(画面ショットは 2.0 ですが、3.0 系でも大丈夫です)

1.最初にアイテムを作成します

対象のホストにて、[アイテム]を選択し、右上にある「アイテムの作成」ボタンを押します。

以下の画面のように作って頂ければと。

名前:Process_java.exe-1(任意です)
タイプ:Zabbixエージェント
キー:java1_procnumcheck(任意です。が、ホスト内でユニークになるように設定する必要があります)

2.ホスト側の[zabbix_agent.conf]を修正します

Zabbix Agent をインストールしたフォルダにある zabbix_agent.conf をエディター(Windows 標準なら、ワードパッドが良いです)で開きます。

セクション[UserParameter]部分に、以下のように追記します。

・UserParameter=java1_procnumcheck,wmic process where “name = \”java.exe\”” get commandline | find /v “CommandLine” | find /c “特定する文字列”

### Option: UserParameter
# User-defined parameter to monitor. There can be several user-defined parameters.
# Format: UserParameter=<key>,<shell command>
# Note that shell command must not return empty string or EOL only.
# Example: UserParameter=system.test,echo 1
UserParameter=java1_procnumcheck,wmic process where "name = \"java.exe\"" get commandline | find /v "CommandLine" | find /c "特定する文字列"

何を記載しているかと言うと、文法に則ってます。

文法:UserParameter=<key>,<command>

<key>には、項番1 で作成した「キー」を記載します。これで、対応した「キー」に対してアイテムをホスト側からサーバーへ送ることが出来ます。

<command>には、取得したい「値」を 1 行コマンドラインで取得できるように記載します。この場合は、wmic コマンドを使って、[java.exe]のコマンドラインを取得して、このプロセスでしか使っていない「文字列」を検索して、行数をカウントしてます。

Windows に関しては、値を取得するコマンドを 1 行で記載できれば、以外と簡単に取得できます。コマンドはいろんな方がブログ等で公開してくれているので、まずググってみましょう。

3.仕上げ

項番2 のように[zabbix_agent.conf]を記載できたら、Zabbix Agent のサービスを再起動しましょう。でないと、設定が反映されないです(よく忘れます)。

希望通りの「値」が取得できていることを確認できれば、あとはこのアイテムに対してトリガーをセットすれば、OK です。

【Zabbix】通常のアイテム設定で取得できないプロセス数を取得する

背景

Zabbix のアイテムとしてプロセス数を取得する「proc.num[xxxx]」があります。

正しいプロセス名を指定しているにもかかわらず、取得できないことがあります。

いろんな方から同じような質問を頂くのですが、非常に簡単で設定できるので、こちらに記載します。

設定内容(画面ショットは 3.0 ですが、2.0 系でも大丈夫です)

0.作業の前に

今回監視しようとしているのは、例えば[Dovecot]を動かしているときに起動しているはずの[dovecot/anvil]です(以下のコマンド結果を参照。一部伏せ字)。

こちらを Zabbix のアイテムで「proc.num[“dovecot/anvil”]」を作っても、取得できない場合がありました

# systemctl status dovecot.service
dovecot.service - Dovecot IMAP/POP3 email server
 Loaded: loaded (/lib/systemd/system/dovecot.service; enabled)
 Active: active (running) since Tue, 15 Nov 20xx tt:mm:ss +0900; 16s ago
 Main PID: xxxx (dovecot)
 CGroup: name=systemd:/system/dovecot.service
 ├ xxxx /usr/sbin/dovecot -F
 ├ xxxx dovecot/anvil
 ├ xxxx dovecot/log
 └ xxxx dovecot/config

 

1.最初にアイテムを作成します

対象のホストにて、[アイテム]を選択し、右上にある「アイテムの作成」ボタンを押します。

以下の画面のように作って頂ければと。

名前:Process_dovecot_anvil(任意です)
タイプ:Zabbixエージェント
キー:dovecot_anvil_procnumcheck(任意です。が、ホスト内でユニークになるように設定する必要があります)

2.ホスト側の[zabbix_agent.conf]を修正します

/etc/zabbix/zabbix_agent.conf を vi とかで開きます。

セクション[UserParameter]部分に、以下のように追記します。

・UserParameter=dovecot_anvil.procnumcheck,ps aux | grep “dovecot/anvil” | grep -v “grep” | wc -l

### Option: UserParameter
# User-defined parameter to monitor. There can be several user-defined par
ameters.
# Format: UserParameter=<key>,<shell command>
# See 'zabbix_agentd' directory for examples.
#
# Mandatory: no
# Default:
# UserParameter=
UserParameter=dovecot_anvil.procnumcheck,ps aux | grep "dovecot/anvil" | grep -v
 "grep" | wc -l

何を記載しているかと言うと、文法に則ってます。

文法:UserParameter=<key>,<command>

<key>には、項番1 で作成した「キー」を記載します。これで、対応した「キー」に対してアイテムをホスト側からサーバーへ送ることが出来ます。

<command>には、取得したい「値」を 1 行コマンドラインで取得できるように記載します。この場合は、aux コマンドを使って、[dovecot/anvil]が上がっているかを確認した後に、その「行数」を返すように記載してます。

3.仕上げ

項番2 のように[zabbix_agent.conf]を記載できたら、Zabbix Agent をリスタートしましょう。でないと、設定が反映されないですね。

希望通りの「値」が取得できていることを確認できれば、あとはこのアイテムに対してトリガーをセットすれば、OK です。

 

ARCserveUDPバージョンアップ方法

■本記事の背景

バックアップソフトARCserveUDPのバージョンアップをする機会があったが、バージョンアップ用に「特別な手順が必要なのか?」と考えてしまったため、バージョンアップの手順を下記に纏めることにしました。
(結局、インストーラの画面に従い、画面を進めるだけでバージョンアップができました。詳細は下記をご参照ください。)

 

<手順>
1.対象サーバにログインします。

2.事前確認
※バージョンアップに伴う、変更点がないかどうかを事前に確認しておきます。
【確認項目】
・「環境設定」タブの「一般
・「電子メールアラート」
・「更新」

3.インストーラーの実行(更新作業)
「Setup.exe」を実行する
「日本語」を選択し、「OK」を選択する。
「使用許諾契約に同意します」を選択し、「次へ」を選択する。
「arcserve Unified Data Protection – エージェント」が選択されていることを確認し、「次へ」を選択する。

インストール先フォルダを確認し、「次へ」を選択する。
D2Dで使用していたプロトコルとWindowsファイアウォールに登録するポート番号が指定されていることを確認する。
Windows管理者の名前「ユーザー名」「パスワード」に変更がなければ「次へ」を選択する。

利用するプログラムをWindowsファイアウォールの例外として登録し、「インストール」を選択する。
「完了」を選択する。
「はい」を選択し、再起動を実行する。

4.ライセンス登録
管理者でログインする。
ライセンスキーの登録
タスクトレイ上にある、UDPエージェントのアイコンを右クリックする。
「拡張」 > 「ライセンス」を選択する。
ライセンスキーを入力し、「追加」を選択する。
ライセンスキーが登録されたことを確認し、「OK」を選択する。

5.設定の確認
「環境設定」タブの「一般」「電子メールアラート」「更新」の設定内容を確認する。
設定されていたバックアップジョブが正常に動作していることを確認する。

ForimailのGUIの各種設定方法(2)

■本記事の背景
ForimailでGUIでログインしてから、「まず初めに何をしたらいいのか?」が
わかりませんでしたので、設定の第一ステップの「ライセンスアップデート」、
「言語設定」、「管理者パスワード」の設定、画面を下記に記載します。

 

<手順>
1.対象サーバにログインします。

2.Fortigate Virtual Appliance ライセンスアップデートをします。

GUI より Fortigate Virtual Appliance へログインします。
初期設定時のログインアカウントは下記の通りです。
ログイン ID : admin
パスワード : なし

「Upload」をクリックします。
※Fortigate-VM には 14 日間の無償ライセンスが付与されているため、ステータスは「Valid」となっております。

「参照」ボタンよりライセンスファイルを指定し、OK をクリックします。

※ライセンスアップデートには機器のリブートが発生します。リブート後、装置へアクセスは出来ますが、 ライセンス認証の完了前ではエラーメッセージが表示されます。

3.管理画面を日本語表示にします。

左メニュー「Admin」→「Settings」をクリックしてください。 「View Settings」の「Language」を 「Japanese」に変更し、 画面下部の「Apply」をクリックしてください。

日本語になっていることを確認します。

4.管理者パスワードの設定をします。
左メニュー「ダッシュボード」→「Status」をクリックしてくださ い。

「システムステータス」の「現在の管理者」右の「パスワード変更」 をクリックしてください。

「パスワードの編集」のポップアップウィンドウが開きますので、 パスワードを入力し「OK」をクリックしてください。
※次回からの管理画面のログインは、入力したパスワードが必要となります。

 

ForimailのGUIの各種設定方法(1)

■本記事の背景
サポートからの手順書等には、英語で書かれており、理解するには
逐一翻訳する必要があり、設定に時間がかかってしまった記憶が
あります。
日本語にて手順を記載しておりますので、設定の際、参照頂ければ
時間がかからずとも設定できるかと思います。

Fortimailの「インターフェイス」、「.VLAN タグ」、「デフォルトゲートウェイ」の設定する際の手順を記載しております。

<手順>
1.Fortigate Virtual Appliance へログインします。
初期設定時のログインアカウントは下記の通りです。
ログイン ID : admin
PW:なし
※マウスの操作を Windows 側に戻すには、「Ctrl」+「Alt」 をクリックします。

2.インターフェースの設定をします。
【コマンド】
config system interface
edit [port 番号]
set ip [IPaddress/Subnet mask]
set allowaccess [管理アクセス用プロトコル] ←設定したプロトコルでのみ Fortigate へのアクセスが可能です。
end
※IP 等パラメータはインストールする環境に合わせて変更ください。

3.VLAN タグの設定をします。
VLAN タグを使用する環境の場合は以下のコマンドを実行し、物理ポートではなく VLAN インターフェースを作成します。
設定不要な場合は次へ進みます。

【コマンド】
config system interface
edit [VLAN 名]←任意でつけることが可能です。
set interface [VLAN に所属させるポート]
set vdom root
set type vlan
set vlanid [VLAN ID]
set ip [ip address/Subnet mask]
set allowaccess [管理アクセス用プロトコル] ←設定したプロトコルでのみ
Fortigate へのアクセスが可能です。
end
※IP 等パラメータはインストールする環境に合わせて変更ください。

4.デフォルトゲートウェイ設定をします。
以下のコマンドを実行し、デフォルトゲートウェイを設定します。
【コマンド】
config router static
edit 1
set device [port 番号]※VLAN インターフェースを使用している場合はそれを指定します。
set gateway [gateway IPaddress]
end
設定後の疎通確認は、「execute ping [IPaddress]」のコマンドをご利用ください。
※IP 等パラメータはインストールする環境に合わせて変更ください。

5.オートアップデートトンネルの設定(プロキシサーバを経由する場合のみ) をします。
プロキシサーバを経由しインターネットアクセスする場合は以下の設定を実施します。

不要な場合は次へ進みます。
【コマンド】
config system autoupdate tunneling
set address [プロキシサーバの IPaddress]
set port [ポート番号]
set username [ユーザ名]
set password [パスワード]
set status enable
end
※IP 等パラメータはインストールする環境に合わせて変更ください。
※ユーザ名とパスワードは必要に応じて設定してください。

Forimailのデプロイ方法、初期設定

■本記事の背景
手順書等が手元になく、サポートからデプロイする際の端的な資料も
貰えなかったため、作業において、どのような画面になるか見当がつかず
設定できるまで不安でした。
下記の画面をご参照頂き、設定内容を確認頂けるとスムーズに設定が
できるかと思います。

 

1.対象のvSphere Clientでログオンします。

2.OVFテンプレートのデプロイを実施。

3.対象のファイルを選択肢、「次へ」をクリックします。

4.ホスト名を入力し、「次へ」をクリックします。

5.状況に合わせて選択肢、「次へ」をクリックします。

※「シンプロビジョニング」の選択が推奨です。

6.ネットワークを選択肢、「次へ」をクリックします。

7.内容を確認し、問題がない場合は、「終了」をクリックします。

SSL 証明書 更新作業(keytool)

■本記事の背景
(Javaの)keytoolsを使ってSSL証明書を更新する稀なケースが
ありました。
多くの人に聞いたり、検証を繰り返すなど、試行錯誤して証明書の
更新作業を実施することができましたので、下記に(Javaの)keytoolsの
更新作業を手順を記載します。※経験上、「3」の項目は、非常に大事なため、必ず実施頂いた方がよいと思います。

<手順>
1.対象サーバにログインします。

2.設定ファイルのバックアップ
D:\Tomcat70\conf\server.xmlを保管目的でコピーし、下記の名前をつけて保存する
ファイル名:server2018_0427_before.xml

3.導入(秘密)キーのバックアップ
D:\programfiles\java\jre7\bin のprivate2018_kensho_0427はコピーして下記の名前で
バックアップとっておく。
ファイル名:private2018_kensho_0427_1dounyuumae.key

4.証明書の準備
「ルート証明書」の内容を下記の名前をつけて保存。
kensho_0427_1_CaRoot.cer

<中間CA>
認証機関からのメールの「中間CA証明書」からリンクをたどり、
SSLサーバ証明書用 「中間CA証明書」の内容を下記の名前をつけて保存。
kensho_0427_1_server-ca2018.crt

<サーバ証明書>
認証機関からのメールの本文から

「■B) X.509形式 (Apacheを代表とするサーバ(Microsoft IIS以外)用)」の証明書を下記の名前で保存。
kensho_0427_1_server2018.crt

5.証明書の設置
D:\Program Files\java\jre7\bin\ に格納する

6.ルート証明書のインストール(kensho_0427_1_CaRoot.cer)
コマンドプロンプトから下記を実行する
keytool.exe -import -alias ca -file kensho_0427_1_CaRoot.cer -keystore private2018_kensho_0427 -storepass apple

7.中間証明書のインストール(kensho_0427_1_server-ca2018.crt)
keytool.exe -import -alias caroot -keystore private2018_kensho_0427 -trustcacerts -file kensho_0427_1_server-ca2018.crt
※ailias名:caroot

8.サーバ証明書のインストール(kensho_0427_1_server2018.crt)
keytool.exe -import -alias ringo -keystore private2018_kensho_0427 -trustcacerts -file kensho_0427_1_server2018.crt
※ailias名:ringo

※alias:kasai ※CSR作成時と同じもの

9.対象ファイルを移動させる
D:\Tomcat70\conf\SSL\2018\0427 にprivate2018_kensho_0427をコピーして貼り付ける

10.設定ファイルの編集
server.xml を編集する
<変更後>
keystoreFile=”D:\Tomcat70\conf\SSL\2018\0427\private2018_kensho_0427 ”
keystorePass=”apple”
keyAlias=”apple”

11.サービスの再起動
Apache tomcat 停止 → Apache tomcat 起動 を実行

12.証明書の更新確認
https:サイトのURL をブラウザにうち、鍵マークの証明書の期限が延長されていることを確認します。

SSL 証明書 事前作業(keytool)

■本記事の背景
(Javaの)keytoolsを使ってSSL証明書を更新する稀なケースが
ありました。
多くの人に聞いたり、検証を繰り返すなど、試行錯誤して証明書の
更新作業を実施することができましたので、下記に(Javaの)keytoolsの
事前作業を手順を記載します。

<手順>
1.対象サーバにログインします。

2.パス移動
コマンドプロンプトから下記を実行
D:
cd D:\Program Files\java\jre7\bin
(keytool.exeが格納している場所まで移動する)
※補足
keytool.exeが0バイトの場合は、下記の配下からコピーする
Programfiles>Java>jdk17.5>bin

3.秘密キー作成
keytool.exe -genkey -alias apple -keyalg RSA -keysize 2048 -keystore private2018_kensho_0427.key

(入力例)
パスフレーズ:apple
姓名を入力してください:test1.co.jp
組織単位名を入力してください:information system
組織名を入力してください: TEST KOGYO CO., LTD
都市名または地域名を入力してください:SAITAMA
都道府県名を入力してください:KOSHIGAYA
この単位に該当する2文字の国番号を入力してください:JP

上記のコマンド例の場合、 private2018_kensho_0427.keyが出来ることを確認する

4.対象サーバにてCSRの作成
keytool.exe -certreq -sigalg SHA1withRSA -alias ringo -file server2018_kensho_0427_1.csr -keystore private2018_kensho_0427.key

上記のコマンド例の場合、 server2018_kensho_0427_1.csrが出来ることを確認する

5.CSRの情報を認証機関に申請します。

SSL 証明書 更新作業(IIS)

■本記事の背景
通常、SSL証明書が入っているサーバは、Apacheを使っている
ことが多いため、IISでSSL証明書を更新する機会があまり、ありませんでした。
そのため、手順の確認から作業の時間を多くかかってしまいました。

このブログを参照頂ければ、更新に伴う手順がわかるよう記載致します。

<手順>
1.対象サーバにログインします。

2.証明書の設置
インターネットインフォメーションサービス(IIS)マネージャを開き、
サーバ証明書アイコンをダブルクリックします。

右側の操作メニューの、「証明書の要求の完了」をクリックします。

フレンドリ名を付けてOKをクリックします。
例)
フレンドリー名: verisign2018

■注意事項■

Windows 7 / Windows Server 2008 R2 環境のIIS 7.5では、PKCS7形式の証明書をインストールする際「この証明書ファイルに関連付けられた証明書の要求が見つかりません。要求を作成したコンピュータで、証明書の要求を完了する必要があります。」というメッセージが表示されることを確認しております。
警告が表示されますが、証明書のインストールはされておりますので、キャンセルボタンで画面を閉じ次のステップにお進みください。

左側「接続」メニューで証明書の設定を行う「Webサイト」を選択し、
右側「操作」メニューの「バインド」をクリックします。

既にhttpsのバインド設定が存在しますので、それを選択して「編集」
ボタンを押します。
httpsのバインド設定を行い、先程設定したコモンネームをプルダウンから選択し、OKをクリックします。

3.証明書の更新確認
https:サイトのURL をブラウザにうち、鍵マークの証明書の期限が延長
されていることを確認します。