iscsiadm(iscsiadm no portals found)

http://www.itjxue.com  2023-01-24 22:06  来源:未知  点击次数: 

Ubuntu1604挂载iscsi

1.安装iSCSI 客户端

#sudo apt-get install open-iscsi

2.修改iscsid.conf配置文件(这样就能开机启动!)

#vim /etc/iscsi/iscsid.conf

设置node.starup为automatic:

node.startup = automatic

3.修改initiatiorname(可设置简单点,方便在存储上做主机和卷的映射)

#vim /etc/iscsi/initiatorname.iscsi

InitiatorName=xxxxx

4.查找iSCSItargets主机的targetname

# iscsiadm --mode discovery --type sendtargets --portal 192.168.186.30

注:假设target主机ip为192.168.186.30

5.登录iscsi

#iscsiadm --mode node --targetname iqn.target-2.aa56d02bb5 --portal 192.168.1.1:3260 --login

6.配置开机自动挂载

可编辑/etc/rc.local,在 exit 0 前面添加登录iscsi命令和挂载命令,即可时间开机自动挂载。可参考另一篇文章:

linux iscsiadm如何删除一条路径?

发现target,询问target名称\x0d\x0a[root@RedHat5 ~]# iscsiadm -m discovery -t sendtargets -p targetIP地址:端口号\x0d\x0a该命令将报告出target名称\x0d\x0a建立连接\x0d\x0a得到了target名称后,使用下面命令建立连接\x0d\x0a[root@RedHat5 ~]# iscsiadm -m node -T target名称 -p targetIP地址:端口号 --login\x0d\x0a这时应该看到映射到的逻辑磁盘名号,使用fdisk -l 可以看到有关逻辑磁盘的详细内容,可以象使用本地硬盘一样对其进行分区、创建文件系统、挂载、卸载等操作。\x0d\x0a断开连接\x0d\x0a如果逻辑磁盘已经挂载,断开连接前应先卸载,然后使用下面命令\x0d\x0a[root@RedHat5 ~]# iscsiadm -m node -T target名称 -p targetIP地址:端口号 --logout\x0d\x0a关机之前应该正确的卸载和断开逻辑磁盘,否则会在target服务器上留下僵死的进程,造成服务器资源的浪费。

Linux文件系统-ISCSI存储和Multipathd

iscsi是由scsi协议发展而来,简单来讲,iscsi是对scsi的封装,并通过以太网来进行scsi指令的传输. 传统的scsi存储设备,通过总线连接到主机,供主机使用. 通过iscsi,主机可以直接通过以太网(TCP/IP)连接使用scsi存储设备,这也是通常所说的NAS存储的一种,它提供的是块级存储服务.

通过iscsi连接的存储设备,由于中间经过了交换机等网络设备,从主机到同一个存储设备,可能会存在多条路径. 每条路径在linux系统上都会被识别成一个设备,如果把每条路径都当成独立设备去处理的话,不同路径之间的读写操作就可能会造成数据的紊乱.

multipathd可以解决上述的多路径问题,其主要原理包括:

a. 每一个scsi设备都有唯一的scsi_id,multipathd通过探测scsi_id来判断不同路径后面是不是同一个存储设备.

b. 通过内核device-mapper功能,将多条路径映射为单一的块设备,提供给文件系统使用.

c. 由于多路径的存在,multipathd可以提供负载均衡和高可用的服务.

整个环境通过两台虚拟机搭建,一台虚拟机作为iscsi存储服务器,另一台作为客户端. 两台虚拟机都配置了两张网卡,从客户端到iscsi服务器,可以形成两条路径.

通过openfiler搭建iscsi存储服务器,openfiler镜像包及部署手册,具体参考openfiler官网.

部署完成后,创建了2个iscsi target:

需要安装如下软件包:

iscsi-initiator-utils:提供iscsid服务,及iscsi管理工具iscsiadm

device-mapper-multipathdevice-mapper-multipath-libs:提供multipathd服务及multipath管理工具

通过iscsiadm命令探测openfiler服务器上的iscsi target,具体如下:

可以看到,openfiler返回了2个target,每个target 2条路径. 执行命令后,在/var/lib/iscsi/目录生成了如下文件:

对iscsi target执行login操作后,系统才能识别到设备并使用,login命令如下:

执行login命令后,识别到了sda、sdb、sdc、sdd 4个设备,查看它们的scsi_id;可以看到sda、sdc是同一设备的不同路径,sdb、sdd是同一设备的不同路径.

启动multipathd服务后,multipathd会自动识别多路径,并自动在/dev/mapper/目录下创建多路径映射后的设备.

查看multipathd工作模式,命令multipath -ll

从上面输出可以看到,multipathd默认的策略是两条路径一主一备.

使用dd往/dev/mapper/mpathb中写入数据,数据从sda写入,sdc处于备用状态

将sda网络断开,过几秒后,切换到sdc写数据

再查看sda、sdc主备情况如下:

修改multipathd path_grouping_policy、path_selector(路径选择策略),在/etc/multipath.conf配置文件中,加入如下配置修改mpathb的工作模式.

重启multipathd服务后,查看multipathd工作模式,可以看到sda sdc都处于active状态:

dd测试mpathb写入数据时的情况如下,sda sdc轮询写入,所以吞吐量一样:

Linux怎么连接iSCSI target

首先在Centos系统上安装iSCSI-initiator.

一、先执行yum search iscsi-initiator在网络源中找到安装包

二、再执行安装命令:yum install iscsi-initiator-utils-devel.x86_64

部署iSCSI 设备,我用的iSCSI产品是iStorage Server,可以直接部署在windows server平台上,具体创建步骤可以查看KernSafe官网。

