一、iSCSI介绍
ISCSI技术实现了物理硬盘设备与TCP/IP网络协议的相互结合,使得用户可以通过互联网方便地访问远程机房提供的共享存储资源。
主要作用:通过以太网远程挂载服务硬盘
当前的硬盘接口类型主要有:
IDE是一种成熟稳定、价格便宜的并行传输接口
SATA是一种传输速度更快、数据校验更完整的串行传输接口
SCSI是一种用于计算机和硬盘、光驱等设备之间系统级接口的通用标准,具有系统资源占用率低、转速高、传输速度快等优点
ISCSI是SCSI接口与以太网技术相结合的新型存储技术,可以在网络中传输SCSI接口的命令和数据,实现了跨区域的存储资源共享,还可以在不停机的状态下扩展存储容量
ISCSI存储技术非常便捷,在访问存储资源的形式上发生了很大的编号,摆脱了物理环境的限制,同时还可以把存储资源分给多个服务器共同使用,因此是一种非常推荐使用的存储技术。但是ISCSI存储技术受到了网速的制约,以往,硬盘设备是直接通过主板上的总线进行数据传输,现在则需要让互联网作为数据传输的载体和通道,因此传输速率和稳定性是ISCSI技术的瓶颈
运行Linux系统的服务器会基于ISCSI协议把硬盘设备命令与数据打包成标准的TCP/IP数据包,然后通过以太网传输到目标存储设备,而当目标存储设备接收到这些数据包后,还需要基于ISCSI协议把TCP/IP数据奥解压成硬盘设备命令与数据
二、展开操作
服务端配置
1.配置好yum仓库,安装iscsi程序
[root@localhost ~]#yum -y install targetd targetcli [root@localhost ~]#systemctl start targetd [root@localhost ~]#systemctl enable targetd
2.配置ISCSI服务端共享资源
[root@localhost ~]# targetcli //出现/>表示成功进入交互式模式 targetcli shell version 2.1.fb46 Copyright 2011-2013 by Datera, Inc and others. For help on commands, type 'help'. /> ls
红框表示当前目录
黄框表示里面有什么子目录
| o-表示子目录中的目录
/>cd backstores/block /backstores/block> create disk0 /dev/md0 Created block storage object disk0 using /dev/md0.
3.创建iscisi target名称及配置共享资源
/backstores/block> cd / /> cd /iscsi /iscsi> create Created target iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e0a3bdb27cc4. Created TPG 1. Global pref auto_add_default_portal=true Created default portal listening on all IPs (0.0.0.0), port 3260. /iscsi> ls //发现有了共享资源目录
红框中的是系统自动生成的共享资源名称
黄框中包含蓝框中的内容和青框中的内容
蓝框定义方块控制列表
青框定义访问的ip地址
/iscsi> cd tpg1 /iscsi> cd luns /iscsi> create /backstores/blocks/disk0 //将此字符串共享资源与 disk0硬盘进行绑定
4.设置访问控制列表
/iscsi/iqn.20...d80/tpg1/luns> cd .. /iscsi/iqn.20...c356ad80/tpg1> cd acls /iscsi/iqn.20...cc4/tpg1/acls> create iqn.2003-01.org.linux-iscsi.localhost. .x8664:sn.e0a3bdb27cc4:client //用于与客户端进行验证使用
5.设置 iSCSI 服务端的监听 IP 地址和端口号
/iscsi/iqn.20...cc4/tpg1/acls> cd .. /iscsi/iqn.20...bdb27cc4/tpg1> cd portals/ /iscsi/iqn.20.../tpg1/portals> delete 0.0.0.0 3260 //必须先删除默认的否则出错 Deleted network portal 0.0.0.0:3260 /iscsi/iqn.20.../tpg1/portals> create 192.168.81.200 Using default IP port 3260 Created network portal 192.168.81.200:3260.
6.查看ISCSI是否完全配置好7.设置防火墙允许放行3260端口
[root@localhost ~]# systemctl restart targetd.service //重启ISCSI程序 [root@localhost ~]# firewall-cmd --permanent --add-port=3260/tcp success [root@localhost ~]# firewall-cmd --reload success
Linux客户端配置
1.安装客户端工具
[root@localhost ~]#yum install iscsi-initiator-utils
2.编辑客户端主配置文件
[root@localhost ~]# vim /etc/iscsi/initiatorname.iscsi 写入: nitiatorName=iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.8fc9f96bb3af:c lient
3.重启服务
[root@localhost ~]# systemctl restart iscsid
4.使用iscsiadm工具扫描远程服务端
[root@localhost ~]# iscsiadm -m discovery -t st -p 192.168.81.200 192.168.81.200:3260,1.iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.8fc9f 96bb3af
5.登录
[root@localhost ~]#iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.8fc9f96bb3af -p192.168.81.200 --login Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.8fc9f96bb3af, portal: 192.168.81.200,3260] (multiple) Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.8fc9f96bb3af, portal: 192.168.81.200,3260] successful.
6.发现多了一块新硬盘如/dev/sdb
[root@localhost ~]file /dev/sdb
7.卸载远程主机上的硬盘
[root@localhost ~] iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80 -u
Windows客户端
1.启动ISCSI服务
控制面板–>程序和功能–>左边 系统和安全–>管理工具–>找到ISCSI发起程
第一次启动提示你没有开启微软ISCSI服务,点是就完事了
2.连接
点击目标选项卡–>写入ip地址,点快速链接–>完成-
发现已经出现了共享资源
3.配置
点击配置选项卡–>更改–>写上发起程序名称,也就是在服务器创建的那个与共享资源目录同名的–>返回目标选项卡–>点击连接即可
4.验证
计算机右键–>管理–>磁盘管理–>发现多了一块硬盘
总结:经过两台客户端同时挂载,同时格式化,里面还是各自的文件
三、扩展
一台iscsi服务器实现多个硬盘共享
1.需要在/backstores/blocks/创建新的disk1
create disk1 /dev/sdg
2.进入/iscsi
create
3.进入字符共享目录
cd iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.4a0dd1c81e40
4.进入tpg目录
cd tpg1
5.定义访问控制列表
cd acls create iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.4a0dd1c81e40 :clent
6.关联
cd luns create /beackstores/blocks/disk1
7.定义访问的ip
cd portals create 192.168.81.200
完成