CentOS7.4 で ZFS な iSCSI ターゲットを作成する

環境

CentOS7 を minimal インストールして yum -y update した状態。

# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
# uname -a
Linux localhost 3.10.0-693.21.1.el7.x86_64

3TBのHDDを3台接続。

# cat /proc/partitions
major minor  #blocks  name

   8        0  250059096 sda
   8        1    1048576 sda1
   8        2  249009152 sda2
   8       16 2930266584 sdb
   8       32 2930266584 sdc
   8       48 2930266584 sdd

ZFSのインストール・設定

リポジトリの追加

# rpm -Uvh http://download.zfsonlinux.org/epel/zfs-release.el7_4.noarch.rpm

必要パッケージのインストール

# yum install -y kernel-devel gcc-c++ zfs

ネット上の情報では kernel-devel と zfs をインストールするようなことが書いてあるが、 gcc-c++ も入れておかないと以下のエラーになるようだ。

# zpool status
The ZFS modules are not loaded.
Try running '/sbin/modprobe zfs' as root to load them.
# /sbin/modprobe zfs
modprobe: FATAL: Module zfs not found.

CentOSなら zfs-kmod のほうがいいかもしれない

自動起動設定

# systemctl enable zfs-import-cache
# systemctl enable zfs-mount
# systemctl enable zfs.target

とりあえず、ここらで再起動しておこう

ストレージプール作成

# zpool create tank raidz /dev/sdb /dev/sdc /dev/sdd

ちなみに、他で動いていたHDDをまとめて移行する場合は zfs import で持ってこれるようだ。

# zpool import

ボリューム作成

# zfs create -V 1T tank/vol

デバイス確認

# lsblk -l
NAME          MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda             8:0    0 238.5G  0 disk
sda1            8:1    0     1G  0 part /boot
sda2            8:2    0 237.5G  0 part
  :
zd0           230:0    0     1T  0 disk

zd0 ができてる

iSCSIのインストール・設定

必要パッケージのインストール

# yum -y install targetcli

起動しておこう

# systemctl start target

自動起動設定

# systemctl enable target

targetcli(ストレージマネージャー)での設定

# targetcli

ブロックデバイスをLUNに登録

/> /backstores/block create name=lun0 dev=/dev/zd0

IQNを作成

/> /iscsi create 

IQNにデバイスを紐づけ

/> /iscsi/iqn..../tpg1/luns create /backstores/block/lun0 

IQNにイニシエーターを紐づけ

/> /iscsi/iqn..../tpg1/acls create iqn.... 

ここまでの設定を保存

/> saveconfig

ファイアウォールに穴あけ。

# firewall-cmd --zone=public --permanent --add-port=3260/tcp

接続

イニシエーターから接続してみよう!

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.