Linux 运维手册之 iSCSI 网络存储服务
后知后觉 暂无评论

iSCSIInternet Small Computer Systems Interface,小型计算机系统接口)是一种基于因特网及 SCSI-3 协议下的存储技术。

常用的硬盘连接接口有 IDE SCSI SAS SATA PCI-E 等,而 iSCSI 是一种常用的网络存储系统,iSCSI 存储通过网络为主机提供像硬盘一样的存储设备,也可以称之为“块级存储”,发音为 /ˈаɪskʌzi/(唉思嘎资)。

搭建 iSCSI 服务

安装 iSCSI 服务

iSCSI 也是常见的 C/S 架构,因此需要搭建服务端。

# yum install -y targetd targetcli
小贴士:targetd 是服务端守护进程,targetcli 是命令行控制器。

配置服务开机自启动

# systemctl start targetd
# systemctl enable targetd

配置 iSCSI 服务

# targetcli

执行此命令即可进入命令行控制模式,

小贴士:在 iSCSI 中全部的共享资源都被虚拟为目录,我们只需要将需要挂载的目录创建即可。
[root@domain ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0    5G  0 disk 
└─sdb1            8:17   0    5G  0 part 
sr0              11:0    1 1024M  0 rom
说明:分享的磁盘最好单独分开,因此本文添加了一块 5G 的硬盘,并格式化。

创建分享的目录

/> /backstores/block create wave:storage1 /dev/sdb1

查看分享目录结构

/> ls /backstores/block/
o- block ................................................. [Storage Objects: 1]
  o- wave:storage1 ............... [/dev/sdb1 (0 bytes) write-thru deactivated]
    o- alua .................................................. [ALUA Groups: 1]
      o- default_tg_pt_gp ...................... [ALUA state: Active/optimized]

创建 IQN 服务

/> /iscsi create iqn.2018-08.com.domain.storage1
小贴士:IQN 格式: iqn.YYYY(年)-MM(月).域名反写:随机串,此处的规范是既定格式,iSCSI 合规名称(iSCSI Qualified Name)。详情请查看维基百科词条。

创建访问控制规则(ACL)

/> /iscsi/iqn.2018-08.com.domain.storage1/tpg1/acls create iqn.2018-08.com.domain:material

配置监听地址及端口

/> /iscsi/iqn.2018-08.com.domain.storage1/tpg1/portals/ create 0.0.0.0

保存配置

/> saveconfig
小贴士:此处必须使用此命令保存配置,请勿使用CTRL+C等命令进行结束。

退出命令行控制器

/> exit

若开启了防火墙

firewalld

# firewall-cmd --permanent --add-port=3260/tcp
# firewall-cmd --reload

iptables

iptables -A INPUT  -p tcp -s 192.168.100.0/24 --dport 3260 -j ACCEPT

Linux 客户端

Fedora 连接

本文以 Fedora 28 为例进行远程挂载

安装客户端工具。

# dnf install iscsi-initiator-utils

配置服务端

# cat /etc/iscsi/initiatorname.iscsi

将其中的 = 后面的字符串改为 acls 文件夹中的内容。

InitiatorName=iqn.2018-08.com.domain:material

重启服务

# systemctl restart iscsid
# systemctl restart iscsi

探测远端服务存活

# iscsiadm -m discovery -t st -p 10.0.0.200
提示:-m 指定动作,-t sendtargets 指定协议,-p 指定端口。

连接 iSCSI 服务端

# iscsiadm -m node -T iqn.2018-08.com.domain.storage1 -p 10.0.0.200 -l
小贴士:-l 等同于 --login

挂载之后展示块设备

# lsblk

挂载上的设备格式化即可使用

# fdisk /dev/sdb
# mkfs.xfs /dev/sdb1
# mount /dev/sda1 /mnt

Windows 客户端

Windows 7 及 Vista 系统

打开 控制面板 - 系统和安全 - 管理工具

打开 iSCSI 发起程序 功能

Windows 8 及 10 系统

打开 控制面板\系统和安全\管理工具

目标改为目标主机,切换至“配置”选项卡,将发起程序名称改为服务器上的 acls 。

保存连接即可


附录

参考链接

本文撰写于一年前,如出现图片失效或有任何问题,请在下方留言。博主看到后将及时修正,谢谢!
禁用 / 当前已拒绝评论,仅可查看「历史评论」。