Commvault バックアップのWindowsクライアントをPUSHインストールする時のWindows Firewall 設定


Commvaultバックアップは、CommServeからPUSH操作によりWindowsクライアントへのCommvault エージェントのインストールを実施することができる。

その場合に必要なWindows Firewallの除外設定についてのメモ

公式のドキュメント「Prerequisites for Installations Using the CommCell Console」に記載されているが、実際のWindows Firewallテンプレートの記述とあわせていないのでわかりにくい。

試した限りでは「受信の規則」にある下記の3つの既存設定を「規則の有効化」するでいけた

・Windows Management Instrumentaion (DCOM受信)

・ Windows Management Instrumentaion (WMI受信)

・ファイルとプリンターの共有 (SMB 受信)

なお、ping応答もできるようにしたい場合は追加で「ファイルとプリンターの共有 (エコー要求 – ICMPv4 受信)」も有効化する(CommvaultのPUSHインストールにとっては不要)

インストールできるかの確認には、CommServeから「wmic /node:ホスト名 process get」と実行して対象ホストのプロセス一覧が取得出来れば、WMI動作としては問題ない感じです。

なお、CommVaultエージェントインストールにより、「CommVault_Process_1_????」といったルールが大量に登録される。

これは C:\Program Files\CommVault\Simpana\Base\AddFWExclusions.bat にて設定されたルールとなる。

— 2019/08/26追記 —

なんかこの設定だけだとうまくいかない

Visual C++ 2015-2019再頒布可能パッケージがインストールされていない場合に、リモートインストールが失敗することもある模様。

11.20など古い環境では再頒布可能パッケージのインストール検出がうまく動いてないことが原因のようなのだが、エラーメッセージ上は「WMIの設定」としか言ってこないので状況がわからないようになっていた。

再頒布可能パッケージをあらかじめインストールしておくか、クライアント側でcommvault setup.exeを実行するしかないようだ。


2021/09/03追記

Windows Server 2022でリモートインストールを試したところ、今回も同様に「Windows Management Instrumentaion (DCOM受信)」「Windows Management Instrumentaion (WMI受信)」「ファイルとプリンターの共有 (SMB 受信)」の3つの有効化でリモートインストールが可能になりました。

NetBackupでインベントリ操作をコマンドで実行する方法


NetBackupのテープ関連操作は基本GUIから行うことで解説されている場合が多い。

CLIから行う場合の手順について確認した。

NetBackupで管理しているテープチェンジャーの確認「tpconfig -l」

NetBackupでテープチェンジャーに対する操作を行う場合、テープチェンジャーが持つ操作装置(ロボット)の番号を指定して行う。
このため、管理下にあるロボットの番号をtpconfig -lコマンドで確認する必要がある。
なお、このコマンドでは同時にそのロボット内にあるドライブについても確認出来る。

[root@nbuserver ~]# /usr/openv/volmgr/bin/tpconfig -l
Device Robot Drive       Robot                    Drive                Device     Second
Type     Num Index  Type DrNum Status  Comment    Name                 Path       Device Path
robot      0    -    TLD    -       -  -          -                    /dev/sg2
  drive    -    1 hcart2    1      UP  -          IBM.ULT3580-TD5.000  /dev/nst1
robot      1    -    TLD    -       -  -          -                    /dev/sg4
  drive    -    0    dlt    1  DISABL  -          QUANTUM.SDLT600.000  /dev/nst0
[root@nbuserver ~]#

上記結果サンプルはrobot:1として認識されているSDLT600ドライブがあるロボットはNetBackup側で設定を行っていないためStatusが「DISABLE」となっている。

NetBackupで管理しているテープドライブの確認「tpconfig -d」

テープ装置単独で確認したい場合は「tpconfig -d」を実行する。

[root@nbuserver ~]# /usr/openv/volmgr/bin/tpconfig -d
Id  DriveName           Type   Residence
      Drive Path                                                       Status
****************************************************************************
0   QUANTUM.SDLT600.000  dlt    TLD(1)  DRIVE=1
      /dev/nst0                                                        DISABLED
1   IBM.ULT3580-TD5.000  hcart2 TLD(0)  DRIVE=1
      /dev/nst1                                                        UP

Currently defined robotics are:
  TLD(0)     robotic path = /dev/sg2
  TLD(1)     robotic path = /dev/sg4

EMM Server = nbuserver

[root@nbuserver ~]#

上記結果サンプルはSDLT600ドライブについてはNetBackup側で設定を行っていないためStatusが「DISABLE」となっている。

テープ装置のインベントリ実行確認「vmupdate -rt tld -rn ロボット番号 -recommend」

GUI操作でいうところの[Inventory Robot]-[Preview volume configuration changes]に相当するものは「vmupdate -rt tld -rn ロボット番号 -recommend」となる。
ロボットのタイプが「TLD」以外の場合は適切に変更すること。

変更がある場合は以下の様に表示される。

[root@nbuserver ~]# /usr/openv/volmgr/bin/vmupdate -rt tld -rn 0 -recommend
Generating list of recommended changes ...

Proposed Change(s) to Update the Volume Configuration
=====================================================
Logically move media ID O502L5 (barcode LTO502L5) from standalone to slot 3.
[root@nbuserver ~]#

変更がない場合は以下のようになる。

