AIX 7.3 で rootvg にファイルシステムを追加する際の3パターンのファイルシステム・ログ 設定

## はじめに

AIX 7.3 では ファイルシステムの作成 (crfs コマンド) のデフォルト挙動変更があったため、ファイルシステム・ログ指定でも注意が必要です。

<br>

ユーザー定義ボリュームグループにおけるcrfsコマンドの挙動については、次の記事をご参照ください。

https://qiita.com/c_u/items/72b4b8f1ee58d0623799

今回は rootvg にファイルシステムを追加する場合を確認しました。
rootvg でファイルシステムを追加する場合にご参考ください。

<br>

## 環境

AIX 7.3 TL3 


```
# oslevel -s
7300-02-01-2346
```

rootvgの LV(論理ボリューム) の状態

```
# lsvg -l rootvg
rootvg:
LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT
hd5                 boot       2       2       1    closed/syncd  N/A
hd6                 paging     16      16      1    open/syncd    N/A
hd8                 jfs2log    1       1       1    open/syncd    N/A
hd4                 jfs2       3       3       1    open/syncd    /
hd2                 jfs2       75      75      1    open/syncd    /usr
hd9var              jfs2       6       6       1    open/syncd    /var
hd3                 jfs2       4       4       1    open/syncd    /tmp
hd1                 jfs2       1       1       1    open/syncd    /home
hd10opt             jfs2       1       1       1    open/syncd    /opt
hd11admin           jfs2       4       4       1    open/syncd    /admin
lg_dumplv           sysdump    32      32      1    open/syncd    N/A
livedump            jfs2       8       8       1    open/syncd    /var/adm/ras/livedump
#
```

<br>

ファイルシステムの状態

```
# lsfs
Name            Nodename   Mount Pt               VFS   Size    Options    Auto Accounting
/dev/hd4        --         /                      jfs2  196608  --         yes  no
/dev/hd1        --         /home                  jfs2  65536   --         yes  no
/dev/hd2        --         /usr                   jfs2  4915200 --         yes  no
/dev/hd9var     --         /var                   jfs2  393216  --         yes  no
/dev/hd3        --         /tmp                   jfs2  262144  --         yes  no
/dev/hd11admin  --         /admin                 jfs2  262144  --         yes  no
/proc           --         /proc                  procfs --      --         yes  no
/dev/hd10opt    --         /opt                   jfs2  65536   --         yes  no
/dev/livedump   --         /var/adm/ras/livedump  jfs2  524288  --         yes  no
```

---

## 確認内容

rootvg 上でファイルシステムを作成する際に、ファイルシステム・ログがどのように設定されるか（INLINE または OUTLINE)、以下 3つのパターンで確認します。

1.  オプションなしでファイルシステムを作成した場合
2.  `log=OUTLINE` オプションを指定した場合
3.  専用のログ用論理ボリュームを指定した場合

<br>

### ① オプションなしで /test ファイルシステムを rootvg 上に作成した場合

/test という名前の jfs2 ファイルシステムを 1GB で作成します。

```
# crfs -v jfs2 -g rootvg -m /test -a size=1G
File system created successfully.
1040148 kilobytes total disk space.
New File System size is 2097152
```

確認

```
# lsfs -q /test
Name            Nodename   Mount Pt               VFS   Size    Options    Auto Accounting
/dev/fslv00     --         /test                  jfs2  2097152 --         no   no
  (lv size: 2097152, fs size: 2097152, block size: 4096, sparse files: yes, inline log: yes, inline log size: 8, EAformat: v1, Quota: no, DMAPI: no, VIX: yes, EFS: no, ISNAPSHOT: no, MAXEXT: 0, MountGuard: no, LFF: no)
```

作成したファイルシステムをマウントします。

```
# mount /test
# mount | grep test
         /dev/fslv00      /test            jfs2   May 02 19:39 rw,log=INLINE
```

<br>

**結果:** オプションを指定しない場合、ファイルシステムは **INLINEログ** で作成されました。


<br>

---

### ② OUTLINE オプション付きで /test2 ファイルシステムを作成した場合

/test2 という名前の jfs2 ファイルシステムを 1GB で OUTLINE指定で作成します。

