红联Linux门户
Linux帮助

Ubuntu建立iSCSI直接连接

发布时间:2016-02-25 10:06:07来源:linux网站作者:yao伟斌

基本情况

服务器:Ubuntu 14.04 Server
存储器:华为存储OceanStor
HBA:QLogic iSCSI


建立连接

通过网线,将服务器HBA卡的端口直接连接我们的存储器端口。因为是直接连接,所以两端的端口ip可以随意设置。但注意:设置的IP不要与存储器的管理IP在同个网段


HBA卡的端口配置IP

(参考Ubuntu安装iSCSI HBA:http://www.linuxdiyf.com/linux/18375.html),

auto p5p1
iface p5p1 inet static
address 192.168.1.101
netmask 255.255.255.0

存储器端口设置IP

华为存储器OceanStor提供了一个OceanStor Manage的网页进行管理存储器,在Manager上对连接的端口设置IP,例如为: ip : 192.168.1.100,netmask : 255.255.255.0


测试连接

在服务器端 ping 测试该直接连接是否已连接。如果ping不通,可能是因为:

HBA卡驱动没安装
HBA固件损坏(通过 dmesg 检查)
存储器端口ip设置错误
网线故障


存储器配置

在OceanStor依次创建硬盘域(DiskDomain)、存储池(StoragePool)、LUN组(LUNGroup)和LUN、主机组(HostGroup)和主机(Host),在映射视图(MappingView)中,将LUN组和主机组通过端口映射起来

Ubuntu建立iSCSI直接连接

注意:
1.因为通过直接连接存储器和服务器,在新建主机Host的时候,连接的端口的启动器此时尚未发现(就是所连接的服务器)
2.其中的Ethernet Port就是存储器连接服务器的端口,具体端口名字对照存储器和OceanStor Manage上。


服务器配置
主机安装相应软件包

通过 dpkg -l|grep iscsi 查询是否安装了启动器软件包

# dpkg -l|grep iscsi
ii  iscsitarget                          1.4.20.3+svn499-0ubuntu2.1            amd64        iSCSI Enterprise Target userland tools
ii  iscsitarget-dkms                     1.4.20.3+svn499-0ubuntu2.1            all          iSCSI Enterprise Target kernel module source - dkms version
ii  libiscsi-bin                         1.4.0-3                               amd64        iSCSI client shared library - utilities
ii  libiscsi-dev                         1.4.0-3                               amd64        iSCSI client shared library
ii  libiscsi1:amd64                      1.4.0-3                               amd64        iSCSI client shared library
ii  open-iscsi                           2.0.873-3ubuntu9                      amd64        High performance, transport independent iSCSI implementation
ii  open-iscsi-utils                     2.0.873-3ubuntu9                      all          transitional dummy package


如果没有安装相应的软件:

# apt-get install open-iscsi
# apt-get install open-iscsi-utils
# apt-get install iscsi*


建立iSCSI连接

使用 iscsiadm 命令配置。


启动iSCSI服务

# /etc/init.d/open-iscsi start
* Setting up iSCSI targets
[ OK ]


查看主机启动器信息

cat /etc/iscsi/initiatorname.iscsi
## DO NOT EDIT OR REMOVE THIS FILE!
## If you remove this file, the iSCSI daemon will not start.
## If you change the InitiatorName, existing access control lists
## may reject this initiator. The InitiatorName must be unique
## for each iSCSI initiator. Do NOT duplicate iSCSI InitiatorNames.
InitiatorName=iqn.1993-08.org.debian:01:552a5b2329d5

上面的信息,可以发现主机启动器名称为:
InitiatorName=iqn.1993-08.org.debian:01:552a5b2329d5(后面会用到该名字)


查找目标器
假设存储系统上对应端口的IP 地址为192.168.1.100,则可以在主机上执行命令来查找存储器:

# iscsiadm -m discovery -t st -p 192.168.1.100
192.168.1.100:3260,8199 iqn.2006-08.com.huawei:oceanstor:210088cf98542976::22006:192.168.1.100


登陆目标器

# iscsiadm -m node -p 192.168.1.100 -l
Logging in to [iface: default, target:
iqn.2006-08.com.huawei:oceanstor:210088cf98542976::22006:192.168.1.100,
portal: 192.168.1.100,3260]
Login to [iface: default, target:
iqn.2006-08.com.huawei:oceanstor:210088cf98542976::22006:192.168.1.100,
portal: 192.168.1.100,3260]: successful.


修改open-iscsi服务开机后自动启动
通过 rcconf 设置开机启动:

# apt-get install rcconf
# rcconf


勾选open-iscsi 选项

CHAP认证
此时楼主并没设置该认证,跳过。


存储器上配置
以上操作均在服务器,此时需要在存储器上配置:在连接的端口上可以通过添加启动器,并填入InitiatorName。如果需要CHAP认证,此时也需要在存储器上进行配置。


LUN扫描

当存储系统上映射LUN 给Ubuntu 系统后,主机系统上可以通过下面的命令来完成LUN
的扫描操作


安装lsscsi 软件包

# apt-get install lsscsi


获取建立连接的hostX 信息

# lsscsi
[0:2:0:0]    disk    LSI      MR9270CV-8i      3.45  /dev/sda
[12:0:0:0]   disk    HUAWEI   S2600T           4202  /dev/sdb

从这里可以看到X=12。


主机系统上执行下面的命令发现映射LUN

# echo '- - - ' > /sys/class/scsi_host/hostX/scan  <== X修改为上面的具体值,注意空格


在主机系统上查询LUN 的信息

# lsscsi
[0:2:0:0]    disk    LSI      MR9270CV-8i      3.45  /dev/sda
[12:0:0:0]   disk    HUAWEI   S2600T           4202  /dev/sdb
[12:0:0:1]   disk    HUAWEI   S2600T           4202  /dev/sdc

从这里可以发现,已经找到了映射的磁盘。


主机系统使用LUN

主机上找到映射过来的LUN 后,可以直接使用裸设备配置相应业务,也可以创建相应
的文件系统后再使用。


本文永久更新地址:http://www.linuxdiyf.com/linux/18376.html