1.iSCSI共享设备
(1)什么是iSCSI?
iSCSI(Internet Small Computer System Interface):Internet小型计算机系统接口。
Internet小型计算机系统接口(iSCSI)是一种基于TCP/IP的协议,用来建立和管理IP存储设备、主机和客户机等之间的相互连接,并创建存储区域网络(SAN)。SAN使得SCSI协议应用于高速数据传输网络成为可能,这种传输以数据块级别(block-level)在多个数据存储网络间进行。
iSCSI技术是一种由IBM公司研究开发的,是一个供硬件设备使用的可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料。iSCSI 提供了在 IP 网络封装 SCSI 命令,且运行在 TCP 上。iSCSI网关可以转换协议,将iSCSI协议转化为FC协议。
iSCSI(Internet SCSI)是2003年IETF(Internet Engineering Task Force,互联网工程任务组)制订的一项标准,用于将SCSI数据块映射成以太网数据包。SCSI(Small Computer System Interface)是块数据传输协议,在存储行业广泛应用,是存储设备最基本的标准协议。从根本上说,iSCSI协议是一种利用IP网络来传输潜伏时间短的SCSI数据块的方法,ISCSI使用以太网协议传送SCSI命令、响应和数据。ISCSI可以用我们已经熟悉和每天都在使用的以太网来构建IP存储局域网。通过这种方法,ISCSI克服了直接连接存储的局限性,使我们可以跨不同服务器共享存储资源,并可以在不停机状态下扩充存储容量。
(2)NFS与iSCSI
nfs是对文件系统的共享:是将服务器的磁盘以文件系统的形式映射到内核上面,然后在内核上面开启一个nfs服务,把自己的文件系统共享出去。而客户端在本地就可直接远程修改nfs上面的东西,并且同步到nfs
iscsi是对设备的共享,是把服务器的磁盘划分出一块放到内核上,在内核上下载iscsi服务直接将设备共享出去。而客户端可探测到共享磁盘并且使用服务端的共享磁盘
(3)iSCSI技术的优势
-
硬件成本低:构建iSCSI存储网络,除了存储设备外,交换机、线缆、接口卡都是标准的以太网配件,价格相对来说比较低廉。同时,iSCSI还可以在现有的网络上直接安装,并不需要更改企业的网络体系,这样可以最大程度地节约投入。
-
操作简单,维护方便**:对iSCSI存储网络的管理,实际上就是对以太网设备的管理,只需花费少量的资金去培训iSCSI存储网络管理员。当iSCSI存储网络出现故障时,问题定位及解决也会因为以太网的普及而变得容易。
-
扩充性强:对于已经构建的iSCSI存储网络来说,增加iSCSI存储设备和服务器都将变得简单且无需改变网络的体系结构。
-
带宽和性能:iSCSI存储网络的访问带宽依赖以太网带宽。随着千兆以太网的普及和万兆以太网的应用,iSCSI存储网络会达到甚至超过FC(Fiber Channel,光纤通道)存储网络的带宽和性能。突破距离限制:iSCSI存储网络使用的是以太网,因而在服务器和存储设备的空间布局上的限制就会少了很多,甚至可以跨越地区和国家。
2.搭建iSCSI服务器
服务端:(172.25.254.218)
步骤一:磁盘分区(2G)
fdisk -l
fdisk /dev/vdb
partprobe
步骤二:安装targetcli软件
yum install targetcli -y
步骤三:进入targetcli,共享磁盘
targetcli
/> ls
/> /backstores/block create zxyos:storage1 /dev/vdb1 /*将真实设备定义到target*/
/> /iscsi/ create iqn.2019-08.com.zxyos:storage1 /*存储建立共享名称*/
/> ls
/> /iscsi/iqn.2019-08.com.zxyos:storage1/tpg1/luns create /backstores/block/zxyos:storage1 /*设备与限定名称关联*/
/> /iscsi/iqn.2019-08.com.zxyos:storage1/tpg1/acls create iqn.2019-08.com.zxyos:zxyoskey1 /*安全控制,产生密钥(拥有钥匙才可访问共享磁盘)*/
/> /iscsi/iqn.2019-08.com.zxyos:storage1/tpg1/portals create 172.25.254.218 /*为服务开启端口3260*/
/> exit
存储建立共享名称:全局限定名称<固定>-,格式为:iqn.年月.公司域名的反写:自定义名称
步骤四:火墙中允许3260端口开启
firewall-cmd --permanent --add-port=3260/tcp /*火墙中允许3260端口开启*/
firewall-cmd --reload
客户端:(172.25.254.118)
步骤一:文件中写入安全控制的密钥,重启服务
vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2019-08.com.zxyos:zxyoskey1
systemctl restart iscsi
步骤二:探测发现服务器(172.25.254.218)共享的磁盘分区,认证登陆(-m: -T: -p:指定用户 -l:登陆 -u:断开)
iscsiadm -m discovery -t st -p 172.25.254.218
iscsiadm -m node -T iqn.2019-08.com.zxyos:storage1 -p 172.25.254.218 -l
步骤三:查看磁盘信息,对共享磁盘分区,将分区格式化为xfs类型(若已经格式化过分区,则-f 强制格式化)
fdisk -l /*查看到新生成的一块/dav/sda磁盘*/
fdisk /dev/sda
partprobe
mkfs.xfs /dev/sda1 -f
步骤四:挂载分区到/mnt下
mount /dev/sda1 /mnt/
df
步骤五:查看磁盘分区信息,建立永久挂载(磁盘分区名称有时可能会发生漂移,但磁盘分区的UUID不变)
blkid
vim /etc/fstab
UUID=960e55cb-ab44-4916-8072-6da2dbeb055c /mnt xfs defaults,_netdev 0 0
mount -a
df
因为/dev/sda1为网络共享设备的分区,所以在写入永久挂载信息时,参数必须加 _netdev
步骤六:重启客户端,查看永久挂载是否生效
reboot
ssh root@172.25.254.118
df
3.iSCSI设备停止&设备清空
客户端(172.25.254.118):
步骤一:解挂网络共享设备
umount /mnt/
df
步骤二:安装tree软件,查看iscsi共享设备记录和连接方式的树形图
yum install -y tree
tree /var/lib/iscsi/
步骤三:设备停止
iscsiadm -m node -T iqn.2019-08.com.zxyos:storage1 -p 172.25.254.218 -u /*临时删除,restart iscsi服务后网络共享设备记录和连接仍存在*/
iscsiadm -m node -T iqn.2019-08.com.zxyos:storage1 -p 172.25.254.218 -o delete /*永久删除,restart iscsi服务后网络共享设备记录和连接不存在*/
tree /var/lib/iscsi/
systemctl restart iscsi
fdisk -l /*网络共享设备/dev/sda1已不存在*/
服务端:(172.25.254.218)
步骤四:设备清空
targetcli
/> help /*查看帮助*/
/> clearconfig confirm=true /*清空设备*/
/> ls
/> exit