```
# crfs -v jfs2 -g rootvg -m /test2 -a size=1G -a log=OUTLINE
File system created successfully.
1048340 kilobytes total disk space.
New File System size is 2097152
```

確認

```
# lsfs -q /test2
Name            Nodename   Mount Pt               VFS   Size    Options    Auto Accounting
/dev/fslv01     --         /test2                 jfs2  2097152 --         no   no
  (lv size: 2097152, fs size: 2097152, block size: 4096, sparse files: yes, inline log: no, inline log size: 0, EAformat: v1, Quota: no, DMAPI: no, VIX: yes, EFS: no, ISNAPSHOT: no, MAXEXT: 0, MountGuard: no, LFF: no)
```

```
# mount /test2
# mount | grep /test2
         /dev/fslv01      /test2           jfs2   May 02 19:52 rw,log=/dev/hd8
```

<br>

**結果:** OUTLINE 指定ではファイルシステム・ログはrootvg既存の jfs2log論理ボリュームの **/dev/hd8** に設定されました

```
# lsvg -l rootvg | grep hd8
hd8                 jfs2log    1       1       1    open/syncd    N/A
```


<br>

---

### ③ 専用ファイルシステム・ログの論理ボリュームを別途作成した場合


testloglv という名前の jfs2log タイプの論理ボリュームを作成します。

```
# mklv -y testloglv  -t jfs2log rootvg 2 hdisk0
testloglv
```

確認

```
# lsvg -l rootvg | grep testloglv
testloglv           jfs2log    2       2       1    closed/syncd  N/A
```

```
# lslv testloglv
LOGICAL VOLUME:     testloglv              VOLUME GROUP:   rootvg
LV IDENTIFIER:      00f98db500004c0000000195acead602.15 PERMISSION:     read/write
VG STATE:           active/complete        LV STATE:       closed/syncd
TYPE:               jfs2log                WRITE VERIFY:   off
MAX LPs:            512                    PP SIZE:        32 megabyte(s)
COPIES:             1                      SCHED POLICY:   parallel
LPs:                2                      PPs:            2
STALE PPs:          0                      BB POLICY:      relocatable
INTER-POLICY:       minimum                RELOCATABLE:    yes
INTRA-POLICY:       middle                 UPPER BOUND:    32
MOUNT POINT:        N/A                    LABEL:          None
MIRROR WRITE CONSISTENCY: on/ACTIVE
EACH LP COPY ON A SEPARATE PV ?: yes
Serialize IO ?:     NO
INFINITE RETRY:     no                     PREFERRED READ: 0
ENCRYPTION:         no
```


```
# ls -l /dev/testloglv
brw-rw----    1 root     system       10, 15 May 02 20:05 /dev/testloglv
```

ログフォームを実行します。

```
# logform /dev/testloglv
logform: destroy /dev/rtestloglv (y)?y
```

rootvg 上に /test3 という名前の jfs2 ファイルシステムを 1GB で作成します。ログ・オプションには /dev/testloglv を指定します。


```
# crfs -v jfs2 -g rootvg -m /test3 -a size=1G -a log=/dev/testloglv
File system created successfully.
1048340 kilobytes total disk space.
New File System size is 2097152
```

確認

```
# lsfs -q /test3
Name            Nodename   Mount Pt               VFS   Size    Options    Auto Accounting
/dev/fslv02     --         /test3                 jfs2  2097152 --         no   no
  (lv size: 2097152, fs size: 2097152, block size: 4096, sparse files: yes, inline log: no, inline log size: 0, EAformat: v1, Quota: no, DMAPI: no, VIX: yes, EFS: no, ISNAPSHOT: no, MAXEXT: 0, MountGuard: no, LFF: no)
```

```
# mount /test3
# mount | grep /test3
         /dev/fslv02      /test3           jfs2   May 02 20:10 rw,log=/dev/testloglv
```

<br>

**結果: /dev/testloglv**  に ファイルシステム・ログが設定されました。



<br>


## おわりに


rootvg のファイルシステム・ログについて3つの方法を確認しました。


参考　[crfs コマンド](https://www.ibm.com/docs/ja/aix/7.3?topic=c-crfs-command)

以上です。