[root@nbuserver ~]# /usr/openv/volmgr/bin/vmupdate -rt tld -rn 0 -recommend
Generating list of recommended changes ...

Proposed Change(s) to Update the Volume Configuration
=====================================================
Volume configuration is up-to-date with robot contents.
[root@nbuserver ~]#

テープ装置のインベントリ実行「vmupdate -rt tld -rn ロボット番号」

GUI操作でいうところの[Inventory Robot]-[Update volume configuration]に相当するものは「vmupdate -rt tld -rn ロボット番号」となる。
ロボットのタイプが「TLD」以外の場合は適切に変更すること。

[root@nbuserver ~]# /usr/openv/volmgr/bin/vmupdate -rt tld -rn 0
Generating list of recommended changes ...

Proposed Change(s) to Update the Volume Configuration
=====================================================
Logically move media ID O502L5 (barcode LTO502L5) from standalone to slot 3.
Updating volume configuration ...

Processing existing media added to or moved within the robotic library by
logically moving media as follows...
        Media ID        Slot
        ========        ====
         O502L5            3


Volume configuration successfully updated.

[root@nbuserver ~]#

NetBackupに登録されているテープメディア一覧確認「vmquery -b -a」

NetBackupの管理下にあるテープメディアを確認するには「vmquery -b -a」となる。
テープ装置外にあるメディアについては「robot type:NONE」となる。

[root@nbuserver ~]# /usr/openv/volmgr/bin/vmquery -b -a
media   media  robot  robot  robot  side/  optical  # mounts/      last
 ID     type   type     #    slot   face   partner  cleanings    mount time
-------------------------------------------------------------------------------
O500L5  HCART2 TLD      0       1     -       -          15     2019/05/09 18:00
O501L5  HCART2 TLD      0       2     -       -           8     2019/05/10 00:00
O502L5  HCART2 NONE     -      -     -       -           0     0000/00/00 00:00
O503L5  HCART2 TLD      0       4     -       -           0     0000/00/00 00:00
O504L5  HCART2 TLD      0       5     -       -           8     2019/05/10 00:00
[root@nbuserver ~]#

ロボット内のテープメディア一覧確認「vmquery -b -rn ロボット番号」

指定したロボット内にあるメディアを確認するには「vmquery -b -rn ロボット番号」で確認する。

[root@nbuserver ~]# /usr/openv/volmgr/bin/vmquery -b -rn 0
media   media  robot  robot  robot  side/  optical  # mounts/      last
 ID     type   type     #    slot   face   partner  cleanings    mount time
-------------------------------------------------------------------------------
O500L5  HCART2 TLD      0       1     -       -          15     2019/05/09 18:00
O501L5  HCART2 TLD      0       2     -       -           8     2019/05/10 00:00
O503L5  HCART2 TLD      0       4     -       -           0     0000/00/00 00:00
O504L5  HCART2 TLD      0       5     -       -           8     2019/05/10 00:00
[root@nbuserver ~]#

テープ装置外で保管されているテープメディア一覧「vmquery -b -rt NONE」

テープ装置外で保管されているテープメディアだけを確認するには「vmquery -b -rt NONE」を実行する。

[root@nbuserver ~]# /usr/openv/volmgr/bin/vmquery -b -rt NONE
media   media  robot  robot  robot  side/  optical  # mounts/      last
 ID     type   type     #    slot   face   partner  cleanings    mount time
-------------------------------------------------------------------------------
O502L5  HCART2 NONE     -      -     -       -           0     0000/00/00 00:00
[root@nbuserver ~]#

現在存在しないテープ装置内にテープメディアが残存してしまっている場合の処理

現在存在しないテープ装置内にテープメディアが残存してしまっている場合、データベース上の登録をvmchangeコマンドで修正する必要がある。

テープメディアの置き場所を「-new_rt」オプションで「NONE」にすることで、テープ装置外であるという認識になる。
なお、Media Typeも指定する必要があるためvmqueryコマンドで現状のMedia Typeを確認すること。

Media IDが「O502L5」のステータスを変更する場合は、以下の様に実行する。

[root@nbuserver ~]# /usr/openv/volmgr/bin/vmchange -m O502L5 -new_rt NONE -mt HCART2
[root@nbuserver ~]#

設定変更後は「vmquery -b -a」もしくは「vmquery -b -rt NONE」を実行し、robot typeが「NONE」に変わったことを確認する。

[root@nbuserver ~]# /usr/openv/volmgr/bin/vmquery  -b -a
media   media  robot  robot  robot  side/  optical  # mounts/      last
 ID     type   type     #    slot   face   partner  cleanings    mount time
-------------------------------------------------------------------------------
O500L5  HCART2 TLD      0       1     -       -          15     2019/05/09 18:00
O501L5  HCART2 TLD      0       2     -       -           8     2019/05/10 00:00
O502L5  HCART2 NONE     -      -     -       -           0     0000/00/00 00:00
O503L5  HCART2 TLD      0       4     -       -           0     0000/00/00 00:00
O504L5  HCART2 TLD      0       5     -       -           8     2019/05/10 00:00
[root@nbuserver ~]#

Samba 4.10.xでActive Directoryを1から立てる


Samba 4.10.2に更新した際に、python関連で修正点があったので更新。なお、この記事は、Active Directoryサーバとして使用することについてのみ解説しています。ファイルサーバとして使用することについては記述していません。

