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

iscsi共享存储的简单配置和应用,第1张

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

ipsan配置:

server端 192.168.1.20

安装包 scsi-target-utils #yum安装

vim /etc/tgt/targets.conf

<target iqn.2008-09.com.example:server.target1>

backing-store /dev/sda#你要共享的硬盘或分区

write-cache off

vendor_id xx #client配置udev时使用

product_id xx #client配置udev时使用

initiator-address 192.168.1.0/24 #访问列表

</target>

service tgtd start #开启服务

tgt-admin show #检查ipsan开启状态

client 192.168.1.11

安装包 iscsi-initiator-utils

service iscsid start #开启服务

iscsiadm -m discovery -t sendtargets -p 192.168.1.20:3260 #发现server端存储

iscsiadm -m node -T iqn.2008-09.com.example:server.target1 -l #挂在分区

fdisk -l #查看分区是否挂在成功

iscsiadm -m node -T iqn.2008-09.com.example:server.target1 -u #卸载分区

以上在redhat系系统可用,未配置udev。

1:YUM安装软件

[root@node2 Packages]# rpm -qa | grep iscsi

iscsi-initiator-utils-6.2.0.873-2.el6.x86_64

[root@node2 Packages]# rpm -qa | grep scsi

iscsi-initiator-utils-6.2.0.873-2.el6.x86_64

scsi-target-utils-1.0.24-2.el6.x86_64

[root@node2 Packages]# lsb_release -a 服务器版本

LSB

Version:

:base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch

Distributor ID: RedHatEnterpriseServer

Description: Red Hat Enterprise Linux Server release 6.4 (Santiago)

Release: 6.4

Codename: Santiago

因为这台服务器是当RAC 数据库服务器之一的,所以此服务器需要安装客户端工具和服务器端工具。

YUM软件安装可以参考我的经验:rhel6.4 yum本地yum源配置

http://jingyan.baidu.com/article/59a015e340de67f7948865bc.html

2

2:启动并设置开机自启动

[root@node2 Packages]# service tgtd start

Starting SCSI target daemon: [ OK ]

[root@node2 Packages]# chkconfig tgtd on

[root@node2 Packages]# chconfig --list | grep tgtd

-bash: chconfig: command not found

[root@node2 Packages]# chkconfig --list | grep tgtd

tgtd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

3:确定共享磁盘

[root@node2 Packages]# df -h

FilesystemSize Used Avail Use% Mounted on

/dev/sda5 629G 113G 484G 19% /

tmpfs 3.9G 167M 3.7G 5% /dev/shm

/dev/sda1 194M 33M 152M 18% /boot

/dev/sda3 194M 5.9M 178M 4% /home

/dev/sda2 289G 191M 274G 1% /share

或者使用DD创建一个大文件

dd if=/dev/zero of=/target_scsi bs=2M count=500//使用dd

共享出来的设备源可以是DD出来的一个文件,或者是/dev/sda2这样的分区。

如果使用/dev/sda2这个分区,那么/share目录将会变成只读模式

这里我采用DD出一个文件,因为VOTE表决磁盘200M左右大小。

4:编辑配置文件

[root@node2 ~]# cat /etc/tgt/targets.conf

default-driver iscsi

<target iqn.2015-07.wiscom:wiscom20>

<backing-store /targe_scsi>

scsi_id wiscom20

lun 1

</backing-store>

</target>

默认所有用户都可以访问

编写规范:

target iqn.2015-07.wiscom:wiscom20 iqn.年-月.公司名称:scsi_id号 为后期编写多路径规则方便

scsi_id wiscom20 自定义 (客户端挂载后wwid)经过试验,我的服务器必须更改scsi_id,否则多路径无法指定别名

lun 1 默认为1

注意:

如果配置完文件之后,没有重启服务器,只是重启了iscsi服务 service tgtd restart 。执行tgt-admin -s 命令查看的时候没有lun 1 设备。最终发现重启服务器才生效

5:重启服务器 --至关重要

如果是服务器中已经跑了RAC,需要将node2集群关闭再重启服务器。

在试验过程中,发现自定义scsi_id无法生效,不管怎么修改都不行。最终重启发现生效。

tgt-admin -s 或者tgtadm --lld iscsi --mode target --op show 都可以查看qin号、设备连接信息和scsi_id号

6:本机挂载--node2挂载

[root@node2 ~]# iscsiadm -m discovery -t sendtargets -p 10.10.10.7:3260

10.10.10.7:3260,1 iqn.2015-07.wiscom:wiscom20

[root@node2 ~]# iscsiadm -m discovery -t sendtargets -p 10.10.11.7:3260

10.10.11.7:3260,1 iqn.2015-07.wiscom:wiscom20

[root@node2 ~]# iscsiadm -m node -T iqn.2015-07.wiscom:wiscom20 -p 10.10.10.7:3260 -l

