当前位置: 澳门新濠3559 > 操作系统 > 正文

iSCSI技术是一种新储存技术,网络配置

时间:2019-11-07 21:41来源:操作系统
ls -1R仍存在记录,但是lsblk块存储消失,重启iscsi服务,lsblk重新发现 确保iscsi服务在引导时启动。 # iscsiadm -m node -T iqn.2015-06.com.sample.domain:sharedisk -p10.0.0.1 –l     安装iSCSI目标软件包

ls -1R仍存在记录,但是lsblk块存储消失,重启iscsi服务,lsblk重新发现

  1. 确保iscsi服务在引导时启动。

# iscsiadm -m node -T iqn.2015-06.com.sample.domain:sharedisk -p 10.0.0.1 –l

    安装iSCSI目标软件包:
# yum install -y targetcli
启动服务:
# systemctl enable target; systemctl start target
进入iSCSI目标交互式配置模式:
# targetcli
www.linuxidc.com
8Demo
/> ls
o- / ..................................................................... [...]
o- backstores .......................................................... [...]
| o- block .............................................. [Storage Objects: 0]
| o- fileio ............................................. [Storage Objects: 0]
| o- pscsi .............................................. [Storage Objects: 0]
| o- ramdisk ............................................ [Storage Objects: 0]
o- iscsi ........................................................ [Targets: 0]
o- loopback ..................................................... [Targets: 0]
/> /backstores/block create server0.disk1 /dev/iSCSI_vg/disk1_lv
Created block storage object server0.disk1 using /dev/iSCSI_vg/disk1_lv.
/> /iscsi create iqn.2016-09.com.example:server0
Created target iqn.2016-09com.example:server0.
Created TPG 1.
www.linuxidc.com
9/> /iscsi/iqn.2016-09.com.example:server0/tpg1/acls create iqn.2016-09.com.example:desktop0
Created Node ACL for iqn.2016-09.com.example:desktop0
/> /iscsi/iqn.2016-09.com.example:server0/tpg1/luns create /backstores/block/server0.disk1
Created LUN 0.
Created LUN 0->0 mapping in node ACL iqn.2016-09.com.example:desktop0
/> /iscsi/iqn.2016-09.com.example:server0/tpg1/portals create 172.25.0.11
Using default IP port 3260
Created network portal 172.25.0.11:3260.
/> exit   

cat /sys/class/iscsi_host/host15/ipaddress  

网卡eth0 10.0.0.1

本文永久更新链接地址

所谓iSCSI共享存储协议,是指一个iSCSI设备可以被多台服务器共享,而不是指一个卷可被共享。你还是要在openiler上做两个卷,分别用iscsi initiator挂载在两台服务器上。
而集群文件系统,就是指多台服务器共享一个卷。因为集群文件系统可以让多台服务器共同读写一个卷,并且不同服务器看到该卷中的数据都是同步的。而直接挂载,就会出现你所说的现象,两台服务器看到的数据不同步。

create iqn.2015-06.com.sample.domain:server00

    2.iSCSI目标配置

2016-10-01/21:07:24

less iqn.2015-06.com.sample.domain:sharedisk /10.0.0.1,3260,1/default

    3.访问iSCSI存储


#yum install targetd targetcli -y

澳门新濠3559 1

centos6.8

/backstores/block> cd /iscsi/

澳门新濠3559 2

iscsid进程实现iSCSI协议的控制路径以及相关管理功能。例如守护进程(指iscsid)可配置为在系统启动时基于持久化的iSCSI数据库内容,自动重新开始发现(discovery)目标设备。

[root@localhost nodes]# iscsiadm -m session -P 3|grep Attached

澳门新濠3559 3

Machine Type and Model: 6099-12C
Machine Part Number:     6099L2C
Serial Number:         78B1633

# lvcreate -n lv_5G_02 -L 5G vgiscsi00

安装iSCSI发起端软件包:
# yum install -y iscsi-initiator-utils
在/etc/iscsi/initiatorname.iscsi中设置发起端的IQN:
InitiatorName=iqn.2016-09.com.example:desktop0
查找iSCSI服务器所提供的iSCSI目标(目标门户)
# iscsiadm -m discovery -t st -p 172.25.0.11
登录服务器上的一个或多个iscsi目标
# iscsiadm -m node -T iqn.2016-09.com.example:server0 -p
172.25.0.11 -l
www.linuxidc.com
此时,可以使用iSCSI磁盘,就好像它是本地连接硬盘驱动器。
可以挂载现有文件系统。如果磁盘未格式化,可以通过fdisk进行分区,例如,通过
文件系统格式化分区或作为LVM物理卷。
在/etc/fstab中永久挂载文件系统
1. 使用blkid确定文件系统UUID并使用UUID挂载,而不是/dev/sd*设备名称。(每次
引导时显示的设备名称都不同,具体取决于iSCSI设备通过网络进行响应的顺序。
如果按设备名称挂载,这会导致使用错误的设备。)
2. 在/etc/fstab中使用_netdev作为挂载选项。(这将确保客户端不会尝试挂载文件系
统,直至启用联网。否则,在引导时系统将出错。)

 

iSCSI远程块存储
简介
本博客涵盖的主题:
        iSCSI概念
        提供iSCSI目标
        访问iSCSI存储

