基于国产UOS操作系统第9章-iscsi存储

网络存储技术(Network Storage Technologies) 网络存储技术是基于数据存储的一种通用网络术语。网络存储结构大致分为三种:
直连式存储(DAS:Direct Attached Storage)
网络连接式存储(NAS:Network Attached Storage)
存储网络(SAN:Storage Area Network)

NAS与SAN的区别
NAS有文件操作和管理系统,而SAN却没有
SAN主要是高速信息存储,NAS偏重文件共享。
SAN和NAS相比不具有资源共享的特征
SAN是只能独享的数据存储池,NAS是共享与独享兼顾的数据存储池。
NAS是网络外挂式,而SAN是通道外挂式。
SAN高效可扩,NAS简单灵活
NAS的代表-CIFS、NFS
SAN的代表iSCSI、FCP

Internet小型计算机系统接口(iSCSI:Internet Small Computer System Interface)。
iSCSI技术是一种由IBM公司研究开发的,是一个供硬件设备使用的可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料。
iSCSI是一种基于TCP/IP的协议,用来建立和管理 IP 存储设备、主机和客户机等之间的相互连接,并创建存储区域网络(SAN)。SAN 使得 SCSI 协议应用于高速数据传输网络成为可能,这种传输以数据块级别(block-level)在多个数据存储网络间进行。
SCSI结构基于客户/服务器模式,其通常应用环境是:设备互相靠近,并且这些设备由 SCSI 总线连接。iSCSI 的主要功能是在TCP/IP网络上的主机系统(启动器 initiator)和存储设备(目标器 target)之间进行大量数据的封装和可靠传输过程。此外,iSCSI 提供了在 IP 网络封装 SCSI 命令,且运行在TCP上。
早期的企业使用的服务器若有大容量磁盘的需求时,通常是透过SCSI来串接SCSI磁盘,因此服务器上面必须要加装SCSI卡,而且这个SCSI是专属于该服务器的。后来这个外接式的SCSI设备被SAN的架构所取代,在SAN的标准架构下,虽然有很多的服务器可以对同一个SAN进行存取的动作,不过为了速度需求,通常使用的是光纤通道。但是光纤通道很贵,不但设备贵,服务器上面也要有光纤卡,很麻烦,所以光纤的SAN在中小企业很难普及。
随着网络技术的发展,尤其是以IP封包为基础的LAN技术已经很成熟,再加上以太网路的速度越来越快,所以就有厂商将SAN的连接方式改为利用IP技术来处理。然后再透过一些标准的设定,最后就得到Internet SCSI (iSCSI)这个的产生!iSCSI主要是透过TCP/IP的技术,将储存设备端透过iSCSI target (iSCSI目标端)功能,做成可以提供磁盘的服务器端,再透过iSCSI initiator (iSCSI初始化用户)功能,做成能够挂载使用iSCSI target的用户端,如此便能透过iSCSI设置来进行磁盘的应用了。

iSCSI技术优点和成本优势
硬件成本低:构建iSCSI存储网络,除了存储设备外,交换机、线缆、接口卡都是标准的以太网配件,价格相对来说比较低廉。同时,iSCSI还可以在现有的网络上直接安装,并不需要更改企业的网络体系,这样可以最大程度地节约投入。
操作简单,维护方便:对iSCSI存储网络的管理,实际上就是对以太网设备的管理,只需花费少量的资金去培训iSCSI存储网络管理员。当iSCSI存储网络出现故障时,问题定位及解决也会因为以太网的普及而变得容易。
扩充性强:对于已经构建的iSCSI存储网络来说,增加iSCSI存储设备和服务器都将变得简单且无需改变网络的体系结构。
带宽和性能:iSCSI存储网络的访问带宽依赖以太网带宽。随着千兆以太网的普及和万兆以太网的应用,iSCSI存储网络会达到甚至超过FC(FiberChannel,光纤通道)存储网络的带宽和性能。突破距离限制:iSCSI存储网络使用的是以太网,因而在服务器和存储设备的空间布局上的限制就会少了很多,甚至可以跨越地区和国家。

ISCSI的架构组成
SCSI使用Client/Server模型。Initiator为应用客户端,而Target包括设备 服务器端和队列管理两部分。
ISCSI的储存设备称为iSCSITarget(或称iSCSI Target Device),例如iSCSI 磁盘阵列柜、iSCSI 磁带柜等。
ISCSI卡称为ISCSI HBA(Host Bus Adapter)。ISCSI 允许使用一般Ethernet NIC卡,若使用一般GbE 卡,则还需要搭配软件才能让GbE 卡收发ISCSI 协议,此软件称为ISCSI Initiator,事实上ISCSI HBA的角色也等同于ISCSI Initiator。

