ArchLinux インストール覚書より始めたArchLinuxプロジェクト。まだまだ・ArchLinux インストール覚書で作ったFreeNAS上のiSCSIターゲットに、Linuxサーバから接続します。
その為の基礎知識などはまだ・ArchLinux インストール覚書を参照。
ただ、最終的には失敗でした。いえ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で十分。
- (2017.05.21.追記)
- ext4で十分と思っていましたが、色々考えてbtrfsにしました。重ねて・ArchLinux インストール覚書を参照。
# 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 としました。
- (2017.05.21.追記)
- マウントポイントを /iscsi にするのはやめて、明確な基準を以て設定する事にしました。重ね重ね・ArchLinux インストール覚書を参照。
マウントオプションについては、悩みました。悩んだ末に 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
の作法に則って何か書かなければならないのかも知れません。調べて対応するのに少々時間がかかりそうなので、ひとまずここまでを投稿しておきます。ふぅ…