在同一个控制器上的多链路做负载均衡,在不同控制器上的多链路做故障切换。
当4G的主机port速率或者是单端口的IOPS成为瓶颈的时候,多路径负载均衡就有作用了。
在任何时刻,一个LUN只能由一个控制器来控制

网卡eth0 10.0.0.10

中断使用iSCSI目标
确保没有使用目标所提供的任何设备。
确保从/etc/fstab等位置中删除使用目标的所有永久挂载。
登出iSCSI目标,以暂时断开连接。
# iscsiadm -m node -T iqn.2016-09.com.example:rdisks.demo -p 172.25.0.11 -u
删除iSCSI目标的本地记录,以永久断开连接。
# iscsiadm -m node -T iqn.2016-09.com.example:rdisks.demo -p 172.25.0.11 -o delete

存储端:

[root@localhost nodes]# fdisk -l

  1. iSCSI概念

    iSCSI(Internet SCSI)支持从客户端(发起端)通过IP向远程服务器上的SCSI存储设备(目标)发送SCSI命令。iSCSI限定名称用于确定发起端和目标,并采用iqn.yyyy-mm.{reverse domain}:label的格式。默认情况下,网络通信是至iSCSI目标上的端口3260/tcp的明文。
    iSCSI发起端:需要访问原始SAN存储的客户端。
    iSCSI目标:从iSCSI服务器提供的远程硬盘磁盘,或“目标门户”
    iSCSI目标门户:通过网络向发起端提供目标的服务器。
    IQN:“iSCSI限定名称”。每个发起端和目标需要唯一名称进行标识,最好的做法是使用一个在Internet上可能独一无二的名称。

 

# iscsiadm -m node -T iqn.2015-06.com.sample.domain:sharedisk -p 10.2.0.1 -u

添加主机,port,再mapping volume

create 10.1.0.1

主机端:

为客户端节点创建acl

man iscsiadm

p查看->n新建->p主分区->1分区1->回车默认起始扇区->回车默认使用全部大小

    4  fdisk -l
    6  yum install iscsi-initiator-utils
    7  cat /etc/iscsi/initiatorname.iscsi
    8  iscsiadm -m discovery -t sendtargets -p 192.168.40.101
    9  service iscsi status
   10  iscsiadm --mode node --targetname iqn.1986-03.com.ibm:2145.storage.node1 --portal 192.168.40.101:3260 --login
   11  fdisk -l
   12  service iscsi restart
   18  service iscsi status
   21  fdisk -l
   23  iscsiadm -m node

├─rhel-root 253:0 0 27.5G 0 lvm /

    Node (/var/lib/iscsi/nodes)
    在 /var/lib/iscsi/nodes 目录下,生成一个或多个以iSCSI存储服务器上的Target名命名的文件夹如iqn.2000-01.com.synology:themain-3rd.ittest,在该文件夹下有一个文件名为“iSCSI portal IP,编号” (例如172.29.88.62,3260,0)的配置参数文件default,该文件中是initiator登录target时要使用的参数,这些参数的设置是从/etc/iscsi/iscsi.conf中的参数设置继承而来的,可以通过iscsiadm对某一个参数文件进行更改(需要先注销到target的登录)。

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

SLP implementation is under development.

就如同一般外接式储存装置 (target 名称) 可以具有多个磁盘一样,我们的 target 也能够拥有数个磁盘装置的。 每个在同一个 target 上头的磁盘我们可以将它定义为逻辑单位编号 (Logical Unit Number, LUN)。

 

1.一般的网卡就能当作 iSCSI Target 但是缺点就是会消耗太多的 CPU 资源,针对这样的问题所以发展出另外两种的 iSCSI Target 网卡.
2.一种是软件的 iscsi + TOE (TOE:TCP/IP offload engine),它可以针对 TCP/IP 的封包直接在网络卡 上运算所以不会因此占用系统上的 CPU 的使用率,  
3.另外一种就是硬件式的 iSCSI + TOE. 它除了具有 TOE 还可以直接针对 iSCSI 的数据做运算.基本上它的使用上就像是一般存储设备 HBA.你可以直接在 BIOS 选项作 iSCSI 硬件开机的动作.

 

ISCSI Target 的标准命名方式为:
"Target "+ target名字 (格式如下: iqn.yyyy-mm.<reversed domain name>[:identifier] )

iqn.2001-04.com.example:storage.disk2.sys1.xyz

 

initiator名称用来唯一标识一个iSCSI Initiator端。保存此名称的配置文件为/etc/iscsi/initiatorname.iscsi
[root@rac2 ~]# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1994-05.com.redhat:f7977cdb666

 

 

target概念

portal概念

 

[root@www ~]# vi /etc/sysconfig/iptables
iptables -A INPUT -p tcp -s 192.168.100.0/24 --dport 3260 -j ACCEPT

yum install iscsi-initiator-utils
service iscsi start
cat /etc/iscsi/initiatorname.iscsi
/var/lib/iscsi/目录下记录着相关信息
/etc/iscsi/iscsid.conf:主要的配置文件,用来连结到 iSCSI target 的设定;
/sbin/iscsid:启动 iSCSI initiator 的主要服务程序;
/sbin/iscsiadm:用来管理 iSCSI initiator 的主要设定程序;
/etc/init.d/iscsid:让本机模拟成为 iSCSI initiater 的主要服务;
/etc/init.d/iscsi:在本机成为 iSCSI initiator 之后,启动此脚本,让我们可以登入 iSCSI target。所以 iscsid 先启动后,才能启动这个服务。为了防呆,所以 /etc/init.d/iscsi 已经写了一个启动指令, 启动 iscsi 前尚未启动 iscsid ,则会先呼叫 iscsid 才继续处理 iscsi 喔!