实验-磁盘方式iscsi
在server1上
新添加一块儿硬盘-/dev/sdb
分出sdb1分区
apt install -y targetcli-fb

targetcli
/backstores/block create mydisk /dev/sdb1
/iscsi create iqn.2020-04.com.uos-uos
/iscsi/iqn.2020-04.com.uos-uos/tpg1/acls create iqn.2020-04.com.uos-client
/iscsi/iqn.2020-04.com.uos-uos/tpg1/luns create /backstores/block/mydisk
saveconfig
exit

ss -anptu |grep 3260
tcp LISTEN 0 256 0.0.0.0:3260 0.0.0.0:*

在server2上
vim /etc/iscsi/initiatorname.iscsi
#InitiatorName=iqn.1993-08.org.debian:01:e7ae330e87d
InitiatorName=iqn.2020-04.com.uos-client

systemctl restart iscsi
systemctl restart iscsid
iscsiadm --mode discoverydb --type sendtargets --portal 192.168.200.131 --discover

iscsiadm --mode node --targetname iqn.2020-04.com.uos-uos --portal 192.168.200.131:3260 --login
fdisk -l

fdisk /dev/sdb #分出/dev/sdb1
mkfs.xfs /dev/sdb1
mkdir /mnt/mydisk1
blkid /dev/sdb1
vim /etc/fstab
UUID=“77b46d01-6c5f-4bac-8fb6-eb6296ebb32a” /mnt/mydisk1 xfs defaults,_netdev 0 0 #不加_netdev开机会卡住
reboot #重启自动挂载

实验-文件方式iscsi
在server1上
dd if=/dev/zero of=/iscsifile bs=1M count=2048
targetcli
/backstores/fileio create mydisk2 /iscsifile
iscsi/ create iqn.2020-04.com.uosfile
iscsi/iqn.2020-04.com.uosfile/tpg1/acls create iqn.2020-04.com.uosfile:client
iscsi/iqn.2020-04.com.uosfile/tpg1/luns create /backstores/fileio/mydisk2
saveconfig
exit

在server2上
vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2020-04.com.uos-client
InitiatorName=iqn.2020-04.com.uosfile:client
vim /etc/iscsi/iscsid.conf
node.session.timeo.replacement_timeout = 5 #修改,链路重试5秒不能连接则宣告断开
man iscsiadm #搜索example查看示例语法

systemctl restart iscsi
systemctl restart iscsid
iscsiadm --mode discoverydb --type sendtargets --portal 192.168.200.131 --discover
192.168.200.131:3260,1 iqn.2020-04.com.uos-uos
192.168.200.131:3260,1 iqn.2020-04.com.uosfile

iscsiadm --mode node --targetname iqn.2020-04.com.uosfile --portal 192.168.200.131:3260 --login

fdisk -l #发现/dev/sdc
fdisk /dev/sdc #分出/dev/sdc1
mkfs.xfs /dev/sdc1
mkdir /mnt/mydisk2
blkid #找出/dev/sdc1的UUID
vim /etc/fstab
UUID=“c56a71c0-d17c-4ff2-80f6-8be43b1663ea” /mnt/mydisk2 xfs defaults,_netdev 0 0
systemctl reboot #重启自动挂载
iscsiadm -m session -P[123] #查看iscsi信息,,大写P,3最详细

实验-iscsi开关顺序
关机顺序
qin2先关 qin1再关
开机顺序
qin1先开 qin2再开

实验-iscsi的删除
在qin2上
umount /mnt/mydisk1
umount /mnt/mydisk2
删除fstab相关内容
iscsiadm --mode node --targetname iqn.2015-08.com.qin:qin1disk1 --portal 192.168.100.1:3260 --logout
iscsiadm --mode node --targetname iqn.2015-08.com.qin:qin1disk2 --portal 192.168.100.1:3260 --logout
iscsiadm -m node -T iqn.2015-08.com.qin:qin1disk1 -p 192.168.100.1 -o delete
iscsiadm -m node -T iqn.2015-08.com.qin:qin1disk2 -p 192.168.100.1 -o delete
fdisk -l #已经看不到/dev/sdb1和/dev/sdc1了

或者
vim /etc/iscsi/iscsid.conf
node.startup = manual #修改,今后将不会自动挂载

你可能感兴趣的:(国产操作系统UOS的前世今生,Linux入门)