Logging in to [iface: default, target: iqn.2015-07.wiscom:wiscom20, portal: 10.10.10.7,3260] (multiple)

Login to [iface: default, target: iqn.2015-07.wiscom:wiscom20, portal: 10.10.10.7,3260] successful.

[root@node2 ~]# iscsiadm -m node -T iqn.2015-07.wiscom:wiscom20 -p 10.10.11.7:3260 -l

Logging in to [iface: default, target: iqn.2015-07.wiscom:wiscom20, portal: 10.10.11.7,3260] (multiple)

Login to [iface: default, target: iqn.2015-07.wiscom:wiscom20, portal: 10.10.11.7,3260] successful.

扫描并挂载存储

如何挂载iscsi存储参考我的经验:rhel 6挂载以及卸载iscsi存储

http://jingyan.baidu.com/article/046a7b3edda53bf9c27fa9a2.html

7:查看scsi_id

scsi_id是设备唯一标识符,类似wwid

[root@node2 ~]# scsi_id -g -u -d /dev/adap

[root@node2 ~]# scsi_id -g -u -d /dev/sdap

1wiscom20

[root@node2 ~]# scsi_id -g -u -d /dev/sdaq

1wiscom20

8:节点2添加磁盘多路径

[root@node2 mapper]# vi /etc/multipath.conf

[root@node2 mapper]# service multipathd restart

ok

Stopping multipathd daemon:[ OK ]

Starting multipathd daemon:[ OK ]

/etc/multipath.conf 添加如下:

multipath {

wwid "1wiscom20"

alias crsC01

path_grouping_policy multibus

uid 1300

gid 1301

mode 666

}

在配置之前,一旦挂载就会发现/dev/mapper下已经生成了多路径磁盘mpathm,但是需要在多路径配置文件中添加以上配置生成统一别名。

磁盘多路径配置可以参考我的经验:ASM磁盘多路径及udev配置

http://jingyan.baidu.com/article/aa6a2c14f89b180d4c19c4d3.html

9:节点2 udev修改/dev/mapper/crsC01设备读写权限

[root@node2 dev]# vi /etc/udev/rules.d/99-oracle-asmdevices.rules

添加以下内容:

KERNEL=="dm-20", OWNER="grid", GROUP="asmadmin", MODE="0666"

[root@node2 dev]# /sbin/udevadm control --reload-rules

[root@node2 dev]# /sbin/start_udev

Starting udev: [ OK ]

至此,节点2 添加磁盘成功。但是节点1还需要添加磁盘。

10:节点1挂载共享iscsi设备

节点1挂载:node1

[root@node1 nodes]# iscsiadm -m discovery -t sendtargets -p 10.10.10.7:3260

10.10.10.7:3260,1 iqn.2015-07.wiscom:wiscom20

[root@node1 nodes]# iscsiadm -m discovery -t sendtargets -p 10.10.11.7:3260

10.10.11.7:3260,1 iqn.2015-07.wiscom:wiscom20

[root@node1 nodes]# iscsiadm -m node -T iqn.2015-07.wiscom:wiscom20 -p 10.10.10.7:3260 -l

Logging in to [iface: default, target: iqn.2015-07.wiscom:wiscom20, portal: 10.10.10.7,3260] (multiple)

Login to [iface: default, target: iqn.2015-07.wiscom:wiscom20, portal: 10.10.10.7,3260] successful.

[root@node1 nodes]# iscsiadm -m node -T iqn.2015-07.wiscom:wiscom20 -p 10.10.11.7:3260 -l

Logging in to [iface: default, target: iqn.2015-07.wiscom:wiscom20, portal: 10.10.11.7,3260] (multiple)

Login to [iface: default, target: iqn.2015-07.wiscom:wiscom20, portal: 10.10.11.7,3260] successful.

10:节点1添加磁盘多路径和udev修改权限

步骤和添加内容和第8步骤、第9步骤一致。

11:查看ASM中是否识别到该设备

两个节点均需要查看

[oracle@node1 ~]$ export ORACLE_SID=+ASM1

[oracle@node1 ~]$ export ORACLE_HOME=/u01/app/11.2.0.4/grid/

[oracle@node1 ~]$ export PATH=$PATH:$ORACLE_HOME/bin

[oracle@node1 ~]$ sqlplus sys as sysasm

SQL*Plus: Release 11.2.0.4.0 Production on Tue Jul 28 16:33:01 2015

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Enter password:

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Real Application Clusters and Automatic Storage Management options

SQL>

SQL>

SQL>

SQL>col name for a20

SQL>col name for a20

col path for a30

col mount_status for a10

set linesize 300SQL>SQL>SQL>

SQL>

SQL>

SQL>

SQL>select name,path,failgroup,mount_status from v$asm_disk order by name


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7149533.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存