老实说,因为 /etc/init.d/iscsi 脚本已经包含了启动 /etc/init.d/iscsid 的步骤在里面,所以,理论上, 你只要启动 iscsi 就好啦!
[root@clientlinux ~]# chkconfig iscsid on
[root@clientlinux ~]# chkconfig iscsi on

service iscsid [status|start]
service iscsi status 查看iscisi的信息,只有在连接成功后才输出
这里可能遇到start始终没有启动成功的信息输出,请继续往下执行discovery,一般会启动iscsid。

 

 

1.发现target
iscsiadm -m discovery -t st -p ISCSI_IP
iscsiadm -m discovery -t sendtargets -p 192.168.3.16

2.查看iscsi发现记录:
iscsiadm -m node

-m node:找出目前本机上面所有侦测到的 target 信息,可能并未登入喔

3.登陆与登出target
iscsiadm -m node -T LUN_NAME -p ISCSI_IP -l

加-p或--portal与不加是有所区别的,参看target与portal的概念。一个target上有两个portal
iscsiadm -m node -T iqn.1986-03.com.ibm:2145.storage.node1 -p 192.168.40.101:3260 --login

iscsiadm -m node --targetname iqn.1986-03.com.ibm:2145.storage.node1 --portal 192.168.40.101:3260 --login

iscsiadm -m node -T iqn.1986-03.com.ibm:2145.storage.node2 --logout

仅登入某部 target ,不要重新启动 iscsi 服务

-T target名称

-l  --login

[root@rac2 ~]# iscsiadm -m node -T iqn.1986-03.com.ibm:2145.storage.node2 --login
Logging in to [iface: default, target: iqn.1986-03.com.ibm:2145.storage.node2, portal: 192.168.40.102,3260] (multiple)
Logging in to [iface: default, target: iqn.1986-03.com.ibm:2145.storage.node2, portal: 192.168.40.104,3260] (multiple)
Login to [iface: default, target: iqn.1986-03.com.ibm:2145.storage.node2, portal: 192.168.40.102,3260] successful.
Login to [iface: default, target: iqn.1986-03.com.ibm:2145.storage.node2, portal: 192.168.40.104,3260] successful.
[root@rac2 ~]# iscsiadm -m node -T iqn.1986-03.com.ibm:2145.storage.node2 --logout
Logging out of session [sid: 6, target: iqn.1986-03.com.ibm:2145.storage.node2, portal: 192.168.40.102,3260]
Logging out of session [sid: 7, target: iqn.1986-03.com.ibm:2145.storage.node2, portal: 192.168.40.104,3260]
Logout of [sid: 6, target: iqn.1986-03.com.ibm:2145.storage.node2, portal: 192.168.40.102,3260] successful.
Logout of [sid: 7, target: iqn.1986-03.com.ibm:2145.storage.node2, portal: 192.168.40.104,3260] successful.


[root@rac2 ~]# iscsiadm -m node -T iqn.1986-03.com.ibm:2145.storage.node2 -p 192.168.40.104 -l
Logging in to [iface: default, target: iqn.1986-03.com.ibm:2145.storage.node2, portal: 192.168.40.104,3260] (multiple)
Login to [iface: default, target: iqn.1986-03.com.ibm:2145.storage.node2, portal: 192.168.40.104,3260] successful.
[root@rac2 ~]# iscsiadm -m node -T iqn.1986-03.com.ibm:2145.storage.node2 --logout
Logging out of session [sid: 8, target: iqn.1986-03.com.ibm:2145.storage.node2, portal: 192.168.40.104,3260]
Logout of [sid: 8, target: iqn.1986-03.com.ibm:2145.storage.node2, portal: 192.168.40.104,3260] successful.
[root@rac2 ~]# 

 