iStorage Server能够支持多种类型介质转换为iSCSi target,然后部署在局域网中,供服务器或其他客户端使用。

连接iSCSI target,主要命令为iscsiadm。默认iscsi使用端口3260,所以在portal后面可以不加3260.

如上图,执行iscsiadm -m discovery 是发现iscsi target。

如上图,执行iscsiadm -m node -T (target名称) -p (iscsi地址:3260) -l是登录命令,切记这里是大写-T,而上面发现是小写t,大写T后面接的是target名称。

将最后的-l 改成-u 就会断开与target的连接。

执行iscsiadm -m session 可以查看所有iscsi连接。

执行上面的命令:iscsi -m node -T target名称 -p 地址 --op update -n node.startup -v automatic 就可以设置系统在启动时自动登录。

使用iscsi存储。

登录以后,执行fdisk -l 就会列出所有磁盘包括iscsi存储。

这个存储即为iscsi磁盘,我们可以把它当做普通磁盘来操作,执行fdisk /dev/sda可以将其格式化,创建分区等等。

iscsiadm登录尝试次数

10次。iscsiadm是基于命令行的iscsi管理工具,提供了对iSCSI节点、会话、连接以及发现记录的操作,其可尝试登录10次。当登录次数够10次,但仍未登录从成功,系统将会封锁24小时,需要等待24小时后在次尝试。

iscsi共享存储的简单配置和应用

1、环境介绍

SCSI(Small Computer System Interface)是块数据传输协议,在存储行业广泛应用,是存储设备最基本的标准协议。从根本上说,iSCSI协议是一种利用IP网络来传输潜伏时间短的SCSI数据块的方法,ISCSI使用 以太网 协议传送SCSI命令、响应和数据。ISCSI可以用我们已经熟悉和每天都在使用的以太网来构建IP存储局域网。通过这种方法,ISCSI克服了直接连接存储的局限性,使我们可以跨不同 服务器 共享存储资源,并可以在不停机状态下扩充存储容量。

所需软件与软件结构

CentOS 将 tgt 的软件名称定义为 scsi-target-utils ,因此你得要使用 yum 去安装他才行。至于用来作为 initiator 的软件则是使用 linux-iscsi 的项目,该项目所提供的软件名称则为 iscsi-initiator-utils 。所以,总的来说,你需要的软件有:

scsi-target-utils:用来将 Linux 系统仿真成为 iSCSI target 的功能;

iscsi-initiator-utils:挂载来自 target 的磁盘到 Linux 本机上。

那么 scsi-target-utils 主要提供哪些档案呢?基本上有底下几个比较重要需要注意的:

/etc/tgt/targets.conf:主要配置文件,设定要分享的磁盘格式与哪几颗;

/usr/sbin/tgt-admin:在线查询、删除 target 等功能的设定工具;

/usr/sbin/tgt-setup-lun:建立 target 以及设定分享的磁盘与可使用的

客户端等工具软件。

/usr/sbin/tgtadm:手动直接管理的管理员工具 (可使用配置文件取代);

/usr/sbin/tgtd:主要提供 iSCSI target 服务的主程序;

/usr/sbin/tgtimg:建置预计分享的映像文件装置的工具 (以映像文件仿真磁盘);

这次的实验结构

(sdx1、sdy1是物理的磁盘通过lun连接到target虚拟的共享块,在客户端挂载这个块。这里我们添加一块硬盘sdb,创建sdb1(400m)和sdb2(500m))

2、server端配置

添加一块磁盘后

复查一下

安装target并加入开机自启动

yum install -y target*

systemctl start target

systemctl enable target

配置target的ctl将sdb1和sdb2共享出去

(一)、block关联磁盘

(二)、创建target

(三)、创建lun关联block和target

至此服务器端就配置完了,详细的配置可以到/etc/target/saveconfig.json修改

3、client端配置

(一)、安装iscsi*

软件包 iscsi-initiator-utils-6.2.0.873-29.el7.x86_64

软件包 iscsi-initiator-utils-iscsiuio-6.2.0.873-29.el7.x86_64

[root@200 ~]# yum install -y iscsi*

(二)、加入开机自启

[root@200 ~]# systemctl restart iscsid.service

[root@200 ~]# systemctl enable iscsid.service

(三)、做一个发现的操作,发现服务器共享的target名字是什么

(四)、查看发现的条目

(五)、修改客户端的acl并登录

注:这个自动加载过来的磁盘重启之后是自动加载过来的

4、客户端挂载iscsi的盘

格式化sdb和sdc

创建挂载点并挂载

[root@200 ~]# mkdir /sdb

[root@200 ~]# mkdir /sdc

注:如果需要实时同步的话需要使用gfs集群文件系统

5、总结

(一)、增加iscsi存储

(1)发现iscsi存储:iscsiadm

-m discovery -t st -p ISCSI_IP

(2)查看iscsi发现记录:iscsiadm

-m node

(3)登录iscsi存储:iscsiadm

-m node -T LUN_NAME -p ISCSI_IP -l

(4)开机自动:

iscsiadm -m node –T LUN_NAME -p ISCSI_IP --op

update -n node.startup -v

automatic

(二)、删除iscsi存储

(1)登出iscsi存储

iscsiadm -m node -T LUN_NAME -p ISCSI_IP -u

(2)对出iscsi所有登录

iscsiadm -m node --logoutall=all

(3)删除iscsi发现记录:iscsiadm

-m node -o delete -T LUN_NAME -p ISCSI_IP

(责任编辑:IT教学网)

更多

相关Illustrator教程文章

推荐Illustrator教程文章