iSCSI( Internet Small Computer System Interface 互联网小型计算机系统接口) 技术是一种新存储技术,该技术是将现有的SCSI接口与以太网技术相结合,使服务器可与使用IP网络的存储装置互相交换资料。
基本概念
ISCSI 这个架构主要将存储装置与使用的主机分别为两部分,分别是:
- ISCSI target :就是存储设备端,存放磁盘或RAID的设备,目前也能够将Linux主机仿真成ISCSI target了,目的在提供其他主机使用的磁盘。
- ISCSI inITiator: 就是能够使用target的客户端,通常是服务器,只有装有iscsi initiator的相关功能后才能使用ISCSI target 提供的磁盘。
配置iSCSI服务端(target)
安装
yum -y install targetcli
systemctl enable targetcli
fdisk # 创建一个新分区
fdisk /dev/sdb
partprobe # 同步内核分区表
配置
这里使用targetcli
命令进入iscsi配置
[root@localhost ~]# targetcli
targetcli shell version 2.1.57
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
创建iSCSI target名称和配置共享资源
# 进入存储卷目录
/> cd backstores/block
# 创建储存卷
/backstores/block> create name=block1 dev=/dev/sdb1
# 回到主目录
/backstores/block> cd ../../../..
/> cd iscsi
# 创建iscsi target
/iscsi> create
# 输出:
/iscsi> create
Created target iqn.2003-01.org.linux-iscsi.master.x8664:sn.980f34541195.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi>
# 创建共享设备
/iscsi/iqn.20....980f34541195> cd tpg1/luns
设置服务端访问控制列表(这是?)
# 进入acl目录
/iscsi/iqn.20...195/tpg1/luns> cd ..
/iscsi/iqn.20...34541195/tpg1> cd acls
这是访问控制列表
格式:iqn.YYYY-MM.reverse.domain:identifier
YYYY-MM
是域名的注册月份。reverse.domain
是反向的域名(例如com.example
)。identifier
是客户端的标识符(例如client
)。
/iscsi/iqn.20...195/tpg1/acls> create iqn.2024-11.org.alexblock:client
设置iSCSI服务端的监听IP地址和端口号(存疑,这个好像不需要配置)
/iscsi/iqn.20...195/tpg1/acls> cd ..
/iscsi/iqn.20...34541195/tpg1> cd portals/
/iscsi/iqn.20.../tpg1/portals> create ip_address=192.168.10.3 ip_port=3260
Using default IP port 3260
Could not create NetworkPortal in configFS
/iscsi/iqn.20.../tpg1/portals> create ip_address=192.168.10.4 ip_port=3260
Using default IP port 3260
Could not create NetworkPortal in configFS
/iscsi/iqn.20.../tpg1/portals> create ip_port=3260
Using default IP port 3260
Binding to INADDR_ANY (0.0.0.0)
This NetworkPortal already exists in configFS
保存和后续操作
systemctl restart targetclid
Linux使用 iSCSI
yum -y install iscsi-initiator-utils
vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2024-11.org.alexblock:client
[root@node1 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.10.3:3260
192.168.10.3:3260,1 iqn.2003-01.org.linux-iscsi.master.x8664:sn.980f34541195
[root@node1 ~]# sudo iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.master.x8664:sn.980f34541195 -p 192.168.10.3:3260 -l
Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.master.x8664:sn.980f34541195, portal: 192.168.10.3,3260]
Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.master.x8664:sn.980f34541195, portal: 192.168.10.3,3260] successful.
# 查看连接状态
[root@node1 ~]# iscsiadm -m session
tcp: [1] 192.168.10.3:3260,1 iqn.2003-01.org.linux-iscsi.master.x8664:sn.980f34541195 (non-flash)
# 使用 lsblk 或 fdisk -l 命令查看新添加的设备
[root@node1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─rl-root 253:0 0 17G 0 lvm /
└─rl-swap 253:1 0 2G 0 lvm
sdb 8:16 0 20G 0 disk
sr0 11:0 1 8.8G 0 rom
Disk /dev/sdb: 20 GiB, 21473787904 bytes, 41940992 sectors
Disk model: block1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 4194304 bytes
# 格式化并挂载
mkfs.ext4 /dev/sdb
sudo mkdir /iscsi
sudo mount /dev/sdb /iscsi
退出iscsi
iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.master.x8664:sn.980f34541195 -p 192.168.10.3:3260 -u
Windows下使用iscsi
图片来自 曹世宏的博客
没有评论