Samba 4.10.xにおける大きな変更点は「python3がデフォルト」「python2サポートの最終バージョン」です。RHEL7/CentOS7環境はpython2なので、あまり変更せずに使える最終バージョンといった感じです。なお、RHEL7/CentOS7のEPELには「python36」というパッケージ名でpython 3.6があるので、それを追加インストールすることはできます。

なお、過去バージョンの履歴。2018年12月版「Samba 4.9.xでActive Directoryを1から立てる」、2018年3月版「Samba 4.7.xでActive Directoryを1から立てる」、2016年7月版「Samba 4.4.xでActive Directoryを1から立てる」、2014年2月版「Samba 4.xでActive Directoryを1から立てる

さて、Linux上でSambaを使ってActive Directoryサーバを立てるメリットは以下の点です。

その1:Windows Serverを買わなくてもActive Directoryを作れる

WindowsのCALを買わずにActive Directory環境の構築ができるため、ライセンス費用の低減になります。

その2:Active Directoryユーザの作成などのユーザ管理をWindowsマシンからWindows標準ツールで行える

ユーザーの作成/変更、コンピューターアカウントの作成、DNSの管理など、Active Directoryの管理を行う際に頻繁に使う操作については、WindowsのActive Directory管理ツールやDNS管理ツールを使用することができる。このため、普段はLinuxのCLIコマンド(samba-toolsやnetコマンドなど)を使う必要はない。

Active Directoryに参加しているWindowsマシンに、Windows機能のActive Directory管理ツールを追加インストールし、Active Directoryの管理者にてログオンすることで、管理ができる。

その3:sambaの設定は難しくない

10年ぐらい前のsambaでは、DNSサーバやLDAPサーバをsambaとは別に用意し、連携する必要がありました。いまのsambaはDNSサーバとLDAPサーバの機能が統合されているため設定が容易になりました。

Active Directory名とActive Directory上の役割、管理者パスワードを設定するぐらいで環境を作成することができます。

逆にデメリットとしてどのようなものがあるか?

その1:Active Directoryの全機能が搭載されていない

ドメイン/フォレストの機能レベルがWindows Server 2012R2レベルまで対応になったものの、「Kerberos関連機能が未搭載」となっています。(samba公式wiki「Raising the Functional Levels」)

「Windows Server 2008 R2」レベルまでであればフルサポートしています。このレベルであれば、Windows Server 2016環境でフェイルオーバークラスターマネージャーでクラスタを組むこともできました。(samba 4.7ぐらいから可能になった)


手順は、公式の「Setting up Samba as an Active Directory Domain Controller」と「Package Dependencies Required to Build Samba」を参照しながら実施していきます。

1. CentOS7の最小インストールを実施

2. /etc/hostsの修正

自ホスト名を/etc/hostsに追加。
追加の際は、ショートのホスト名と、ドメイン付きのFQDNの両方を列挙すること。

