一、ISCSI简介
认识iSCSI:
ISCSI(Internet Small Computer System Interface,Internet小型计算机系统接口)是一种由IBM公司研究开发的IP SAN技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,基于TCP/IP的协议连接iSCSI服务端(Target)和客户端(Initiator),使得封装后的SCSI数据包可以在通用互联网传输,最终实现iSCSI服务端映射为一个存储空间(磁盘)提供给已连接认证后的客户端。
SCSI(Small Computer SystemInterface)是一种I/O技术,规范了一种并行的I/O总线和相关的协议,SCSI的数据传输是以块的方式进行的。 SCSI总线通过SCSI控制器来和硬盘之类的设备进行通信, SCSI控制器称为Target,访问的客户端应用称为Initiator。窄SCSI总线最多允许8个、宽SCSI总线最多允许16个不同的SCSI设备和它进行连接,每个SCSI设备都必须有自己唯一的SCSIID(设备的地址)
iSCSI实现
(1)iSCSI Target
即 iSCSI 目标,它是 iSCSI 网络的服务器组件,通常是一个存储设备,用于包含所需的数据并回应来自 iSCSI 启动器的请求。
(2)iSCSI Initiator
iSCSI 启动器,从本质上说,iSCSI 启动器是一个客户端设备,用于将请求连接并启动到服务器(iSCSI 目标)。
工作过程
(1)Initiator发出请求后,会在本地的操作系统会生成了相应的SCSI命令和数据I/O请求,然后这些命令和请求被封装加密成IP信息包,通过以太网(TCP/IP)传输到Targer。
(2)当Targer接收到信息包时,将进行解密和解析,将SCSI命令和I/O请求分开。SCSI命令被发送到SCSI控制器,再传送到SCSI存储设备。
(3) 设备执行SCSI命令后的响应,经过Target封装成iSCSI响应PDU,再通过已连接的TCP/IP网络传送给Initiator。
(4) Initiator会从iSCSI响应PDU里解析出SCSI响应并传送给操作系统,操作系统再响应给应用程序。
二、配置磁盘共享
服务端
1:安装共享策略编辑器
2:建立共享磁盘
划分一块磁盘分区
3:配置共享策略编辑器
/backstores/block create westos:storage1 /dev/vdb1 ##创建网络磁盘设备
westos:storage1就是自己命名的网络磁盘设备名称 格式 公司名:存储设备iscsi/ create iqn.2019-08.com.westos:storage1 ##创建网络磁盘设备(命名格式:iqn格式.日期.公司域名:存储)
iscsi/iqn.2019-08.com.westos:storage1/tpg1/luns create /backstores/block/westos:storage1 ## 将网络磁盘设备和网络磁盘绑定
iscsi/iqn.2019-08.com.westos:storage1/tpg1/acls create iqn.2019-08.com.westos:westoskey1 ##为网络磁盘添加密钥
iscsi/iqn.2019-08.com.westos:storage1/tpg1/portals create 172.25.254.223
开放此设备的端口
4:防火墙添加端口或者关闭防火墙(不推荐)
firewall-cmd --permanent --add-port=3260/tcp 该服务端口号为3260
firewall-cmd --reload 重新加载
客户端:
1:安装安装iscsi客户端软件
2:修改配置文件:
vim /etc/iscsi/initiatorname.iscsi 添加密钥
3:发现共享目录 iscsiadm -m discovery -t st -p 172.25.254.242
-m 表示模式,方式
-t 表示类型(sendtargets发送目标)
-p 表示指定端口
st:sendtargets
该命令表示以发现的模式去发现 iqn.2019-08.com.westos:storage目标服务器
连接设备 iscsiadm -m node -T iqn.2019-08.com.westos:storage1 -p 172.25.254.242 -l
-m mode表示模式,方式
-T 表示targetname(目标名称)
-p 表示端口
-l 表示login登陆
该命令表示以节点主机的方式去连接
iqn.2019-08.com.westos:storage目标服务器(ip为172.25.254.242)
4: fdisk -l 查看网络设备,此时添加上了sda
4:共享设备的扩展
在sda上面划分一个分区,格式化后挂载使用:
fdisk /dev/sda
mkfs.xfs /dev/sda1
mount /dev/sda1 /mnt
cd /mnt
查看设备UUID设置开机挂载:
blkid 查看设备号和文件系统格式,方便开机自动挂载
vim /etc/fstab 设置开机自动挂载
UUID=*** /mnt xfs defaults,_netdev 0 0
umount /mnt卸载设备
mount -a 使文件生效
5: 卸载并删除网络设备
1、yum install tree -y 在客户端安装树形显示目录软件,更方便的显示系统中是否还存在某个服务的相关内容
2、umount /mnt 取消自动挂载,并且删除(注释)/etc/fstab里刚才配置的开机启动的配置
3、tree /var/lib/iscsi 树形显示/var/lib/iscsi
4、iscsiadm -m node -T iqn.2019-08.com.westos:storage1 -p 172.25.254.242-u 先退出共享设备
5、tree /var/lib/iscsi 再次查看信息
6、iscsiadm -m node -T iqn.2019-08.com.westos:storage1 -p 172.25.254.242 -o delete 删除设备以及信息
注意:一定要先退出共享设备,再删除设备以及信息,不然重启服务,分区又会回来,且树形结构中的iscsi服务的内容还在.
7、tree /var/lib/iscsi 再次查看,信息已删除
8、fdisk -l 网络设备已不见
注意:如果服务在重启时启不来,直接删除网络设备信息重启启动即可
服务端:
targetcli
ls
输入help可以查看帮助
clearconfig confirm=true 进行删除所有的数据
ls
exit
至此,iscsi网络设备完全删除。