NEWS
できるIBM i 7.4解剖 できるIBM i 7.4解剖
2021.09.07

【できるIBM i 7.4解剖】第11回 「IBM i のネットワークファイル共有機能 NetServer」

【できるIBM i 7.4解剖】第11回 「IBM i のネットワークファイル共有機能 NetServer」

今回はIBM i のファイル共有機能についてご紹介します。

図1のとおりIBM i はいろいろなファイル共有機能を提供しています。
プロトコルとしてはSMB(CIFS), NFSといった業界スタンダードをサポートしておりWindowsではSMB、LinuxでSambaを使用してファイル共有するケースが多いように思われます。
それ以外にもIBM i OS間でIFSを共有する機能(QFilesvr.400)、IBM i がSMBクライアントとして動作するNetClient、UNIXを中心に広く利用されているNFSもサポートしています。

今回はIBM i のSMBサーバー機能であるNetServerをご紹介いたします。

図1. IBM i のファイル共有機能

NetServerの概要

NetServerはSMB(CIFS)を利用してクライアントにIBM iのファイルシステム、印刷装置へのアクセスを提供します。
NetServerを使用するためのIBM i の前提条件はTCP/IP通信用に構成されていること、57xx-SS1 オプション12 Host Serverがインストールされている事です。
クライアント側の前提条件はそれぞれのOS等の記載を確認してください。
Windowsクライアントでは多くの場合、SMBに必要なソフトウェアは導入済み、利用可能な状態になっていることが多いと思われます。

参考:IBM iがサポートするSMBバージョン

IBM i がサポートするSMBバージョンを図2に記載します。
IBM i 関連ドキュメントではSMB2.0と2.1などのマイナーバージョンの記載がなく包含してSMB 2といった記載となっていることも多いようです。
このため図2ではIBM i 7.2以降のドキュメントの発表年月とその時点でのWindowsの主要なSMBバージョン等を勘案しSMB2サポートと表記がある場合SMB 2.0と2.1をサポートすると解釈して記載しています。
SMBの提供する個々の機能レベルではサポート有無について誤りが含まれている可能性がある点をご注意・ご了承ください。

また、IBM i 7.4のNetServerでサポートされるWindowsはWindows 7, 8.1, Windows Server2008 R2, 2012, Windows 10, Windows Server 2016です。(後掲のPDFマニュアル ネットワーキング IBM i NetServer の記載より)

図2. IBM i のSMBバージョン毎の対応表

SMB 1.0 SMB 2.0 SMB 2.1 SMB 3.0 SMB 3.02 SMB 3.11
IBM i 7.1以前
IBM i 7.2 〇 *1 〇 *1 *2
IBM i 7.3 〇 *2 〇 *2
IBM i 7.4 〇 *2 〇 *2 〇 *3 〇 *3 〇 *3
Windows 2000, XP,
2003 Server,
2003 Server R2 *4
Vista SP1~, 2008 Server *4
Win 7, 2008 Server R2 *4
Win 8 , 2012 Server *4
Win 8.1, 2012 Server R2 *4
Win 10, 2016 Server *4

*1 IBM i 7.2でのSMB2サポートにはPTFが必要 参考:SMB2 Support for IBM i 7.2 https://www.ibm.com/support/pages/node/687521
*2 *3 IBM Support, Knowledge Center等の資料ではSMB2.0と2.1、3.0以降のマイナーバージョンを区別せず包括してSMB2、SMB3と表現しているケースが一般的なため表中ではSMB 2.0と2.1、SMB 3.0、3.02、3.11を同等と見做して記載しています。この為厳密なSMBバージョン毎の個々の機能サポートの観点では誤りが含まれている可能性があります。
*4 Windows各バージョンでのSMBサポートは以下のマイクロソフト社HP等を参考に作成:リンクはこちら
また、個々のWindowsバージョンでサポートされるSMBサポートバージョンはWindowsの詳細バージョンやインストール方法等で異なるケースがありますが表で表現しておりません。詳細はWindowsに関連した各種ドキュメントを参照してください。

IBM i NetServerの開始

NetServerを開始するために以下の手順を実行します。(以下のPDFマニュアルも必要に応じてご参照ください。)

ネットワーキング IBM i NetServer

https://www.ibm.com/docs/ja/ssw_ibm_i_74/rzahl/rzahlpdf.pdf

  1. CFGTCPコマンドで、1つ以上の外部TCP/IPインターフェースが活動状態になっていることを確認
  2. WRKACTJOBコマンド、WRKSBSコマンド等でQSERVERサブシステムが実行中であることを確認
  3. NetServerを利用するにはIBM i のユーザープロフィールが必要です。もしIBM i ユーザープロフィールの無いユーザーがNetServer機能を利用したい場合はゲストユーザープロフィールの設定が必要です。上記のPDFマニュアルP.3 IBM i NetServerの構成 を参照してゲストユーザープロフィールを設定してください。
  4. 以下のコマンドでNetServerジョブを開始します。
        STRTCPSVR *NETSVR
    
  5. WRKACTJOBコマンドでQSERVERサブシステム配下に QZLSSERVERジョブが実行中であることを確認
  6. さらにNETSAT *CNNコマンドを使用して以下の行の存在を確認することでNetServerが正常に起動していることを確認できます。
    ** netbios>001:27:44 Listen
    ** netbios>000:00:01 *UDP
    ** netbios>000:00:00 *UDP
    ** netbios>000:30:57 Listen
    ** cifs>427:49:42 Listen
    

以上でNetServerの起動は完了です。
*参考:NetServerを停止するコマンドは ENDTCPSVR *NETSVR です。

Windowsなどクライアントのセットアップ

このあと、WindowsなどクライアントからIBM i NetServerが検索可能なようにクライアントをセットアップします。
この手順はそれぞれの企業のネットワーク環境に依存します。以下では一般的なセットアップ例、注意点を記載いたします。
詳細やLinuxクライアントのセットアップ等は上掲のPDFマニュアルをご参照ください。

  • IBM i とWindows等のクライアントが同一ワークグループ、同じサブネット(ネットワークセグメント)に存在する場合、IPアドレスでNetServerを検索できる場合、追加セットアップは不要です。
  • 上記に合致しない場合、以下のいずれかを実施します。
    • DNSにNetServrを登録する
    • WINSにNetServerを登録する。NetServerの構成をWINS登録用に修正必要な場合があります。
    • LMHOSTSなどWindowsクライアントにNetServerを追加する

WindowsクライアントからNetServerを検索する

WindowsクライアントからNetServerはネットワークの検索で見つけることが出来ます。
具体的な検索の仕方はWindowsのバージョンやWindowsのドメイン、ワークグループの設定等でも異なる場合があります。
Windowsのドキュメントや上掲マニュアルを参照してください。

NetServerの管理

NetServerの共有フォルダ―設定などの管理機能は従来IBM i Access for Windows(IAW)に含まれるIBM i ナビゲーターで提供されていました。
IAWのサービス終了に伴い同様の機能がブラウザーベースのIBM Navigator for i と 5250コマンドベース(GO NETSコマンド)で提供されています。

Navigator for iでのNetServerの構成・管理

ACSにあるNavigator for i のリンクをクリックするかブラウザーで HTTPS://サーバー名:2001/ のアドレスを入力してNavigator for iにアクセスし、*SECOFRクラスのユーザーでサインオンします。
Navigator for i のメニューで、 ネットワーク → サーバー → TCP/IPサーバー と展開します。
図3が表示されますので、NetServerのサーバージョブの行にチェックを入れてプルダウンメニューの アクション から 構成 を選択すると、NetServerの構成ウィザードを開始できます。

図3. NetServerウィザードの開始

IBM i ネットサーバー構成ウィザードで設定変更可能な内容は多岐にわたり、NetServerの名前、ドメイン、認証方式、パスワード暗号化、ゲスト・ユーザープロフィール指定、クライアントのCCSID指定、タイムアウト値、WINS設定等があります。
上掲マニュアルやIBM Knowledge Centerドキュメントを参照して、必要に応じて設定を行ってください。

現在の設定を確認するには図3の画面で アクション から プロパティー を選択すると確認することができます(図4 次回再始動時のパラメーターなど一部のパラメーターをこの画面から設定変更可能です。)

図4. NetServer プロパティ画面

NetServerの共用フォルダーの管理

NetServerで構成済みの共用フォルダーを表示するには、Navigator for iで ファイル・システム → 統合ファイル・システム → ファイル共有 をクリックします。(図5)

図5. NetServer共用ファイルの一覧表示

ファルダーの共用を停止する場合は、停止したいフォルダーにチェックを入れてアクション メニューから共用の停止 を選択します。確認画面が表示されますのでOKをクリックします。(図6)

図6. NetServer共用の停止

新しく共用フォルダーを作成するには、メニューから ファイル共有の作成 を選択する方法と、統合ファイル・システムのディレクトリを展開して該当フォルダーを指定して作成する方法があります。
ここでは後者の方法をご紹介します。

統合ファイル・システム を展開して共用したいフォルダーを表示します。
統合ファイル・システムの直下にある Root はWRKLNKコマンドで表示されるIFSの / (ルート) を表します。
その下の階層はWRKLNKコマンドの階層表示と同一です。図7の例では /hone/GOMA/photo フォルダーを展開、表示しています。

図7. 共用したいIFSフォルダーを展開する

フォルダーの共用を作成するために図7から アクション メニューで 共用 → 共用の作成 を選択します。(図8)

図8. 共用の作成 を選択

共用フォルダーの設定画面(図9)が表示されるので必要な項目を設定します。図9では以下のように設定しています。

共用名 :  GOMAPHOTO クライアントが検索・共有する際のフォルダー名。
  実際のIFSフォルダー名とは異なる名前を付けることができます
記述 :  Navigator for i などで表示されるこの共用設定のコメント
アクセス:  読み取り/書込み クライアントにREAD/WRITEを許可 読み取り専用に設定も可能
最大ユーザー数 :  同時接続可能な最大ユーザー数の指定

指定が完了したら、OKボタンを押して共用を作成します。

図9. 共用フォルダーの設定

新しい共用フォルダーを作成後に図5の共用フォルダーの一覧を表示すると新しいフォルダーが追加されています。(図10)
新しいフォルダーが表示されていない場合は 表示のリフレッシュ アイコンをクリックします。

図10. 共用フォルダー作成後の状態

新しく作成したフォルダーはWindowsの検索等から 図9の 共有名 で指定した名前で検索することができます。図11.はWindows 10にZドライブとしてマウントした例です。

図11. 作成した共用フォルダーをWindowsのドライブにマウントして使用した例

GO NETSコマンドによるNetServerの構成・管理

NetServerの起動・停止、構成情報の変更等は5250画面からも GO NETS コマンドで呼び出されるメニュー画面から実行できます。(図12)
操作実行できる機能は基本的にNavigator for i と同一です。(現在のところGO NETSコマンドのメニューは英語になります)

図12. GO NETSメニュー画面

GO NETSコマンドはQUSRTOOLライブラリーで提供されています。
このためライセンスプログラム 57XX-SS1 オプション7 例題ツール・ライブラリー を導入する必要があります
。QUSRTOOLライブラリーが導入されたのち、いくつかのコマンドを実行して環境セットアップが必要です。
具体的な手順は以下のリンクの Setting up GO NETS の章をご覧ください。

Manage IBM i NetServer without Navigator – GO NETS https://www.ibm.com/support/pages/manage-ibm-i-netserver-without-navigator-go-nets

NetServerのその他の考慮点

1. NetServerへのアクセスが不能になったユーザープロフィールについて

ゲストユーザー以外ではNetServerはユーザープロフィールとパスワードを使用してNetServerへのアクセスを制御します。
システム値QMAXSIGNに指定された回数以上にパスワードを間違えた際などは、そのユーザープロフィールはNetServerへのアクセスのみが使用不可になります。(5250端末等へのサインオンは抑止されません。)
使用不可のユーザープロフィールはNavigator for i でNetServerジョブを選択しアクションから 使用不可ユーザーID で確認出来ます。(図4参照)

使用不可になったユーザープロフィールを再び使用可能化するには以下の3つの方法があります。

方法1.「使用不可になったユーザーID(Disabled User IDs)」からIDをクリックし使用可能化する

方法2.CHGUSRPRFコマンドに該当のユーザープロフィールを指定し、(何もユーザープロフィールのパラメーターを変更しなくともOKです)コマンドを実行する。
この結果、ユーザープロフィールの最終変更日が更新されます。
NetServerサーバージョブはユーザープロフィールの最終変更日付が、NetServerで使用不可になった日付より新しい場合、再びNetServerへのアクセスを許可します。

方法3.上記2つの方法を実施しなくとも、NetServerジョブを停止・再始動することでアクセス不能になったユーザープロフィールが再びNetServerにアクセス可能となります。

2. NetServerサーバージョブを終了する際の注意事項

NetServerサーバージョブを終了するにはENDTCPSVR *NETSVRコマンドを実行します。
このコマンドはサーバーを終了するAPI QZLSENDSを実行しますが、処理に長い時間がかかる場合があります。
NetServerジョブを終了する前に可能な限りアクセスを終了することが望ましいでしょう。

3. NetServerで共有されるIBM i 上のファイルシステムでの大文字小文字の識別について

以下の3つのIFSパス(フォルダー)については大文字・小文字が識別されます。それ以外のパスを共有した際には大文字・小文字は区別されません。

  • QOpenSys
  • ユーザー定義ファイルシステム(UDFS) UDFS作成時に大文字・小文字の区別を指定した場合
  • ネットワークファイルシステム(NFS)アクセスするリモートファイルシステムで大文字・小文字が識別される場合

上記以外のIFSパス(フォルダー)を共有した場合、NetServerが提供するファイル名はすべて自動的に大文字に変換されて認識されるので注意が必要です。
たとえば以下のような3つのファイル名はNetServer上ではすべて大文字のファイル名(例ではNETSERVE.TXT)として識別されます。

NETSERVER.TXT
NetServer.Txt
netserver.txt

4. NetServerの印刷共用機能について

NetServerは印刷共用機能も提供しています。ネットワーク上の出力待ち行列をPCクライアントと共用するネットワークプリントサーバー(NPS)サービスを提供出来ます。
共用可能なスプールファイルタイプはユーザーASCII, AFP, SCS(SNAキャラクタストリング)です。
設定方法は上掲マニュアルをご参照ください。

5. NetServerとWindowsのマイ ネットワークについて

NetServerをWindowsのマイ ネットワークで検索不能にすることもできます。
NetServerのブラウジング告知間隔をNoneに変更する事で可能となります。
詳細は上掲マニュアルをご参照ください。(これ以外にもセキュリティに配慮した各種の設定が可能で、上掲マニュアルに記載があります。)

6. 参考 IBM i ホスト名(TCP/IP)とNetServerのサーバー名について

デフォルトでNetServerを構成すると、IBM i ホスト名とは異なる名前がNetServerに割当されていると思われます。
これはClient Access V4R4以前の仕様と競合しないための配慮です。
原稿執筆時点のシステムにおいてClient Access V4R4以前を利用するものはほぼ皆無と推察されますのでIBM i ホスト名とNetServerの名前を同一に変更する事が推奨される、と上掲のPDFマニュアル サーバー名のガイドライン の章に記述されています。

7. IFSのルート(/)に対してNetServerの共用

IFSのルート(/)に対してNetServerの共用は設定しないよう強く推奨致します。
誤操作を含む意図しない必須ファイルの削除等によりIBM i システム全般に重大な影響を与える可能性があるためです。
フォルダー共有は必要なサブフォルダー単位で行ってください。

参考情報

IBM Knowledge Center / IBM i 7.4 : IBM i NetServer
https://www.ibm.com/docs/ja/i/7.4?topic=services-i-netserver

IBM Support : What versions of SMB are supported by IBM i NetServer?
https://www.ibm.com/support/pages/what-versions-smb-are-supported-ibm-i-netserver

SMB2 Support for IBM i 7.2
https://www.ibm.com/support/pages/smb2-support-ibm-i-72

*特記事項について

当記事の内容は執筆者個人の見解によるものであり、IBM公式のものではありません。
このため当記事内容につきましてIBM SWMAなどの公式なサポート窓口へのお問い合わせは一切ご遠慮くださいますようお願い致します。
ご質問等ございましたら当サイトへお問い合わせいただけますと幸いです。

筆者

日本アイ・ビー・エム株式会社
IBM Power Technical Sales 佐々木 幹雄

多数の執筆記事を、iWorldに寄稿中。

いいねと思ったらシェア
twitter
facebook
hatena
linkedin
できるIBM i 7.4解剖 目次を見る

この連載は…

できるIBM i 7.4解剖
あなたにオススメの連載
できるIBM i 温故知新編
9記事
できるIBM i 温故知新編
IBM i の”新”必須言語 〜FFRPG入門〜
14記事
IBM i の”新”必須言語 〜FFRPG入門〜
IBM i アプリの第二の柱 OSS
15記事
IBM i アプリの第二の柱 OSS
PAGE TOP