も一つ・ArchLinux インストール覚書

[ArchLinux インストール覚書](http://qiita.com/katz_engineer/items/f032a24cb273c4eb6669)より始めたArchLinuxプロジェクト。[まだまだ・ArchLinux インストール覚書](http://qiita.com/katz_engineer/items/8897835ba8955ced9a3e)で作ったFreeNAS上のiSCSIターゲットに、Linuxサーバから接続します。
その為の基礎知識などは[まだ・ArchLinux インストール覚書](http://qiita.com/katz_engineer/items/b9f54dd544a4a905e626)を参照。

ただ、最終的には失敗でした。いえiSCSIイニシエータはきちんと動作したんですけども。ブート時の自動マウントが働きませんでした。詳細は稿末にて。

# Open-iSCSIをインストール

```
# pacman -S open-iscsi
```

# サービスの起動

認証は無いので設定の修正は不要。```systemd```によるサービスの設定だけです。

```
# systemctl start open-iscsi.service
```

また、再起動時にも自動起動されるようにします。

```
# systemctl enable open-iscsi.service
Created symlink /etc/systemd/system/multi-user.target.wants/open-iscsi.service -> /usr/lib/systemd/system/open-iscsi.service.
```

# iSCSIターゲットへ接続

ターゲットの発見。

```
# iscsiadm -m discovery -t sendtargets -p 〈iSCSIターゲットのIPアドレスまたはDNSで設定したマシン名〉
〈iSCSIターゲットのIPアドレスまたはDNSで設定したマシン名〉:3260,-1 iqn.2005-10.org.freenas.ctl:iscsi0
```

利用可能なターゲットにログイン。

```
# iscsiadm -m node -L all
Logging in to [iface: default, target: iqn.2005-10.org.freenas.ctl:iscsi0, portal: 〈iSCSIターゲットのIPアドレスまたはDNSで設定したマシン名〉,3260] (multiple)
Login to [iface: default, target: iqn.2005-10.org.freenas.ctl:iscsi0, portal: 〈iSCSIターゲットのIPアドレスまたはDNSで設定したマシン名〉,3260] successful.
```

アタッチされたデバイスの名前を確認。

```
# iscsiadm -m session -P 3 | grep Attached
                Attached SCSI devices:
                        Attached scsi disk sdc          State: running
# ls -l /dev/sdc
brw-rw---- 1 root disk 8, 32 Apr 11 22:53 /dev/sdc
```

# フォーマットとマウント

デバイスをフォーマット。btrfsで…と言いたい所ですが、本体はzfs上のzvolだし、普通にext4で十分。

<dl>
<dd>（2017.05.21.追記）</dd>
<dd>
ext4で十分と思っていましたが、色々考えてbtrfsにしました。<a href="http://qiita.com/katz_engineer/items/2dcc4f3e0a3dd7b828f8">重ねて・ArchLinux インストール覚書</a>を参照。
</dd>
</dl>

```
# mkfs.ext4 /dev/sdc
mke2fs 1.43.4 (31-Jan-2017)
Descarding device blocks: done
Creating filesystem with 536870912 4k blocks and 134217728 inodes
Filesystem UUID: d6065f9c-60eb-4a80-aa0e-5c08bf2ff070
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848, 512000000

Allocating group tables: done
Writing in ode tables: done
Creating journal (261244 blocks): done
Writing superblocks and filesystem accounting information: done

```

デバイスのマウント。
マウントポイントは適当に。今回は /iscsi としました。

<dl>
<dd>（2017.05.21.追記）</dd>
<dd>
マウントポイントを /iscsi にするのはやめて、明確な基準を以て設定する事にしました。<a href="http://qiita.com/katz_engineer/items/3c4bafd3aeb32aa2eaf0">重ね重ね・ArchLinux インストール覚書</a>を参照。
</dd>
</dl>

マウントオプションについては、悩みました。悩んだ末に data=journal に決めました。それ以外はすんなり決まったんですが。

Linuxのデフォルトは data=orderd で、速度を重視すれば data=writeback が最高速だとか。で、選択の根拠を得ようと調べてみたのですが…その意味を正確に記している資料がありません。少なくとも日本語では出てきませんでした。マウントオプションを決める為だけに今から英語資料を漁る気力は無いし。困った末に、書き込み速度よりも信頼性を選びました。ほとんど私一人しか使わないサーバーですし、読み出し速度は全く同じになりそうですし。

```
# mv /etc/fstab /etc/fstab.old
# cp /etc/fstab.old /etc/fstab
# vi /etc/stab
# diff -U0 /etc/fstab.old /etc/fstab
--- /etc/fstab.old      2017-04-12 23:49:51.627176796 +0900
+++ /etc/fstab  2017-04-16 01:16:39.360866963 +0900
@@ -7 +7 @@
-
+UUID=d6065f9c-60eb-4a80-aa0e-5c08bf2ff070      /iscsi  ext4    _netdev,noatime,data=journal,barrier=0,nobh,errors=remount-ro    0 2
# rm /etc/fstab.old
# mkdir /iscsi
# mount /dev/sdc
```

ちょっとだけ確認。

```
# ls /iscsi
lost+found
```

# 再起動の確認

このLinuxサーバで、適当なファイルを作成。それから、一応アンマウントしてから、再起動。

```
# mkdir /iscsi/test1
# echo hogetaraponn >/iscsi/test1/test2.txt
# umount /iscsi
# reboot
〈省略〉
```

失敗。ブート時の画面表示は下記。

```
starting version 232
Scanning for Btrfs filesystems
[    6.697569] dell_smm_hwmon: unable to get SMM Dell signature
[      ] A start job is running for dev-sdc.device (30s / 1min 30s)
```

この後で一応ログインプロンプトは表示されますが、/iscsi が空になっています。/dev/sdc も存在せず。状況から見て、iSCSIターゲットにログインしていませんね。マウント以前の問題です。

その辺を自分で書く必要があるのかな… ```systemd```の作法に則って何か書かなければならないのかも知れません。調べて対応するのに少々時間がかかりそうなので、ひとまずここまでを投稿しておきます。ふぅ…