iscsiadm -m node -T targetname --logout   这个时候的 target 连结还是存在的,虽然注销你还是看的到!
iscsiadm -m node -o [delete|new|update] -T targetname
选项与参数:
--logout :就是注销 target,但是并没有删除 /var/lib/iscsi/nodes/ 内的数据
-o delete:删除后面接的那部 target 链接信息 (/var/lib/iscsi/nodes/*)
-o update:更新相关的信息
-o new :增加一个新的 target 信息。

[root@rac1 ~]# iscsiadm -m node -T iqn.1986-03.com.ibm:2145.storage.node1 --logout
Logging out of session [sid: 6, target: iqn.1986-03.com.ibm:2145.storage.node1, portal: 192.168.40.101,3260]
Logout of [sid: 6, target: iqn.1986-03.com.ibm:2145.storage.node1, portal: 192.168.40.101,3260] successful.

[root@rac2 ~]# iscsiadm -m node -T iqn.1986-03.com.ibm:2145.storage.node2 --logout
Logging out of session [sid: 5, target: iqn.1986-03.com.ibm:2145.storage.node2, portal: 192.168.40.102,3260]
Logout of [sid: 5, target: iqn.1986-03.com.ibm:2145.storage.node2, portal: 192.168.40.102,3260] successful.

[root@rac1 ~]# iscsiadm -m node -T iqn.1986-03.com.ibm:2145.storage.node1 --logout
iscsiadm: No matching sessions found
[root@rac1 ~]# iscsiadm -m node -T iqn.1986-03.com.ibm:2145.storage.node2 --logout
iscsiadm: No matching sessions found

[root@rac1 ~]# iscsiadm -m node
192.168.40.104:3260,1 iqn.1986-03.com.ibm:2145.storage.node2
192.168.40.102:3260,1 iqn.1986-03.com.ibm:2145.storage.node2
192.168.40.103:3260,1 iqn.1986-03.com.ibm:2145.storage.node1
192.168.40.101:3260,1 iqn.1986-03.com.ibm:2145.storage.node1

[root@rac1 ~]# iscsiadm -m node -o delete -T iqn.1986-03.com.ibm:2145.storage.node1
[root@rac1 澳门新濠3559,~]# iscsiadm -m node -o delete -T iqn.1986-03.com.ibm:2145.storage.node2
[root@rac1 ~]# iscsiadm -m node
iscsiadm: No records found

 

 

存储LUN扩容

一、ISCSI连接方式
1.先将存储上对应LUN扩容
2.上到前端服务器重新扫描ISCSI的session
iscsiadm -m node -R    扫描所有session
iscsiadm -m node -T target -R    扫描指定的target
这时可以运行fdisk -l 查看磁盘是否扩大
如果配置了多路径,会发现ISCSI硬盘LUN对应的磁盘设备扩大了但是multipath映射的硬盘没有增大,需要重载多路径服务才可以。
centos      
1.service multipath reload
ubuntu      
1.service multipath-tools reload
这时用户fdisk -l查看会发现/dev/mapper/映射磁盘名 已经扩大
3.查看df -h发现分区还没有扩大,运行下面命令将分区扩大
resize2fs /dev/mapper/映射磁盘名
例:你在multipath中alias 的名称是test
resize2fs /dev/mapper/test

二、FC或HBA卡scsi线直连
centos
       同样先在存储上扩容LUN
       在服务器上fdisk -l发现存储的LUN没有扩大需要
       可以运行scsi-rescan --forcerescan
       扩容分区文件系统
       resize2fs /dev/对应磁盘
       如果提示没有scsi-rescan 命令需要安装sg3_utils
       yum install sg3_utils

[root@rac1 ~]# iscsiadm -m node -R
Rescanning session [sid: 2, target: iqn.1986-03.com.ibm:2145.storage.node1, portal: 192.168.40.101,3260]

 

4.开机自动:
iscsiadm -m node –T LUN_NAME -p ISCSI_IP --op update -n node.startup -v automatic

5.查看存储是否挂载上
fdisk -l

6.用parted进行分区
parted /dev/sdb
mklabel gpt     设置分区为gpt
mkpart primary 0% 100% 将空间划分为一个分区
print
quit
注:fdisk支持小于2TB的磁盘,大于2TB的磁盘需要用parted

7.格式化分区
mkfs.ext4 -T largefile /dev/sdb1
注:-T largefile对格式化大文件速度要快很多
查看磁盘的uuid
blkid /dev/sdb1
/dev/sdb1: UUID="27f0ec37-d7ab-4c93-b9e3-cd09ddd9e340" TYPE="ext4"

8.挂载硬盘
mount  -t ext4 /dev/sdb1 /data

9.开机自动挂载
先在/etc/rc.local进行登陆
vim /etc/rc.lcoal
iscsiadm -m node -T iqn.2001-05.com.equallogic:0-af1ff6-dce2985d0-95e004e6a155508d-bak-disk01 -p 192.168.3.16:3260 --login
vim /etc/fstab
UUID=27f0ec37-d7ab-4c93-b9e3-cd09ddd9e340 /data  ext4  defaults        0 0
注:default后面的一定要注意,第一个0为是否之处dump,第二个0问支持fsck,这个在启动后会fsck /dev/sdb1,而此时没有挂载导致启动失败。

 

chap认证


本组下的各个设置项主要用来指定Initiator与target验证方式。

vi /etc/iscsi/iscsid.conf
# To enable CHAP authentication set node.session.auth.authmethod
node.session.auth.authmethod = CHAP        去掉注释
# To set a CHAP username and password for initiator
node.session.auth.username = ittest              修改为网管提供的认证username/passwordnode.session.auth.password = Storageittest

上面是在我的环境中最为简单的一种CHAP(Challenge Handshake Authentication Protocol)认证方式,而且只验证的节点会话initiator端。其实iSCSI验证可以是双向的,根据服务端的设置,可以验证节点会话的target端(username_in),验证发现会话的CHAP initiator,验证发现会话的CHAP target。(节点会话node.session即登录认证,发现会话discovery.sendtargets即查看)

 

登入需验证码的节点
(1)开启认证
iscsiadm -m node -T LUN_NAME -o update --name node.session.auth.authmethod --value=CHAP
*.使用-o同--op
(2)添加用户
iscsiadm -m node -T LUN_NAME --op update --name node.session.auth.username --value=[用户名]
(3)添加密码
iscsiadm –m node –T LUN_NAME –op update –name node.session.auth.password –value=[密码]

 

 

 

[root@rac1 iscsi]# iscsiadm -m discovery -P 0
192.168.40.103:3260 via sendtargets
192.168.40.102:3260 via sendtargets
192.168.40.101:3260 via sendtargets
[root@rac1 iscsi]# iscsiadm -m discovery -P 1
SENDTARGETS:
DiscoveryAddress: 192.168.40.103,3260
DiscoveryAddress: 192.168.40.102,3260
Target: iqn.1986-03.com.ibm:2145.storage.node2
    Portal: 192.168.40.104:3260,1
        Iface Name: default
    Portal: 192.168.40.102:3260,1
        Iface Name: default
DiscoveryAddress: 192.168.40.101,3260
iSNS:
No targets found.
STATIC:
No targets found.
FIRMWARE:
No targets found.



[root@rac1 iscsi]# iscsiadm -m node -P 0
192.168.40.104:3260,1 iqn.1986-03.com.ibm:2145.storage.node2
192.168.40.102:3260,1 iqn.1986-03.com.ibm:2145.storage.node2
[root@rac1 iscsi]# iscsiadm -m node -P 1
Target: iqn.1986-03.com.ibm:2145.storage.node2
    Portal: 192.168.40.104:3260,1
        Iface Name: default
    Portal: 192.168.40.102:3260,1
        Iface Name: default



[root@rac2 ~]# iscsiadm -m session
tcp: [3] 192.168.40.103:3260,2 iqn.1986-03.com.ibm:2145.storage.node1 (non-flash)
tcp: [4] 192.168.40.101:3260,1 iqn.1986-03.com.ibm:2145.storage.node1 (non-flash)
[root@rac2 ~]# 

[root@rac1 ~]# iscsiadm -m session
tcp: [7] 192.168.40.102:3260,1 iqn.1986-03.com.ibm:2145.storage.node2 (non-flash)
tcp: [8] 192.168.40.104:3260,2 iqn.1986-03.com.ibm:2145.storage.node2 (non-flash)


[root@rac2 ~]# iscsiadm -m session -P 0
tcp: [3] 192.168.40.103:3260,2 iqn.1986-03.com.ibm:2145.storage.node1 (non-flash)
tcp: [4] 192.168.40.101:3260,1 iqn.1986-03.com.ibm:2145.storage.node1 (non-flash)
[root@rac2 ~]# iscsiadm -m session -P 1
Target: iqn.1986-03.com.ibm:2145.storage.node1 (non-flash)
    Current Portal: 192.168.40.103:3260,2
    Persistent Portal: 192.168.40.103:3260,2
        **********
        Interface:
        **********
        Iface Name: default
        Iface Transport: tcp
        Iface Initiatorname: iqn.1994-05.com.redhat:f7977cdb666
        Iface IPaddress: 192.168.30.32
        Iface HWaddress: <empty>
        Iface Netdev: <empty>
        SID: 3
        iSCSI Connection State: LOGGED IN
        iSCSI Session State: LOGGED_IN
        Internal iscsid Session State: NO CHANGE
    Current Portal: 192.168.40.101:3260,1
    Persistent Portal: 192.168.40.101:3260,1
        **********
        Interface:
        **********
        Iface Name: default
        Iface Transport: tcp
        Iface Initiatorname: iqn.1994-05.com.redhat:f7977cdb666
        Iface IPaddress: 192.168.30.32
        Iface HWaddress: <empty>
        Iface Netdev: <empty>
        SID: 4
        iSCSI Connection State: LOGGED IN
        iSCSI Session State: LOGGED_IN
        Internal iscsid Session State: NO CHANGE

 

 

多路径

  存储的一些基本概念

网卡eth3 10.3.0.1

 

ls -1R记录消失,但是lsblk块存储消失,重启iscsi服务,lsblk没有节点记录

specify the mode. op must be one of discoverydb, node, fw, host iface or session.
for node and session mode.
for discovery mode.

firewall-cmd --reload

官网与相关标准

  1. 标示由iSCSI目标登陆所创建的最新可用块设备

iscsiadm supports the iSNS (isns) or SendTargets (st) discovery type. An

iscsiadm -m session -P 3  

如果能做到像TCP负载均衡设备一样的话,也需要在FC网络层增加均衡网关,通过盘阵自身均衡没有意义,因为后端是一份LUN。
每个控制器接管不同的LUN,不用切来切去的,这是不争的事实啊,难道还有疑问

firewall-cmd --permanent --add-port=3260/tcp

在工作时,iSCSI使SCSI数据块由原来的SCSI总线连接扩展到internet上,这一过程有些产品通过硬件来实现,这种硬件产品被简称为TOE(TCP Offload Engine),随着近年来服务器芯片技术的不断发展,服务器处理能力日益强劲,目前更为普遍的是通过软件来实现SCSI数据块的封装过程。这种软件通常被称为iSCSI Initiator软件/驱动。Initiator软件可以将以太网卡虚拟为iSCSI卡,接受和发送iSCSI数据报文,通过普通以太网卡来进行网络连接,但是需要占用CPU资源。另外的TOE和HBA连接转换方式都需要专门的硬件设备来完成,虽然相对昂贵但执行效率高,也可以减轻主机CPU的负载。本文客户端采用Initiator驱动的连接方式。

为目标创建LUN

[root@rac1 dev]# iscsiadm -m host
tcp: [15] 192.168.30.31,[<empty>],eth0 <empty>
tcp: [16] 192.168.30.31,[<empty>],eth0 <empty>

Global pref auto_save_on_exit=true

cd /var/lib/iscsi/nodes

iscsiadm是用来管理(更新、删除、插入、查询)iSCSI配置数据库文件的命令行工具,用户能够用它对iSCSI nodes、sessions、connections和discovery records进行一系列的操作。

└─sda2 8:2 0 29.5G 0 part

 

└─rhel-swap 253:1 0 2G 0 lvm [SWAP]

iSCSI 服务端和客户端的通讯就是一个在网络上封包和解包的过程,在网络的一端,数据包被封装成包括TCP/IP头、iSCSI 识别包和SCSI 数据三部分内容,传输到网络另一端时,这三部分内容分别被顺序地解开。为了保证安全,iSCSI 有约定操作顺序。在首次运行时,客户端(initiator)设备需要登录到服务端(target)中。任何一个接收到没有执行登录过程的客户端的iSCSI PDU (iSCSI rotocol Data Units,iSCSI 协议数据单元)服务端都将生成一个协议错误,并且关闭连接。在关闭会话之前,服务端可能发送回一个被驳回的iSCSI PDU。

创建分区1,pv,vg,lv  

 

/backstores/block> create asmdisk5G01.disk /dev/vgiscsi00/lv_5G_01

 

  1. 列出iscsi 服务所识别的目标

LUN和控制器关系

  1. 使用iscsi磁盘

storage storwize v3700

# partprobe /dev/sdb

iSCSI defines 3 discovery types: SendTargets, SLP, and iSNS.

InitiatorName=iqn.2015-06.com.sample.domain:server00

open-iscsi包括两个守护进程iscsid和iscsi,其中iscsid是主进程,iscsi进程则主要负责根据配置在系统启动时进行发起端(Initiator)到服务端(target)的登录,建立发起端与服务端的会话,使主机在启动后即可使用通过iSCSI提供服务的存储设备。

网卡eth1 10.1.0.1

round-robin
n. [计] 循环;循环赛

create /backstores/block/asmdisk5G01.disk

iSCSI node是一个在网络上可用的SCSI设备标识符,在open-iscsi中利用术语node表示目标(target)上的门户(portal)。一个target可以有多个portal,portal 由IP地址和端口构成。

# lsblk

iSCSI可分享的设备类型有很多,包括镜像文件(*.img)、分区(partition)、物理硬盘、raid设备、逻辑卷等,下面我们将准备其中的几种来测试,其他类型大家可以自行测试。

# iscsiadm -m node -T iqn.2015-06.com.sample.domain:sharedisk -p 10.3.0.1 -l

 

  1. 重新发现目标门户,节点记录自动创建

iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的、可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料。

这里使用新添加的/dev/sdb作为存储盘

  还有些细节要仔细看

澳门新濠3559 4

udev解决iscsi磁盘设备名称固定化

 

yum install device-mapper-multpath

[root@rac1 dev]# multipath -ll
mpathb (36005076300810df6f800000000000002) dm-2 IBM,2145
size=20G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=10 status=active
  |- 15:0:0:0 sdb 8:16 active ready running
  `- 16:0:0:0 sdc 8:32 active ready running

[root@rac1 ~]# cd /dev/mapper/
[root@rac1 mapper]# ll
total 0
crw-rw----. 1 root root 10, 58 9月  30 19:46 control
lrwxrwxrwx. 1 root root      7 10月  1 18:50 vg_rac1-LogVol00 -> ../dm-1
lrwxrwxrwx. 1 root root      7 10月  1 18:50 vg_rac1-LogVol01 -> ../dm-0
[root@rac1 mapper]# cp  /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc/
[root@rac1 mapper]# multipath -ll
[root@rac1 mapper]# multipath -ll
[root@rac1 mapper]# service multipathd reload
Reloading multipathd:                                      [  OK  ]
[root@rac1 mapper]# multipath -ll
mpathb (36005076300810df6f800000000000002) dm-2 IBM,2145
size=20G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=10 status=active
  |- 15:0:0:0 sdb 8:16 active ready running
  `- 16:0:0:0 sdc 8:32 active ready running
[root@rac1 mapper]# ll
total 0
crw-rw----. 1 root root 10, 58 9月  30 19:46 control
lrwxrwxrwx. 1 root root      7 10月  2 11:13 mpathb -> ../dm-2
lrwxrwxrwx. 1 root root      7 10月  1 18:50 vg_rac1-LogVol00 -> ../dm-1
lrwxrwxrwx. 1 root root      7 10月  1 18:50 vg_rac1-LogVol01 -> ../dm-0

 

如果出现iscsi共享存储,已经丢失。但多路径中的磁盘还在,最好重载一下multipath服务。就会正常了

[root@rac1 ~]# fdisk -l
Disk /dev/mapper/36005076300810df6f800000000000002: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 32768 bytes / 32768 bytes
Disk identifier: 0x00000000

                                         Device Boot      Start         End      Blocks   Id  System
/dev/mapper/36005076300810df6f800000000000002p1               1        2611    20971519+  ee  GPT
Partition 1 does not start on physical sector boundary.

[root@rac1 ~]# service multipathd status
multipathd is stopped
[root@rac1 ~]# service multipathd start
Starting multipathd daemon:                                [  OK  ]
[root@rac1 ~]# fdisk -l
就正常了

 

 

 

 

安装multipath
yum install device-mapper-multipath

lsmod |grep multipath
dm_multipath           17724  2 dm_round_robin
dm_mod                 84209  14 dm_multipath,dm_mirror,dm_log

vi /etc/multipath.conf

#####
blacklist{
devnode "^sda"
}
defaults {
user_friendly_names yes
udev_dir /dev
path_grouping_policy multibus
failback immediate
no_path_retry fail
}
#####

 

multipath -F
multipath
# multipath -F #删除现有路径  两个新的路径就会被删除
# multipath -v2 #格式化路径   格式化后又出现

multipathd -k  进入命令交互
multipathd> help
multipath-tools v0.4.9 (04/04, 2009)
CLI commands reference:
 list|show paths
 list|show paths format $format
 list|show paths raw format $format
 list|show status
 list|show daemon
 list|show maps|multipaths
 list|show maps|multipaths status
 list|show maps|multipaths stats
 list|show maps|multipaths format $format
 list|show maps|multipaths raw format $format
 list|show maps|multipaths topology
 list|show topology
 list|show map|multipath $map topology
 list|show config
 list|show blacklist
 list|show devices
 list|show wildcards
 add path $path
 remove|del path $path
 add map|multipath $map
 remove|del map|multipath $map
 switch|switchgroup map|multipath $map group $group
 reconfigure
 suspend map|multipath $map
 resume map|multipath $map
 resize map|multipath $map
 disablequeueing map|multipath $map
 restorequeueing map|multipath $map
 disablequeueing maps|multipaths
 restorequeueing maps|multipaths
 reinstate path $path
 fail path $path
 paths count
 forcequeueing daemon
 restorequeueing daemon
 quit|exit
 map|multipath $map getprstatus
 map|multipath $map setprstatus
 map|multipath $map unsetprstatus

多路径设备扩容方法1:

在rac1上
yum install iscsi-initiator-utils
yum install device-mapper-multipath
service iscsid start
service iscsi start
iscsiadm -m discovery -t st -p 192.168.40.101
iscsiadm -m node -l
vi /etc/multipath.conf
service multipathd start
mulitpath -ll
parted /dev/mapper/mpathb
mkfs
pv
mount /dev/mapper/mpathb /mnt

在A节点上装好multipath,并配置好后,分区格式化后,挂载测试好后
在B节点上直接挂载就行了,不需要分区格式化了,可以看到之前的文件,在b上删除文件后,a上不能立即看到,a需要重新挂载一下
但是两个是不同步的,需要集群文件系统的帮助。

存储端的卷扩容以后
主机端重新扫描下,sd设备也扩容了
iscsiadm -m node -R
主机端多路径也重载一下,多路径设备也扩容了
service multipathd reload
以下是分区,文件系统的扩容,每个节点都要做一次
umount /mnt
parted /dev/mapper/mpathb
rm 1  
mkpart primary 0% 100%
quit
mount /dev/mapper/mpathbp1 /mnt
parted /dev/mapper/mpathbp1
rm 1
mkpart 0% 100%
quit
resize2fs /dev/mapper/mpathbp1
df -h
容量扩大,数据不丢失

机器重启的问题

vi /etc/fstab,加入下面行

/dev/mapper/mpathbp1 /mnt ext4 defaults 0 0

可能出现问题如下:
[root@rac01 ~]# resize2fs /dev/mapper/mpathbp1
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/mpathbp1 is mounted on /mnt; on-line resizing required
old desc_blocks = 4, new_desc_blocks = 5
Performing an on-line resize of /dev/mapper/mpathbp1 to 18349568 (4k) blocks.
resize2fs: Invalid argument While trying to add group #512

解决如下:

less /var/log/messages
umount /mnt
e2fsck /dev/mapper/mpathbp1
mount /dev/mapper/mpathbp1 /mnt
df -h
resize2fs /dev/mapper/mpathbp1
df -h
就正常了

 

 

多路径设备扩容方法2:

   91  parted /dev/mapper/mpathb
  100  pvcreate /dev/mapper/mpathbp1
  101  pvcreate /dev/mapper/mpathbp2
  103  pvdisplay
  105  vgcreate lun /dev/mapper/mpathbp1
  106  vgdisplay
  113  lvcreate -n lv1 -L 9G lun
  114  lvdisplay
  115  mkfs.ext4  /dev/lun/lv1
  117  mount /dev/mapper/lun-lv1 /mnt
  122  pvdisplay
  123  vgextend lun /dev/mapper/mpathbp2
  124  vgdisplay
  130  lvextend -n /dev/lun/lv1 -L +10G
  131  df -h
  132  fdisk -l
  133  resize2fs /dev/lun/lv1
  134  df -h
  135  pvdisplay

 

 

 

fdisk -l 看磁盘大小是否正常
fdisk /dev/sda
p,n,3,t,8e,p,w
reboot
pvcreate /dev/sda3
pvdisplay
vgdisplay
vgextend VolGroup /dev/sda3
lvdisplay
lvextend -L +4GB -n /dev/VolGroup/lv_root
resize2fs /dev/VolGroup/lv_root
reboot
这样就扩容完成了

 

  1. 彻底删除链接


# iscsiadm -m node -T iqn.2015-06.com.sample.domain:sharedisk -p 10.2.0.1 -o delete

create 10.3.0.1

MPIO可允许1个iSCSI Initiator透过多个Session连入同1个iSCSI Target设备,以便利用多网卡或iSCSI HBA启用负载平衡与故障失效切换机制,也可称作Multiple Sessions per Initiator。

tail /var/log/messages

Open-iSCSI是通过以下iSCSI数据库文件来实现永久配置的:

create /backstores/block/asmdisk5G02.disk

    Discovery (/var/lib/iscsi/send_targets)
    在 /var/lib/iscsi/send_targets 目录下包含iSCSI portals的配置信息,每个portal对应一个文件,文件名为“iSCSI portal IP,端口号”(例如172.29.88.61,3260)。

create /backstores/block/asmdisk5G00.disk

/backstores/block> create asmdisk5G02.disk /dev/vgiscsi00/lv_5G_02

[root@localhost nodes]# blkid /dev/sdb

# iscsiadm -m node -T iqn.2015-06.com.sample.domain:sharedisk -p 10.0.0.1 -o delete

 

  1. 设定initiator名称
  1. 验证iSCSI磁盘的设备节点

# lvcreate -n lv_5G_01 -L 5G vgiscsi00

创建iscsi target目标并分配创建LUN

# iscsiadm -m node -T iqn.2015-06.com.sample.domain:sharedisk -p 10.1.0.1 –l

启动服务,并设定为开机启动

systemctl enable target

├─sda1 8:1 0 500M 0 part /boot

2.客户端主机配置

#ls -1R

  1. 查看链接参数默认值

# iscsiadm -m node -T iqn.2015-06.com.sample.domain:sharedisk -p 10.1.0.1 –u

systemctl enable iscsi

客户端访问iscsi存储

/>cd backstores/block

网卡eth2 10.2.0.12

  1. 安装软件包

澳门新濠3559 5

# iscsiadm -m node -T iqn.2015-06.com.sample.domain:sharedisk -p 10.2.0.1 –u

网络配置

# vgcreate vgiscsi00 /dev/sdb1

硬盘配置

systemctl start iscsi

  1. 查找新iSCSI目标的持久节点记录

澳门新濠3559 6

保存配置

fdisk /dev/sdb

fd0 2:0 1 4K 0 disk

网卡eth3 10.3.0.13

sda 8:0 0 30G 0 disk

网卡eth2 10.2.0.1

# iscsiadm -m node -T iqn.2015-06.com.sample.domain:sharedisk -p 10.3.0.1 -u

添加一块100GB硬盘,配置成DATAVG,划分LV并发布成iscsi硬盘

# iscsiadm -m node -T iqn.2015-06.com.sample.domain:sharedisk -p 10.1.0.1  -o delete

# iscsiadm -m discovery -t st -p 192.168.31.11

lsblk

# iscsiadm -m discovery -t st -p 10.0.0.1

  1. 发现目标服务器门户

Last 10 configs saved in /etc/target/backup.

5.登陆到呈现的iSCSI目标

sr0 11:0 1 3.5G 0 rom

创建disk

 

澳门新濠3559 7

# iscsiadm -m node -T iqn.2015-06.com.sample.domain:sharedisk -p 10.1.0.1 -u

# partprobe /dev/sdb

create 10.0.0.1

 

网卡eth1 10.1.0.11

# iscsiadm -m node -T iqn.2015-06.com.sample.domain:sharedisk -p 10.2.0.1 –l

 

 

[root@localhost ~]# cat /etc/iscsi/initiatorname.iscsi

1.搭建服务器端主机环境

systemctl start target

/backstores/block> create asmdisk5G00.disk /dev/vgiscsi00/lv_5G_00

# iscsiadm -m node -T iqn.2015-06.com.sample.domain:sharedisk -p 10.0.0.1 -u

环境RHEL7.4

  1. 启动服务,并开机启动

/> exit

ls -1R

create 10.2.0.1

# pvcreate /dev/sdb1

# lvcreate -n lv_5G_00 -L 5G vgiscsi00

 

  1. 断开链接

/iscsi> create iqn.2015-06.com.sample.domain:sharedisk

t选择分区类型->L列出所有类型->8e设定为Linux LVM->w写入磁盘

# iscsiadm -m node -T iqn.2015-06.com.sample.domain:sharedisk -p 10.0.0.1 –u

配置门户以使用目标侦听192.168.31.11端口3260

 

Configuration saved to /etc/target/saveconfig.json

# iscsiadm -m node -T iqn.2015-06.com.sample.domain:sharedisk -p 10.3.0.1 -u

iscsi target服务配置

开启防火墙端口

澳门新濠3559 8

 

# iscsiadm -m node -T iqn.2015-06.com.sample.domain:sharedisk -p 10.3.0.1 -o delete

yum install iscsi-initiator-utils -y

编辑:操作系统 本文来源:iSCSI技术是一种新储存技术,网络配置

关键词: