クラウド上でのメインフレーム開発環境構築 - (6) DeviceMapファイル補足

# はじめに
ここまでZD&Tインスタンス作成まで見てきましたが、とりあえず出来合いのz/OS環境を動かすという所に特化して一連の流れを見てきました。その後利用環境に応じて細かなカスタマイズ等を行っていくことになると思いますが、カスタマイズするにあたって理解しておく必要がある項目が多々ありますので補足していきます。
まずはDeviceMapファイルについて取り上げます。

## 関連記事
[クラウド上でのメインフレーム開発環境構築 - (1) 仮想サーバー作成](https://qiita.com/tomotagwork/items/3b0c918c37ccf54a9ce8)
[クラウド上でのメインフレーム開発環境構築 - (2) ZD&T管理サーバーのインストール](https://qiita.com/tomotagwork/items/c6f52fd6e4aadbde3275)
[クラウド上でのメインフレーム開発環境構築 - (3) ライセンス管理](https://qiita.com/tomotagwork/items/319475bcc924989260ef)
[クラウド上でのメインフレーム開発環境構築 - (4) ZD&Tインスタンス作成概要(ADCD)](https://qiita.com/tomotagwork/items/d14d35d3ab3c35c07545)
[クラウド上でのメインフレーム開発環境構築 - (5) ZD&Tインスタンス作成詳説(ADCD)](https://qiita.com/tomotagwork/items/b00934969af680a30392)
[クラウド上でのメインフレーム開発環境構築 - (6) DeviceMapファイル補足](https://qiita.com/tomotagwork/items/fa3f9099e125806c410e)
[クラウド上でのメインフレーム開発環境構築 - (7) ネットワーク構成補足](https://qiita.com/tomotagwork/items/369367bae3d3cd3c8a15)
[クラウド上でのメインフレーム開発環境構築 - (8) ADCD IPL, Shutdown補足](https://qiita.com/tomotagwork/items/61b26ee8e25a605442ab)
[クラウド上でのメインフレーム開発環境構築 - (9) DASD管理補足](https://qiita.com/tomotagwork/items/a863c57be2902b8943d0)
[クラウド上でのメインフレーム開発環境構築 - (10)既存ZD&Tからイメージ作成](https://qiita.com/tomotagwork/items/d7ce2fc489a9e3fa08e2)

# DeviceMapファイル概要
DeviceMapファイルは、CPU, Memory, DASD, ネットワークなどのz/OS(RD&T)が認識するデバイスと、その実態を結びつけるための定義体で、Linux上のテキスト・ファイルとして保持されています。例えばCPUやメモリをどのくらい割り当てるか、z/OSのDASDをエミュレーションするLinux上のファイルをどうマッピングするか、どのNICをOSAとして使用するかなどを定義するか、といったことを指定します。IBM Zのエミュレーターを起動する際に利用したいDeviceMapファイルを引数として指定することになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/37eb1747-0ed8-92ee-888a-d68edfc900b7.png)

# IODF
DeviceMapファイルは上のイメージの通り実際のH/WリソースとIBM Zエミュレーションの橋渡しをするものですが、z/OS側では入出力デバイス(DASD, OSA, 端末など)の情報はIODFに保持しています。DeviceMapファイルで定義する内容は、使用するIODFの情報と整合性を取る必要があります。

ちなみに、今回使用したADCDパッケージで使用されているIODFの定義内容を見てみると、以下のような設定がされています。

使用するIODF確認

```xxx:SYS1.IPLPARM(LOADAU)
IODF     99 SYS1                                             
INITSQA  0000M 0008M                                         
SYSCAT   A4SYS1113CCATALOG.Z24A.MASTER                       
SYSPARM  AU                                                  
IEASYM   00                                                  
NUCLST   00                                                  
PARMLIB  USER.Z24A.PARMLIB                            A4CFG1 
PARMLIB  FEU.Z24A.PARMLIB                             A4CFG1 
PARMLIB  ADCD.Z24A.PARMLIB                            A4SYS1 
PARMLIB  SYS1.PARMLIB                                 A4RES1 
NUCLEUS  1                                                   
SYSPLEX  ADCDPL                                              
```

念のためDISPLAYコマンドでも確認。

```
D IOS,CONFIG                                               
IOS506I 00.37.33 I/O CONFIG DATA 638                       
ACTIVE IODF DATA SET = SYS1.IODF99                         
CONFIGURATION ID = OS390          EDT ID = 00              
ACTIVE CSS:  0    SUBCHANNEL SETS CONFIGURED: 0            
CHANNEL MEASUREMENT BLOCK FACILITY IS ACTIVE               
SUBCHANNEL SET FOR PPRC PRIMARY: INITIAL = 0   ACTIVE = 0  
HYPERSWAP FAILOVER HAS OCCURRED: NO                        
```

ISPFのHardware ConfigurationのメニューからI/O Device List確認

<details><summary><font color="blue">I/O Device List</font></summary><div>

```
                             I/O Device List         Row 1 of 86 More:       >
Command ===> ___________________________________________ Scroll ===> CSR      
                                                                              
Select one or more devices, then press Enter. To add, use F11.                
                                                                              
  ----------Device------ --#--- --------Control Unit Numbers + --------       
/ Number   Type +        CSS OS 1--- 2--- 3--- 4--- 5--- 6--- 7--- 8---       
_ 000C     2540                 ____ ____ ____ ____ ____ ____ ____ ____       
_ 000C     2540R-1           1  ____ ____ ____ ____ ____ ____ ____ ____       
_ 000E,2   1403-N1           1  ____ ____ ____ ____ ____ ____ ____ ____       
_ 0120     3380              1  0120 ____ ____ ____ ____ ____ ____ ____       
_ 0121     3380              1  0121 ____ ____ ____ ____ ____ ____ ____       
_ 0122     3380              1  0122 ____ ____ ____ ____ ____ ____ ____       
_ 0123     3380              1  0123 ____ ____ ____ ____ ____ ____ ____       
_ 0124     3380              1  0124 ____ ____ ____ ____ ____ ____ ____       
_ 0125     3380              1  0125 ____ ____ ____ ____ ____ ____ ____       
_ 0126     3380              1  0126 ____ ____ ____ ____ ____ ____ ____       
_ 0127     3380              1  0127 ____ ____ ____ ____ ____ ____ ____       
_ 0128,56  3380              1  ____ ____ ____ ____ ____ ____ ____ ____       
_ 01C0,64  3390                 ____ ____ ____ ____ ____ ____ ____ ____       
_ 0240,32  3380                 ____ ____ ____ ____ ____ ____ ____ ____       
_ 0260,32  3390                 ____ ____ ____ ____ ____ ____ ____ ____       
_ 0300,25  3390              1  0300 ____ ____ ____ ____ ____ ____ ____       
_ 0400,16  OSA               1  ____ ____ ____ ____ ____ ____ ____ ____       
_ 0550,16  3420-8            1  ____ ____ ____ ____ ____ ____ ____ ____       
_ 0560,16  3480              1  ____ ____ ____ ____ ____ ____ ____ ____       
_ 0580,16  3490              1  0580 ____ ____ ____ ____ ____ ____ ____       
_ 0590,16  3590              1  0590 ____ ____ ____ ____ ____ ____ ____       
_ 0600,16  3390              1  ____ ____ ____ ____ ____ ____ ____ ____       
_ 0700     3270-X            1  0700 ____ ____ ____ ____ ____ ____ ____       
_ 0701     3270-X            1  0701 ____ ____ ____ ____ ____ ____ ____       
_ 0702     3270-X            1  0702 ____ ____ ____ ____ ____ ____ ____       
_ 0703     3270-X            1  0703 ____ ____ ____ ____ ____ ____ ____       
_ 0704     3270-X            1  0704 ____ ____ ____ ____ ____ ____ ____       
_ 0705     3270-X            1  0705 ____ ____ ____ ____ ____ ____ ____       
_ 0706     3270-X            1  0706 ____ ____ ____ ____ ____ ____ ____       
_ 0707     3270-X            1  0707 ____ ____ ____ ____ ____ ____ ____       
_ 0708     3270-X            1  0708 ____ ____ ____ ____ ____ ____ ____       
_ 0709     3270-X            1  0709 ____ ____ ____ ____ ____ ____ ____       
_ 070A     3270-X            1  070A ____ ____ ____ ____ ____ ____ ____       
_ 070B     3270-X            1  070B ____ ____ ____ ____ ____ ____ ____       
_ 070C     3270-X            1  070C ____ ____ ____ ____ ____ ____ ____       
_ 070D     3270-X            1  070D ____ ____ ____ ____ ____ ____ ____       
_ 070E     3270-X            1  070E ____ ____ ____ ____ ____ ____ ____       
_ 070F     3270-X            1  070F ____ ____ ____ ____ ____ ____ ____       
_ 0710,48  3270-X            1  ____ ____ ____ ____ ____ ____ ____ ____       
_ 0900     3270-X            1  0900 ____ ____ ____ ____ ____ ____ ____       
_ 0901     3270-X            1  0901 ____ ____ ____ ____ ____ ____ ____       
_ 0902     3270-X            1  0902 ____ ____ ____ ____ ____ ____ ____       
_ 0903     3270-X            1  0903 ____ ____ ____ ____ ____ ____ ____       
_ 0904     3270-X            1  0904 ____ ____ ____ ____ ____ ____ ____       
_ 0905     3270-X            1  0905 ____ ____ ____ ____ ____ ____ ____       
_ 0906     3270-X            1  0906 ____ ____ ____ ____ ____ ____ ____       
_ 0907     3270-X            1  0907 ____ ____ ____ ____ ____ ____ ____       
_ 0908     3270-X            1  0908 ____ ____ ____ ____ ____ ____ ____       
_ 0909     3270-X            1  0909 ____ ____ ____ ____ ____ ____ ____       
_ 090A     3270-X            1  090A ____ ____ ____ ____ ____ ____ ____       
_ 090B     3270-X            1  090B ____ ____ ____ ____ ____ ____ ____       
_ 090C     3270-X            1  090C ____ ____ ____ ____ ____ ____ ____       
_ 090E     3270-X            1  090E ____ ____ ____ ____ ____ ____ ____       
_ 090F     3270-X            1  090F ____ ____ ____ ____ ____ ____ ____       
_ 0910,16  3270-X            1  ____ ____ ____ ____ ____ ____ ____ ____       
_ 0A80     3390              1  0A80 ____ ____ ____ ____ ____ ____ ____       
_ 0A81     3390              1  0A81 ____ ____ ____ ____ ____ ____ ____       
_ 0A82     3390              1  0A82 ____ ____ ____ ____ ____ ____ ____       
_ 0A83     3390              1  0A83 ____ ____ ____ ____ ____ ____ ____       
_ 0A84     3390              1  0A84 ____ ____ ____ ____ ____ ____ ____       
_ 0A85     3390              1  0A85 ____ ____ ____ ____ ____ ____ ____       
_ 0A86     3390              1  0A86 ____ ____ ____ ____ ____ ____ ____       
_ 0A87     3390              1  0A87 ____ ____ ____ ____ ____ ____ ____       
_ 0A88     3390              1  0A88 ____ ____ ____ ____ ____ ____ ____       
_ 0A89     3390              1  0A89 ____ ____ ____ ____ ____ ____ ____       
_ 0A8A     3390              1  0A8A ____ ____ ____ ____ ____ ____ ____       
_ 0A8B     3390              1  0A8B ____ ____ ____ ____ ____ ____ ____       
_ 0A8C     3390              1  0A8C ____ ____ ____ ____ ____ ____ ____       
_ 0A8D     3390              1  0A8D ____ ____ ____ ____ ____ ____ ____       
_ 0A8E     3390              1  0A8E ____ ____ ____ ____ ____ ____ ____       
_ 0A8F     3390              1  0A8F ____ ____ ____ ____ ____ ____ ____       
_ 0A90,19  3390              1  ____ ____ ____ ____ ____ ____ ____ ____       
_ 0AA3     3390              1  ____ ____ ____ ____ ____ ____ ____ ____       
_ 0AA4,76  3390              1  ____ ____ ____ ____ ____ ____ ____ ____       
_ 0AF0,16  3390              1  ____ ____ ____ ____ ____ ____ ____ ____       
_ 0E20     CTC               1  0E20 ____ ____ ____ ____ ____ ____ ____       
_ 0E21     CTC               1  0E21 ____ ____ ____ ____ ____ ____ ____       
_ 0E22     CTC               1  0E22 ____ ____ ____ ____ ____ ____ ____       
_ 0E23     CTC               1  0E23 ____ ____ ____ ____ ____ ____ ____       
_ 0E40     CTC               1  0E40 ____ ____ ____ ____ ____ ____ ____       
_ 0E41     CTC               1  0E41 ____ ____ ____ ____ ____ ____ ____       
_ 0E42     CTC               1  0E42 ____ ____ ____ ____ ____ ____ ____       
_ 0E43     CTC               1  0E43 ____ ____ ____ ____ ____ ____ ____       
_ 1A00,256 3390              1  ____ ____ ____ ____ ____ ____ ____ ____       
_ 2A00,256 3390              1  ____ ____ ____ ____ ____ ____ ____ ____       
_ 3A00,256 3390              1  ____ ____ ____ ____ ____ ____ ____ ____       
```

</div></details>

整理すると以下のように定義されていることが分かります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/bf22053d-65a4-0571-0112-cfb4587a72d2.png)


# DeviceMapファイルの解説

これまで見てきた手順ではDeviceMapファイルは/mnt/ibmsys1/zdt/volumes/aprof1という名前でDASDイメージファイルと同じディレクトリに作成されます。

生成されたDeviceMapファイルを参考に中身を見ていきます。

<details><summary><font color="blue">DeviceMapファイル例</font></summary><div>

```xxx:/mnt/ibmsys1/zdt/volumes/aprof1
# This file was generated at 20201027_210548 -0500

[system]
processors      3
memory  12288m
3270port        3270
system_name     null

[adjunct-processors]

[manager]
name    aws3274 0002    #define a few 3270 terminals
device  0700    3279    3274    mstcon
device  0701    3279    3274    tso1
device  0702    3279    3274    tso2
device  0703    3279    3274    tso3
device  0704    3279    3274    tso4

[manager]
name    awsrdr  010C    #define a card reader for job submission
device  00C     2540    2821    /mnt/ibmsys1/zdt/cards//*

[manager]
name    awsprt  0005
device  00E     1403    2821    /mnt/ibmsys1/zdt/print/ #For ZD&T internal use only

[manager]
name    awsosa  0009    --path=A0       --pathtype=OSD  --tunnel_intf=y --tunnel_ip=172.26.1.1  #QDIO mode
device  400     osa     3274    --unitadd=0
device  401     osa     3274    --unitadd=1
device  402     osa     3274    --unitadd=2

[manager]
name    awsckd  0001
device  0A83    3390    3390    /mnt/ibmsys1/zdt/volumes/A4PAGA
device  0A82    3390    3390    /mnt/ibmsys1/zdt/volumes/A4SYS1
device  0A84    3390    3390    /mnt/ibmsys1/zdt/volumes/A4PAGB
device  0A85    3390    3390    /mnt/ibmsys1/zdt/volumes/SARES1
device  0A86    3390    3390    /mnt/ibmsys1/zdt/volumes/A4DBAR
device  0A87    3390    3390    /mnt/ibmsys1/zdt/volumes/A4USR1
device  0A88    3390    3390    /mnt/ibmsys1/zdt/volumes/A4PAGC
device  0A89    3390    3390    /mnt/ibmsys1/zdt/volumes/A4PRD4
device  0A8A    3390    3390    /mnt/ibmsys1/zdt/volumes/A4PRD3
device  0A8B    3390    3390    /mnt/ibmsys1/zdt/volumes/A4DIS2
device  0A8C    3390    3390    /mnt/ibmsys1/zdt/volumes/A4USS1
device  0A8D    3390    3390    /mnt/ibmsys1/zdt/volumes/A4USS2
device  0A8E    3390    3390    /mnt/ibmsys1/zdt/volumes/A4DIS1
device  0A8F    3390    3390    /mnt/ibmsys1/zdt/volumes/A4DIS3
device  0A90    3390    3390    /mnt/ibmsys1/zdt/volumes/A4DBC2
device  0A91    3390    3390    /mnt/ibmsys1/zdt/volumes/A4DBC1
device  0A81    3390    3390    /mnt/ibmsys1/zdt/volumes/A4RES2
device  0A92    3390    3390    /mnt/ibmsys1/zdt/volumes/A4CFG1
device  0A93    3390    3390    /mnt/ibmsys1/zdt/volumes/A4PRD1
device  0A94    3390    3390    /mnt/ibmsys1/zdt/volumes/A4PRD2
device  0A95    3390    3390    /mnt/ibmsys1/zdt/volumes/A4C551
device  0A80    3390    3390    /mnt/ibmsys1/zdt/volumes/A4RES1
device  0A96    3390    3390    /mnt/ibmsys1/zdt/volumes/A4ZCX1
device  0300    3390    3390    /mnt/ibmsys1/zdt/volumes/ZDTDPY
device  0301    3390    3390
device  0302    3390    3390
device  0303    3390    3390
device  0304    3390    3390
device  0305    3390    3390
device  0306    3390    3390
device  0307    3390    3390
device  0308    3390    3390
device  0309    3390    3390
device  030A    3390    3390
device  030B    3390    3390
device  030C    3390    3390
device  030D    3390    3390
device  030E    3390    3390
device  030F    3390    3390
device  0310    3390    3390
device  0311    3390    3390
device  0312    3390    3390
device  0313    3390    3390
```

</div></details>

DeviceMapファイルの詳細については以下のRedBookのChapter3に記載があります。
参考: [IBM ZPDT Guide and Reference](http://www.redbooks.ibm.com/abstracts/sg248205.html?Open)

## システム関連

ここでは、デプロイ操作時に指定したCPUやメモリの情報が反映されます。

```
[system]
processors      3
memory  12288m
3270port        3270
```

processorsではZD&Tインスタンスに割り当てるCPUコア数を指定します。ライセンス管理の記事でも示したように、ホストOSで認識されているコア数の範囲内で割り当てます(最低1つはホストOS用に残しておく)。また、管理対象となっているZD&Tインスタンスで割り当て可能なCPU数のトータルはライセンス・サーバーで管理されていますので、それを超えない範囲で割り当てる必要があります。
それとは別に、1つのZD&Tインスタンスに割り当てられるCP数は最大で8CPまでという制限もあります。
参考: [CP数について](https://qiita.com/tomotagwork/private/319475bcc924989260ef#cp%E6%95%B0%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)

DeviceMapファイルで`processors 3`と記載すると、GCPx3が割り当てられることになりますが、zIIPの割り当ても可能です。例えば、`processors 3 cp cp ziip`と記載すると、3CPのうちGCPx2, zIIPx1が割り当てられることになります。

memoryはZD&Tインスタンスに割り当てるメモリ・サイズです。これもホストOSで認識されているメモリから割り当てることになります。

3270portはnon-SNA端末と呼ばれる3270端末エミュレーター接続用のポート番号です。デフォルトで3270番ポートが使われます。

## non-SNA端末関連

non-SNA端末と呼ばれる3270端末エミュレーター(TN3270クライアント)から接続するためのデバイスの設定です。

```
[manager]
name    aws3274 0002    #define a few 3270 terminals
device  0700    3279    3274    mstcon
device  0701    3279    3274    tso1
device  0702    3279    3274    tso2
device  0703    3279    3274    tso3
device  0704    3279    3274    tso4
```

0700～0704はデバイスのアドレスを意味しており、IODF上はDevice Typeとして"3270-X"が指定されています。最後のmstcon, tso1～tso4 はLU名相当の名前です。PCOMなどのTN3270クライアントから、[system]の3270portで指定されたポート番号(3270)に対してこのLU名指定で接続できます。
デフォルトでは上のようにマスター・コンソール用(mstcon)が1つ、TSO用(tso1～tso4)が4つ、合計5つの端末が定義されていますので、non-SNA端末としては同時に5つまで接続できます。

※一般的にz/OSにPCOM接続する場合はz/OS上にTN3270サーバーを立ててそこに接続することになりますが、その場合はこのnon-SNA端末を使う訳ではありません。これは主にマスターコンソールや管理用に使われることが多いと思われます。

## OSA関連

ここではネットワーク関連の設定を行います。

```
[manager]
name    awsosa  0009    --path=A0       --pathtype=OSD  --tunnel_intf=y --tunnel_ip=172.26.1.1  #QDIO mode
device  400     osa     3274    --unitadd=0
device  401     osa     3274    --unitadd=1
device  402     osa     3274    --unitadd=2
```

デフォルトでは上のように1つのOSAに関する定義がされています。
ZD&Tでは`find_io`というコマンドが提供されており、Linux上のNICと、それをZD&T上で認識するためのCHPID(Channel Path ID)のマッピング情報を確認することができます。
以下、Linux上でfind_ioコマンドを実行した結果です。

```
[ibmsys1@zdt02 volumes]$ find_io

 FIND_IO for "ibmsys1@zdt02.ibmj-cloud-freeusage-p052.cloud"

         Interface         Current          MAC                IPv4              IPv6
 Path    Name              State            Address            Address           Address
------   ----------------  ---------------- -----------------  ----------------  --------------
  F0     eth0              UP, RUNNING      06:40:83:f5:e3:54  10.132.233.241    fe80::440:83ff:fef5:e354%eth0
  F1     eth1              DOWN             06:58:f2:34:e1:85  161.202.139.116   *
.
  A0     tap0              UP, RUNNING      32:0f:73:a1:03:40  172.26.1.1        fe80::300f:73ff:fea1:340%tap0
  A1     tap1              DOWN             02:a1:a1:a1:a1:a1  *                 *
  A2     tap2              DOWN             02:a2:a2:a2:a2:a2  *                 *
  A3     tap3              DOWN             02:a3:a3:a3:a3:a3  *                 *
  A4     tap4              DOWN             02:a4:a4:a4:a4:a4  *                 *
  A5     tap5              DOWN             02:a5:a5:a5:a5:a5  *                 *
  A6     tap6              DOWN             02:a6:a6:a6:a6:a6  *                 *
  A7     tap7              DOWN             02:a7:a7:a7:a7:a7  *                 *


         Interface                         Current Settings
 Path    Name              RxChkSum      TSO     GSO     GRO     LRO    RX VLAN       MTU**
------   ----------------  ---------------- -----------------  ----------------  --------------
  F0     eth0                On*         On*     On*     On*     Off      Off         1500
  F1     eth1                On*         On*     On*     On*     Off      Off         1500
.
  A0     tap0                Off         Off     On*     On*     Off      Off         1500

 *  Enabling these functions may lead to poor zPdt Performance,
    please refer to your zPdt documentation for details.

 ** To Enable Jumbo Frame Support, this MTU value and the MTU value for the
    Host Operating System must be set to > 1500.

 End of FIND_IO
```

上の例はZD&Tインスタンスが稼働している状態で実行したものです。tap0というのがUP,RUNNINGとなっています。Linux上にtap0という仮想のネットワーク・インターフェースが作成されており、CHPIDとしてはA0というのがアサインされていることが分かります。

DeviceMapファイルの`--path=A0` は、このtap0をOSAにマッピングしますよということを意味しており、`--tunnel_ip=172.26.1.1`指定によりLinux側のIPアドレスとして172.26.1.1を使用されることになります。この定義を元にZD&Tを起動すると、ifconfigで状況を見るとtap0に172.26.1.1が割り当てられている様子が分かります。

```
[ibmsys1@zdt02 ~]$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.132.233.241  netmask 255.255.255.192  broadcast 10.132.233.255
        inet6 fe80::440:83ff:fef5:e354  prefixlen 64  scopeid 0x20<link>
        ether 06:40:83:f5:e3:54  txqueuelen 1000  (Ethernet)
        RX packets 74927  bytes 69905450 (66.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 26971  bytes 3787319 (3.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 4261  bytes 461104 (450.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4261  bytes 461104 (450.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

tap0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.26.1.1  netmask 255.255.255.0  broadcast 172.26.1.255
        inet6 fe80::300f:73ff:fea1:340  prefixlen 64  scopeid 0x20<link>
        ether 32:0f:73:a1:03:40  txqueuelen 1000  (Ethernet)
        RX packets 6567  bytes 696609 (680.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 10038  bytes 687273 (671.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
```

tap0は仮想のインターフェースなので、外からアクセスすることはできません。ホストOSであるLinuxとその上のz/OSとの通信を行う際に、このtap0を経由して接続することになります。
つまり、Linux側アドレス: 172.26.1.1 - z/OS側アドレス: 172.26.1.2 としてお互いを認識してTCP/IPの通信が行えます。

ちなみにDeviceMapファイルの`device 400 ...` というように指定されている2列目の値(400, 401, 402)はデバイスのアドレスを意味しています。IODF上OSAとして定義されているアドレスです。
また、VTAMのTRL第ノードではTCP/IP通信用にそれぞれREAD,WRITE,DATAPATH用に定義されたアドレスです。

```xxx:ADCD.Z24A.VTAMLST(OSATRL2)抜粋
OSATRL1 VBUILD TYPE=TRL                                                 
OSATRL1E TRLE LNCTL=MPC,READ=(0400),WRITE=(0401),DATAPATH=(0402),      X
               PORTNAME=PORTA,                                         X
               MPCLEVEL=QDIO     
...
```

## DASD関連

Linux上のDASDイメージファイルと、IODFで定義されているDASD用のデバイス・アドレスとのマッピングを行います。

```
[manager]
name    awsckd  0001
device  0A83    3390    3390    /mnt/ibmsys1/zdt/volumes/A4PAGA
device  0A82    3390    3390    /mnt/ibmsys1/zdt/volumes/A4SYS1
device  0A84    3390    3390    /mnt/ibmsys1/zdt/volumes/A4PAGB
device  0A85    3390    3390    /mnt/ibmsys1/zdt/volumes/SARES1
device  0A86    3390    3390    /mnt/ibmsys1/zdt/volumes/A4DBAR
device  0A87    3390    3390    /mnt/ibmsys1/zdt/volumes/A4USR1
device  0A88    3390    3390    /mnt/ibmsys1/zdt/volumes/A4PAGC
device  0A89    3390    3390    /mnt/ibmsys1/zdt/volumes/A4PRD4
device  0A8A    3390    3390    /mnt/ibmsys1/zdt/volumes/A4PRD3
device  0A8B    3390    3390    /mnt/ibmsys1/zdt/volumes/A4DIS2
device  0A8C    3390    3390    /mnt/ibmsys1/zdt/volumes/A4USS1
device  0A8D    3390    3390    /mnt/ibmsys1/zdt/volumes/A4USS2
device  0A8E    3390    3390    /mnt/ibmsys1/zdt/volumes/A4DIS1
device  0A8F    3390    3390    /mnt/ibmsys1/zdt/volumes/A4DIS3
device  0A90    3390    3390    /mnt/ibmsys1/zdt/volumes/A4DBC2
device  0A91    3390    3390    /mnt/ibmsys1/zdt/volumes/A4DBC1
device  0A81    3390    3390    /mnt/ibmsys1/zdt/volumes/A4RES2
device  0A92    3390    3390    /mnt/ibmsys1/zdt/volumes/A4CFG1
device  0A93    3390    3390    /mnt/ibmsys1/zdt/volumes/A4PRD1
device  0A94    3390    3390    /mnt/ibmsys1/zdt/volumes/A4PRD2
device  0A95    3390    3390    /mnt/ibmsys1/zdt/volumes/A4C551
device  0A80    3390    3390    /mnt/ibmsys1/zdt/volumes/A4RES1
device  0A96    3390    3390    /mnt/ibmsys1/zdt/volumes/A4ZCX1
device  0300    3390    3390    /mnt/ibmsys1/zdt/volumes/ZDTDPY
device  0301    3390    3390
device  0302    3390    3390
device  0303    3390    3390
...
``` 

# おわりに
ここではDeviceMapファイルの構造をざっと見ましたが、ネットワーク関連とDASD関連についてはそれぞれ別の記事でもう少し細かくとりあげていきたいと思います。