iSCSIイニシエータのopen-iscsiをインストールする手順を記載します。
Table of Contents
1 open-iscsiのインストール
open-iscsiパッケージをインストールします。
$ sudo pacman -Sy --noconfirm open-iscsi
2 iscsiadmでiSCSIターゲットに接続
iscsiadmコマンドでiscsiターゲットに接続します。
$ ISCSI_TARGET_PORTAL=iscsi-target.hiroom2.com $ ISCSI_TARGET_NAME=iqn.2017-08.com.hiroom2:disk $ sudo iscsiadm -m discovery -t st -p "${ISCSI_TARGET_PORTAL}" 192.168.11.95:3260,1 iqn.2017-08.com.hiroom2:disk $ sudo iscsiadm -m node \ --targetname "${ISCSI_TARGET_NAME}" -p "${ISCSI_TARGET_PORTAL}" -l Logging in to [iface: default, target: iqn.2017-08.com.hiroom2:disk, portal: 192.168.11.95,3260] (multiple) Login to [iface: default, target: iqn.2017-08.com.hiroom2:disk, portal: 192.168.11.95,3260] successful.
3 起動時にマウント
/etc/iscsi/iscsid.confでnode.startupをautomaticに変更します。
$ sudo sed -e 's/^node.startup = manual/node.startup = automatic/g' \ -i /etc/iscsi/iscsid.conf
iSCSIターゲットに接続します。node.startupをautomaticに変更前に接続している場合は、node.startupをautomaticに変更後に再度接続してください。
$ sudo iscsiadm -m discovery -t st -p "${ISCSI_TARGET_PORTAL}" $ sudo iscsiadm -m node \ --targetname "${ISCSI_TARGET_NAME}" -p "${ISCSI_TARGET_PORTAL}" -l
fdiskとmkfsでファイルシステムを作成します。
$ ISCSI_TARGET_DEV=/dev/sda $ cat <<EOF | sudo fdisk ${ISCSI_TARGET_DEV} n p 1 w EOF $ sudo mkfs.ext4 ${ISCSI_TARGET_DEV}1
他のファイルシステムと同様に/etc/fstabに追記します。ネットワーク初期化前にマウントするのを防ぐために、_netdevをオプションを指定する必要があります。x-systemd.automountにマウントさせるために、x-systemd.automountをオプションに指定する必要があります。
$ uuid=$(sudo blkid | grep "^${ISCSI_TARGET_DEV}1:" | \ sed -e 's/.* UUID="\([^"]*\)".*/\1/g') $ cat <<EOF | sudo tee -a /etc/fstab UUID="${uuid}" /mnt ext4 _netdev,x-systemd.automount 0 0 EOF
iscsiadmでiSCSIターゲットにアタッチするサービスを作成します。
$ cat <<EOF | sudo tee /usr/lib/systemd/system/iscsiadm.service [Unit] Description=Login and scanning of iSCSI devices After=network.target Before=open-iscsi.service [Service] Type=oneshot RemainAfterExit=true ExecStart=/sbin/iscsiadm -m node --loginall=automatic ExecReload=/sbin/iscsiadm -m node --loginall=automatic ExecStop=/sbin/iscsiadm -m node --logoutall=all [Install] WantedBy=multi-user.target EOF $ sudo systemctl daemon-reload $ sudo systemctl enable iscsiadm.service