一、ISCSI简单介绍
iSCSI(Internet Small Computer System Interface)是一种基于IP的存储技术,它使用TCP/IP协议作为传输层,将SCSI命令封装为IP数据包并在网络中传输。iSCSI可以在IP网络上构建SAN(Storage Area Network),实现远程存储访问和管理。iSCSI技术具有以下优点:
- 基于IP,易于部署和管理;
- 可以实现远程存储访问;
- 可以实现数据块级备份和恢复;
- 可以实现数据的快照和复制;
- 可以实现数据的容错和冗余。
二、ISCSI构建
1)服务器端配置
ISCSI可以使用一个已格式化的分区,单独块,目录。都可以作为共享给服务器添加一块新硬盘,不进行格式化和分区处理【一定要在关机状态下添加新磁盘;如果是开机状态添加的新磁盘则需要进行重启,否则不生效】
安装ISCSI
#centos7中使用targetcli
yum install targetcli -y
#centos6
yum install scsi-target-utils -y
创建IQN标签
targetcli #在shell中执行此命令进入配置iscsi窗口
cd /backstores/block
#创建要共享的磁盘,并指定名字
create slave /dev/sdb
#建立iqn 命名在同一子网内确保是惟一的,命名格式为:iqn.yyyy-mm. <主机名反写> :自定义名称
cd /iscsi
create iqn.2023-06.com.langren.www.master:slave
建立acl允许ISCSI客户端链接
#cd到acl目录下
cd iqn.2023-06.com.langren.www.master:slave/tpg1/acls
#创建acl规则
create iqn.2023-06.com.langren.www.master:slave
建立lun(target块设备的逻辑单元) 把新创建的分区和iqn绑定
create /backstores/block/slave
配置完成后如下图所示,最后记得保存退出
saveconfig #保存当前配置,如果不保存重启会失效
exit #退出
设置监听地址和端口
这里要注意的是,使用ls查看一下是否是已经有0.0.0.0 3260这个条目,若是有删除掉再建立,否则会报错,还有一点的是若是 tgtd服务正在开启的状况下也没法建立,必须先停掉tgtd这个服务。
#在iqn下的portals目录内设置
create 10.0.10.11 ip_port=3260
设置登录验证
set auth userid=admin
set auth passwd=admin
2)客户端连接
安装客户端软件
yum install iscsi-initiator-utils -y
#启动客户端程序
service iscsi start
service iscsid start
发现服务器
iscsiadm -m discovery -t st -p 10.10.10.11
修改vim /etc/iscsi/initiatorname.iscsi文件内的iqn地址
InitiatorName=【你创建的iqn地址】
登录服务器
iscsiadm -m node -T iqn.2023-06.com.langren.www.master:slave --login
#登出服务器
umount /dev/sdb1 #解除挂载
iscsiadm -m node -T iqn.2023-06.com.langren.www.master:slave --logout
#如何服务端配置了认证,客户端需要在配置文件中开启认证模式填写认证用户和密码
再次查看磁盘可以发现已经有了一块新硬盘
在客户端使用fdisk命令创建分区即可
#创建分区
fdisk /dev/sdb
#格式化分区
mkfs.ext4 /dev/sdb1
#创建挂载目录
mkdir /mnt/iscsi
mount /dev/sdb1 /mnt/iscsi/