[root@adserver ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.17.44.40    adserver adserver.adosakana.local
[root@adserver ~]#

3. 好みに応じて使うツールをインストール

セッションが途中で切れても良い様に「screen」か「tmux」と、ファイルダウンロードするためにwgetかcurlをインストールします。

[root@adserver ~]# yum install wget screen
<略>
[root@adserver ~]#

4. 必要なパッケージをインストール

Samba公式の「Package Dependencies Required to Build Samba」に記載されているパッケージをインストール

[root@adserver ~]# yum install attr bind-utils docbook-style-xsl gcc gdb krb5-workstation \
       libsemanage-python libxslt perl perl-ExtUtils-MakeMaker \
       perl-Parse-Yapp perl-Test-Base pkgconfig policycoreutils-python \
       python2-crypto gnutls-devel libattr-devel keyutils-libs-devel \
       libacl-devel libaio-devel libblkid-devel libxml2-devel openldap-devel \
       pam-devel popt-devel python-devel readline-devel zlib-devel systemd-devel \
       lmdb-devel jansson-devel gpgme-devel pygpgme libarchive-devel
<略>
[root@adserver ~]#

ここで問題発生・・・上記の説明に「RHEL7ではEPELレポジトリを追加する必要があるが、CentOS7とScientific Linux7では不要」とあるが、CentOS7環境で試してみると「perl-Test-Base」と「lmdb-devel」は無い。

EPELレポジトリを追加してから、必要なパッケージのインストールをやり直します。(なお、perl-Test-Baseに関連付いていろいろパッケージが追加されます。)

[root@adserver ~]# yum install epel-release.noarch
<略>
[root@adserver ~]#

5. sambaのtar.gzをダウンロード

samba.orgからsambaをダウンロードします。

[root@adserver ~]# wget https://download.samba.org/pub/samba/stable/samba-4.10.2.tar.gz
--2018-12-28 13:10:22--  https://download.samba.org/pub/samba/stable/samba-4.10.2.tar.gz
download.samba.org (download.samba.org) をDNSに問いあわせています... 144.76.82.156, 2a01:4f8:192:486::443:2
download.samba.org (download.samba.org)|144.76.82.156|:443 に接続しています...  接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 18053738 (17M) [application/gzip]
`samba-4.10.2.tar.gz' に保存中

100%[======================================>] 18,053,738  3.65MB/s 時間 5.9s

2018-12-28 13:10:29 (2.93 MB/s) - `samba-4.10.2.tar.gz' へ保存完了 [18053738/18053738]

[root@adserver ~]# 

6. configure実施

samba 4.10.0より、標準で使用されるpythonのバージョンが3になりました。このため、RHEL7/CentOS7環境では「python3」が無いことにより下記の様なエラーとなります。

[root@adserver samba-4.10.2]# ./configure
/usr/bin/env: python3: そのようなファイルやディレクトリはありません
[root@adserver samba-4.10.2]#

これを避けるために「PYTHON=python2 ./configure」というような形で実行します。(Samba 4.10.0リリースノートより)

[root@adserver ~]# tar xfz samba-4.10.2.tar.gz
[root@adserver ~]# cd samba-4.10.2/
[root@adserver samba-4.10.2]# PYTHON=python2 ./configure
Setting top to                           : /root/samba-4.10.2
Setting out to                           : /root/samba-4.10.2/bin
Checking for 'gcc' (C compiler)          : /usr/bin/gcc
Checking for program 'git'               : /usr/bin/git
Checking for c flags '-MMD'              : yes
Checking for program 'gdb'               : /usr/bin/gdb
Checking for header sys/utsname.h        : yes

<略>
Checking if compiler accepts -fstack-protector                                                  : no
Checking if compiler accepts -fstack-protector                                                  : no
Checking if compiler accepts -fstack-clash-protection                                           : yes
'configure' finished successfully (1m43.247s)
[root@adserver samba-4.10.2]#

7. make & make install

こちらもRHEL7/CentOS7の場合は「PYTHON=python2 make」、「PYTHON=python2 make install」と実行します。

[root@adserver samba-4.10.2]# PYTHON=python2 make
PYTHONHASHSEED=1 WAF_MAKE=1 python2 ./buildtools/bin/waf build
Waf: Entering directory `/root/samba-4.10.2/bin/default'
<略>
[4112/4118] Compiling source4/scripting/man/samba-gpupdate.8.xml
Note: Writing samba-gpupdate.8

[4113/4118] Compiling pidl/lib/Parse/Pidl/Wireshark/NDR.pm
[4114/4118] Compiling pidl/lib/Parse/Pidl/Dump.pm
[4115/4118] Compiling pidl/lib/Parse/Pidl/Wireshark/Conformance.pm
[4116/4118] Compiling pidl/pidl
[4117/4118] Compiling pidl/lib/Parse/Pidl/NDR.pm
[4118/4118] Compiling pidl/lib/Parse/Pidl/Util.pm
Waf: Leaving directory `/root/samba-4.10.2/bin/default'
'build' finished successfully (19m50.933s)
[root@adserver samba-4.10.2]# PYTHON=python2 make install
PYTHONHASHSEED=1 WAF_MAKE=1 python2 ./buildtools/bin/waf install
Waf: Entering directory `/root/samba-4.10.2/bin/default'
        Selected embedded Heimdal build
Checking project rules ...
<略>
+ install /usr/local/samba/share/man/man3/Parse::Pidl::NDR.3pm (from bin/default/pidl/Parse::Pidl::NDR.3pm)
+ install /usr/local/samba/share/man/man3/Parse::Pidl::Util.3pm (from bin/default/pidl/Parse::Pidl::Util.3pm)
Waf: Leaving directory `/root/samba-4.10.2/bin/default'
'install' finished successfully (5m24.784s)
[root@adserver samba-4.10.2]#

8. インストール完了確認

インストールされたsambaのバージョンを確認します。

[root@adserver samba-4.10.2]# /usr/local/samba/sbin/samba -V
Version 4.10.2
[root@adserver samba-4.10.2]#

9. Active Directoryのセットアップ

ドメイン「adosakana.local」を作成します。
また、sambaの機能を使ってAD DNSを構築するので「SAMBA_INTERNAL」を選択します。

なお、「–use-rfc2307」はADにNIS連携機能を追加するオプションです。AD上にUnix用のUID/GID/shell情報なども格納できるようにします。Samba環境では有効にしておくべきものです。

また、セットアップ中、「Merge the contents of this file with your system krb5.conf or replace it with this one. Do not create a symlink!」とメッセージが出ますが、これは、この手順で自動生成されたkrb5.confをシステムのもつkrb5.confと統合しろ、というお知らせです。後の手順で対処します。

[root@adserver samba-4.10.2]# /usr/local/samba/bin/samba-tool domain provision --use-rfc2307 --interactive
Realm [example.com]:  ADOSAKANA.LOCAL
Domain [ADOSAKANA]:
Server Role (dc, member, standalone) [dc]:
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: 
DNS forwarder IP address (write 'none' to disable forwarding) [172.30.50.100]:  172.30.50.100
Administrator password:
Retype password:
Looking up IPv4 addresses
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up share.ldb
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
Unable to determine the DomainSID, can not enforce uniqueness constraint on local domainSIDs

Adding DomainDN: DC=adosakana,DC=local
Adding configuration container
Setting up sam.ldb schema
Setting up sam.ldb configuration data
Setting up display specifiers
Modifying display specifiers and extended rights
Adding users container
Modifying users container
Adding computers container
Modifying computers container
Setting up sam.ldb data
Setting up well known security principals
Setting up sam.ldb users and groups
Setting up self join
Adding DNS accounts
Creating CN=MicrosoftDNS,CN=System,DC=adosakana,DC=local
Creating DomainDnsZones and ForestDnsZones partitions
Populating DomainDnsZones and ForestDnsZones partitions
Setting up sam.ldb rootDSE marking as synchronized
Fixing provision GUIDs
A Kerberos configuration suitable for Samba AD has been generated at /usr/local/samba/private/krb5.conf
Merge the contents of this file with your system krb5.conf or replace it with this one. Do not create a symlink!
Setting up fake yp server settings
Once the above files are installed, your Samba AD server will be ready to use
Server Role:           active directory domain controller
Hostname:              wk70
NetBIOS Domain:        ADOSAKANA
DNS Domain:            adosakana.local
DOMAIN SID:            S-1-5-21-3471449246-245784766-327389652
[root@adserver samba-4.10.2]#

10. sambaを起動

sambaが起動していないことを確認した上で、sambaを起動します。

[root@adserver samba-4.10.2]# ps -ef|grep samba
root      30118   5011  0 18:40 pts/0    00:00:00 grep --color=auto samba
[root@adserver samba-4.10.2]# /usr/local/samba/sbin/samba
[root@adserver samba-4.10.2]# ps -ef|grep samba
root      30120      1 12 18:41 ?        00:00:00 /usr/local/samba/sbin/samba
root      30121  30120  0 18:41 ?        00:00:00 /usr/local/samba/sbin/samba
root      30122  30120  1 18:41 ?        00:00:00 /usr/local/samba/sbin/samba
root      30123  30120  0 18:41 ?        00:00:00 /usr/local/samba/sbin/samba
root      30124  30120  0 18:41 ?        00:00:00 /usr/local/samba/sbin/samba
root      30125  30120 11 18:41 ?        00:00:00 /usr/local/samba/sbin/samba
root      30126  30120  0 18:41 ?        00:00:00 /usr/local/samba/sbin/samba
root      30127  30120  0 18:41 ?        00:00:00 /usr/local/samba/sbin/samba
root      30128  30120  0 18:41 ?        00:00:00 /usr/local/samba/sbin/samba
root      30129  30120  0 18:41 ?        00:00:00 /usr/local/samba/sbin/samba
root      30130  30120  0 18:41 ?        00:00:00 /usr/local/samba/sbin/samba
root      30131  30120  0 18:41 ?        00:00:00 /usr/local/samba/sbin/samba
root      30132  30120  0 18:41 ?        00:00:00 /usr/local/samba/sbin/samba
root      30133  30120  0 18:41 ?        00:00:00 /usr/local/samba/sbin/samba
root      30134  30121  0 18:41 ?        00:00:00 /usr/local/samba/sbin/samba
root      30136  30129  0 18:41 ?        00:00:00 /usr/local/samba/sbin/samba
root      30137  30134 17 18:41 ?        00:00:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground
root      30140  30136 16 18:41 ?        00:00:00 /usr/local/samba/sbin/winbindd -D --option=server role check:inhibit=yes --foreground
root      30144  30137  0 18:41 ?        00:00:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground
root      30145  30137  0 18:41 ?        00:00:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground
root      30146  30140  1 18:41 ?        00:00:00 /usr/local/samba/sbin/winbindd -D --option=server role check:inhibit=yes --foreground
root      30151  30140  0 18:41 ?        00:00:00 /usr/local/samba/sbin/winbindd -D --option=server role check:inhibit=yes --foreground
root      30152  30140  0 18:41 ?        00:00:00 /usr/local/samba/sbin/winbindd -D --option=server role check:inhibit=yes --foreground
root      30153  30137  0 18:41 ?        00:00:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground
root      30155   5011  0 18:41 pts/0    00:00:00 grep --color=auto samba
[root@adserver samba-4.10.2]#

11. 動作確認

CentOS内部からSMB接続を行うテストを実施。

[root@adserver samba-4.10.2]# /usr/local/samba/bin/smbclient --version
Version 4.10.2
[root@adserver samba-4.10.2]# /usr/local/samba/bin/smbclient -L localhost -U%

        Sharename       Type      Comment
        ---------       ----      -------
        netlogon        Disk
        sysvol          Disk
        IPC$            IPC       IPC Service (Samba 4.10.2)
Reconnecting with SMB1 for workgroup listing.

        Server               Comment
        ---------            -------

        Workgroup            Master
        ---------            -------
[root@adserver samba-4.10.2]#

以前は「Domain=[ADOSAKANA.LOCAL] OS=[Unix] Server=[Samba x.y.z]」という出力もあったのですが、Samba 4.7以降では無くなっています。

netlogon共有にAdministrator権限でアクセスできるか確認。

[root@adserver samba-4.10.2]# /usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator -c 'ls'
Enter ADOSAKANA\Administrator's password:
  .                                   D        0  Tue Mar 27 17:47:04 2018
  ..                                  D        0  Tue Mar 27 17:47:51 2018

                17811456 blocks of size 1024. 12499620 blocks available
[root@adserver samba-4.10.2]#

12. AD DNSの動作テスト

AD DNSが想定通りに動作しているかテストします。

まず、どんなzoneが登録されているのか確認します。

[root@adserver samba-4.10.2]# /usr/local/samba/bin/samba-tool dns zonelist 127.0.0.1 -U Administrator
Password for [ADOSAKANA\Administrator]:
  2 zone(s) found

  pszZoneName                 : adosakana.local
  Flags                       : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE
  ZoneType                    : DNS_ZONE_TYPE_PRIMARY
  Version                     : 50
  dwDpFlags                   : DNS_DP_AUTOCREATED DNS_DP_DOMAIN_DEFAULT DNS_DP_ENLISTED
  pszDpFqdn                   : DomainDnsZones.adosakana.local

  pszZoneName                 : _msdcs.adosakana.local
  Flags                       : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE
  ZoneType                    : DNS_ZONE_TYPE_PRIMARY
  Version                     : 50
  dwDpFlags                   : DNS_DP_AUTOCREATED DNS_DP_FOREST_DEFAULT DNS_DP_ENLISTED
  pszDpFqdn                   : ForestDnsZones.adosakana.local
[root@adserver samba-4.10.2]#

Active Directoryで使用するDNSのSRVレコードが登録されているかをhostコマンドを使って確認します。

[root@adserver samba-4.10.2]# host -t SRV _ldap._tcp.adosakana.local 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:

_ldap._tcp.adosakana.local has SRV record 0 100 389 adserver.adosakana.local.
[root@adserver samba-4.10.2]# host -t SRV _kerberos._udp.adosakana.local 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:

_kerberos._udp.adosakana.local has SRV record 0 100 88 adserver.adosakana.local.
[root@adserver samba-4.10.2]#

ADサーバのホスト名が登録されているか確認します。

[root@adserver samba-4.10.2]# host -t A adserver.adosakana.local 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:

adserver.adosakana.local has address 172.17.15.70
[root@adserver samba-4.10.2]#

13. DNSサーバの変更

ADサーバの/etc/resolv.confを、ADサーバ自身を使う様に書き換えます。

14. /etc/krb5.conf の変更

/usr/local/samba/private/krb5.conf に元となるものが自動生成されているので、それを使用する。

[root@adserver samba-4.10.2]# ls -l /etc/krb5.conf /usr/local/samba/private/krb5.conf
-rw-r--r--. 1 root root 641 10月 30 23:40 /etc/krb5.conf
-rw-rw-rw-. 1 root root  96 12月 28 14:13 /usr/local/samba/private/krb5.conf
[root@adserver samba-4.10.2]# cat /usr/local/samba/private/krb5.conf
[libdefaults]
        default_realm = ADOSAKANA.LOCAL
        dns_lookup_realm = false
        dns_lookup_kdc = true
[root@adserver samba-4.10.2]# cp /usr/local/samba/private/krb5.conf /etc/krb5.conf
cp: `/etc/krb5.conf' を上書きしますか? y
[root@adserver samba-4.10.2]#

15. Kerberosの動作確認

「kinit administrator@ドメイン名」を実行して確認します。

[root@adserver samba-4.10.2]# kinit administrator@ADOSAKANA.LOCAL
Password for administrator@ADOSAKANA.LOCAL:
Warning: Your password will expire in 41 days on 2019年02月08日 14時13分15秒
[root@adserver samba-4.10.2]#

正常に設定されていれば、上記の様にAdministratorユーザのパスワード有効期限が表示されます。

「klist」コマンドでも確認することが出来ます。

[root@adserver samba-4.10.2]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@ADOSAKANA.LOCAL

Valid starting       Expires              Service principal
2018-12-28T14:26:25  2018-12-29T00:26:25  krbtgt/ADOSAKANA.LOCAL@ADOSAKANA.LOCAL
        renew until 2018-12-29T14:26:22
[root@adserver samba-4.10.2]#

なお、ドメイン名指定の大文字/小文字を間違えると下記の様なエラーとなります。

[root@adserver ~]# kinit administrator@adosakana.local
Password for administrator@adosakana.local:
kinit: KDC reply did not match expectations while getting initial credentials
[root@adserver ~]#

DNSサーバ指定が誤っている場合は下記の様なエラーです。

[root@adserver ~]# kinit administrator@ADOSAKANA.LOCAL
kinit: Cannot resolve servers for KDC in realm "ADOSAKANA.LOCAL" while getting initial credentials
[root@adserver ~]#

16. フォレストとドメインの機能レベル確認

作成したActive Directoryのドメインの機能レベルとフォレストの機能レベルを確認します。

[root@adserver samba-4.10.2]# /usr/local/samba/bin/samba-tool domain level show
Domain and forest function level for domain 'DC=adosakana,DC=local'

Forest function level: (Windows) 2008 R2
Domain function level: (Windows) 2008 R2
Lowest function level of a DC: (Windows) 2008 R2
[root@adserver samba-4.10.2]#

Samba 4.10.2でもWindows Server 2008R2が標準設定となっています。

17. firewalldの設定

CentOS7ではfirewalldによりポートが制限されています。
現状を「firewall-cmd –list-all」で確認します。

[root@adserver samba-4.10.2]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens160
  sources:
  services: ssh dhcpv6-client
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
[root@adserver samba-4.10.2]#

開けるべきポートのテンプレートがあらかじめ用意されているので「firewall-cmd –get-services」を実行して確認します 。

[root@adserver samba-4.10.2]# firewall-cmd --get-services
RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry docker-swarm dropbox-lansync elasticsearch freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master git gre high-availability http https imap imaps ipp ipp-client ipsec irc ircs iscsi-target jenkins kadmin kerberos kibana klogin kpasswd kprop kshell ldap ldaps libvirt libvirt-tls managesieve mdns minidlna mongodb mosh mountd ms-wbt mssql murmur mysql nfs nfs3 nmea-0183 nrpe ntp openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster quassel radius redis rpc-bind rsh rsyncd samba samba-client sane sip sips smtp smtp-submission smtps snmp snmptrap spideroak-lansync squid ssh syncthing syncthing-gui synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client upnp-client vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-local xmpp-server zabbix-agent zabbix-server
[root@adserver samba-4.10.2]#
サービス ポート プロトコル firewalld定義
DNS 53 tcp/udp dns
Kerberos 88 tcp/udp kerberos,freeipa-ldap,freeipa-ldaps
End Point Mapper (DCE/RPC Locator Service) 135 tcp freeipa-trust
NetBIOS Name Service 137 udp samba,samba-client
NetBIOS Datagram 138 udp samba,samba-client,freeipa-trust
NetBIOS Session 139 tcp samba,freeipa-trust
LDAP 389 tcp/udp freeipa-trust(ldap,freeipa-ldapはtcpのみ)
SMB over TCP 445 tcp samba,freeipa-trust(freeipa-trustはudpも含む)
Kerberos kpasswd 464 tcp/udp kpasswd,freeipa-ldap,freeipa-ldaps
LDAPS 636 tcp ldaps,freeipa-ldaps
Dynamic RPC Ports(4.7以前) 1024-1300 tcp freeipa-trust
Dynamic RPC Ports(samba 4.7以降) 49152-65535 tcp ?
Global Catalog 3268 tcp freeipa-trust
Global Catalog SSL 3269 tcp なし

・firewalldの定義「samba」「dns」「freeipa-ldaps」「freeipa-trust」を使用
・「Dynamic RPC Ports(samba 4.7以降):49152-65535」を追加するか、smb.confで「rpc server port」を定義するか。
・「Global Catalog SSL:3269」を追加

[root@adserver samba-4.10.2]# firewall-cmd --permanent --zone=public --add-service=samba
success
[root@adserver samba-4.10.2]# firewall-cmd --permanent --zone=public --add-service=dns
success
[root@adserver samba-4.10.2]# firewall-cmd --permanent --zone=public --add-service=freeipa-ldaps
success
[root@adserver samba-4.10.2# firewall-cmd --permanent --zone=public --add-service=freeipa-trust
success
[root@adserver samba-4.10.2]# firewall-cmd --reload
success
[root@adserver samba-4.10.2]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: ssh dhcpv6-client samba dns freeipa-ldaps freeipa-trust
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

[root@adserver samba-4.10.2#
[root@adserver samba-4.10.2]# firewall-cmd --permanent --zone=public --add-port=49152-65535/tcp
success
[root@adserver samba-4.10.2]# firewall-cmd --permanent --zone=public --add-port=3269/tcp
success
[root@adserver samba-4.10.2]# firewall-cmd --reload
success
[root@adserver samba-4.10.2]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: ssh dhcpv6-client samba dns freeipa-ldaps freeipa-trust
  ports: 49152-65535/tcp 3269/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

[root@adserver samba-4.10.2]#

18. systemdへの登録

systemdへの登録については「Managing the Samba AD DC Service Using Systemd」を参照のこと
CentOS6の場合は「Managing the Samba AD DC Service Using an Init Script

以上で設定は終了です。

NetBackupマスタサーバのホスト名を変える手順(非公式


NetBackupマスタサーバのホスト名は通常変更できない。

しかし、探すと、NetBackup 6.0時代の非公式手順なるものが発見出来る。


Change Name of Master Serve」消えそうなので下記に内容を転記しておく。

Renaming a Master Server under NetBackup 6.0 requires making some updates to the EMM database and
EMM configration files as well as the changes to configuration files and registry entries required for earlier
versions of NetBackup. The steps involved are:

1. Shut down NetBackup on the Master Server.
2. Change the various entries for the Master Server and EMM server in bp.conf and vm.conf (or the
registry on a Windows server).
3. Change the value of VXDBMS_NB_SERVER in the vxdbms.conf file (located in
/usr/openv/db/data on UNIX and <install path>\VERITAS\NetBackupDB\data on Windows) to
reflect the name of the new Master Server.
4. Change the corresponding value found the server.conf file (located in /usr/openv/var/global on
UNIX and <install path>\VERITAS\NetBackupDB\conf on Windows)
5. Rename the server and restart it.
6. Re-start NetBackup
7. Run nbemmcmd –renamehost –machinename <old master> -newmachinename <new master> –
machinetype master
8. Re-start NetBackup again
9. Run the command nbemmcmd –listhosts –verbose on the Master Server to confirm that the
entries for ‘server’ and ‘master’ reflect the new Master Server name.
10. Run nbemmcmd –setemmserver –emmserver <old master> -newemmserver <new master> on
each media server
11. Update the entries for the master server in bp.conf and vm.conf (or the registry on a Windows
server) on each media server
12. Update the entries for the master server in bp.conf (or the registry on a Windows server) on each
client server
Note: The process described here cannot be used to change a non-clustered Master Server to a
clustered Master Server. This change involves a separate procedure covered in the document
NBU_non-cluster-to-cluster guide which can be found in the data protection operational documents
area of the CoE web site.
Note: Due to limitations in the nbemmcmd –rename command this process cannot be used to
rename clusters on versions below 6.0 MP6, if the Master Server is clustered we recommend moving
to another cluster rather than renaming the existing cluster.


で、この手順は「NetBackup 6.0MP6」では動いたものの、現代はどうなのか試してみた。

結果・・・

・NetBackup 7.xは上記+1ファイル修正で変更可能だった
・NetBackup 8.0,8.1はSSL証明書に記載されたホスト名の変更手順がわからないので不可
・NetBackup 7.xでもRBACを利用しているとSSL証明書が含まれるため失敗した

という結果でした。

とりあえず、「NetBackup 7.6まで実験済みのマスタサーバホスト名変更手順」は以下です。
ちなみにホスト名変更後、NetBackup 8.1にアップデートを行っています。

2019/08/26追記 「/usr/openv/db/data/.odbc.ini.az」の書き換えを追加

(1) NetBackupサービスを停止する。

# /usr/openv/netbackup/bin/bp.kill_all -v -f
# /usr/openv/netbackup/bin/bpps -x

(2) /usr/openv/netbackup/bp.conf の書き換え

ホスト名記述を変更

(3) /usr/openv/volmgr/vm.conf の書き換え

ホスト名記述を変更

(4) /usr/openv/db/data/vxdbms.conf の書き換え

「NB_ホスト名」の記述を「NB_新ホスト名」に変更

(5) /usr/openv/var/global/server.conf の書き換え

「NB_ホスト名」の記述を「NB_新ホスト名」に変更

(6) /usr/openv/db/bin/servername の書き換え

「NB_ホスト名」の記述を「NB_新ホスト名」に変更

(追加) /usr/openv/db/data/.odbc.ini.az の書き換え

「ENG=~」となっている記述を書き換える

(7) /etc/hosts の編集

新しいホスト名と古いホスト名で同じサーバをさすよう修正

(8) OSホスト名変更

OSの変更手法を使ってホスト名変更

(9) NetBackup自動起動を停止

RHEL6だったら以下でオフ

# chkconfig netbackup off

(10) OS再起動

# reboot

(11) NetBackupが起動していないことを確認

# /usr/openv/netbackup/bin/bpps -x

(12) NetBackup起動

# /usr/openv/netbackup/bin/bp.start_all
# /usr/openv/netbackup/bin/bpps -x

(13) 現状のNetBackup EMMの登録確認

# /usr/openv/netbackup/bin/admincmd/nbemmcmd -listhosts -verbose

(14) EMMの登録修正と確認

# /usr/openv/netbackup/bin/admincmd/nbemmcmd -renamehost -machinename 古いホスト名 -newmachinename 新しいホスト名 -machinetype master
# /usr/openv/netbackup/bin/admincmd/nbemmcmd -listhosts -verbose

(15) NetBackupの再起動

# /usr/openv/netbackup/bin/bp.kill_all
# /usr/openv/netbackup/bin/bpps -x
# /usr/openv/netbackup/bin/bp.start_all
# /usr/openv/netbackup/bin/bpps -x

(16) NetBackupの自動起動設定を復旧させる

RHEL6だったら以下を実行

# chkconfig netbackup on

これは、NetBackupインストーラにより設定が変更されているが、その変更がchkconfig側に反映されていないため実行する必要がある。

Ryzen3 2200G環境でStoreMIを導入した


Ryzen3 2200G環境にして使っているわけですが、交換する以前から続いているWindows起動直後から10分ぐらい継続するGoogle Syncのファイル更新チェックによるCドライブのディスクI/O 100%消費がなんとかならないかと気になり始めた。

Cドライブ全部をSSDにすれば解決ではあるものの、現状のCドライブは2TBとこれをまるごとSSDにかえるにはハードルが高い(コスト的に

で・・・今回使ったマザーボードのチップセットAMD B450では「StoreMI」というストレージキャッシュテクノロジーが使える。参考記事:無料のAMDストレージ高速化技術「StoreMI」でHDD/SSDが速くなるか検証

そして、いまはSSDが安くなっている時期なので、Intel SSD 760pのNVMeモデル256GBを購入し、導入してみた。

複数の物理ディスクを繋いだ状態でセットアップしたところ、初回再起動時にブートデバイスを誤認してしまったので、セットアップ時はブートディスクとNVMeディスクのみを繋いで行った方が良さそうです。

初期再起動後、設定処理が30分ぐらい裏で走り、完了したあとで、再起動してみたところ、Google Syncによるディスク負荷100%は無くなりました。

しかし、その代わりに、常にCPUが20%程度持って行かれるという事態に・・・

この状態でWindows MRデバイス被ってSteam VRのBeat Saberをやってみたところ、レスポンスが従来に比べて悪くなっていることを確認。

どうやら、CPU性能があからさまに足らなくなった模様。

StoreMIを使う場合は、ある程度CPUが余っていないとあまり意味がなさそうですね。