搭建iscsi存储系统

搭建iscsi存储系统

NAS和SAN服务器概述

 

NAS网络附属存储:

     NAS(Network Attached Storage),NAS服务器是连接在网络上,具备资料存储功能的服务器,一种与用数据存储服务器。网络附属存储基于标准网络协议(Tcp/IP)实现数据传输,为网络中的Windows / Linux / Mac OS 等各种同操作系统的计算机提供文件共享和数据备仹。

 

优点:

1. I/O消耗由前端服务器转移到后端存储设备上

2. 扩展方便

缺点:

1. 以前网络会成为瓶颈。 但是现在使用10G光纤卡,就可以解决这个问题。

 

SAN存储:

     存储区域网络(Storage Area Network and SAN Protocols,简写SAN,即存储区域网络,是一种高速网络,提供在计算机不存储系统之间的数据传输。存储设备是一台多台用以存储计算机数据的磁盘设备,通常磁盘阵列。 SAN存储,采用网状通道(Fibre Channel ,简称FC)技术,通过FC交换机连接存储阵列和服务器主机,建立与用于数据存储的区域网络。

    SAN由于其基础是一个与用网络,因此扩展性很强,管是在一个SAN系统中增加一定的存储空间还是增加几台使用存储空间的服务器都非常方便。

 

NAS不SAN的区别在两方面:

第一,从网络架构来说,本质区别在于:

    NAS,直接使用TCP/IP传输数据。SAN使用SCSI戒iSCSI协议传输数据。

第二,从文件读写实现方法上来说,本质区别在于:

    NAS采用了NFS和 CIFS技术实现文件共享。说明NAS是基于操作系统的文件级读写操作。

SAN中计算机和存储间的接口是底层的块协议,它挄照协议头的块地址+偏移地址来定位。共享的存储和前端的操作系统类型没有关系。仸务服务器操作系统,都可以正常实别。

 

运行模式: C/S

target 目标, initiator [n.ietr] 发起人

端口: 3260

------------------------------------------------------------------

一:实验拓扑

wKiom1kiSUuyuMFbAABikVhj9Qc693.png 

二:实验目标

:配置IP SAN服务器

IP SAN服务器日常操作

 

 

三:实验环境

服务端:target xuegod63    192.168.1.63

客户端:initiator xuegod64  192.168.1.64

 

四:实验代码

 配置一个IP SAN 存储服务器

分析:xuegod63配置成ip san,将xuegod63上的sda4分区,通过ip san 共享出去。

------------------------------------------------------------------------------------------------

配置服务端xuegod63

1安装:scsi-target-utils

[root@xuegod63 ~]# yum install -y scsi-target-utils

 

2准备一个磁盘分区: sda4 大小5G

[root@xuegod63 ~]# fdisk /dev/sda #划分出sda4分区

Command (m for help): p

Command (m for help): n

p

Selected partition 4

Last cylinder, +cylinders or +size{K,M,G} (1428-2610, default 2610): +5G

Command (m for help): w

[root@xuegod63 ~]#reboot

9配置target ,把sda4分区共享出去

 

3修改配置文件

[root@xuegod63 ~]# vim /etc/tgt/targets.conf #写入以下内容

在参考这段内容并在段内容后,追加以下红色标记内容:

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

76 # direct-store /dev/sdb # Becomes LUN 1

77 # direct-store /dev/sdc # Becomes LUN 2

78 # direct-store /dev/sdd # Becomes LUN 3

79 # write-cache off

80 # vendor_id MyCompany Inc.

81 #</target>

为:

<target iqn.2016-11.cn.xuegod.www:target_san1>

backing-store /dev/sda4

initiator-address 192.168.1.64

vendor_id xuegod

product_id target1

</target>

注释:

default-driver iscsi #此配置文件默认全部注释,使用iscsi 

<tarrget iqn.2015-1.cn.xuegod.www:target_san1> # iscsi正规名字格式 : iqn.年-月.主机名倒着写: target端名字

backing-store /dev/sda4 # 可以是具体的分区,也可以是DD出来的文件。能小于5G。 (后面的文件系统是GFS,光日志空间就128M

initiator-address 192.168.1.62 #定允许访问的此存储主机

initiator-address 192.168.1.64 #定允许访问的此存储主机

vendor_id “xuegod” vendor vendr供应商   供应厂商编号 标识这个设备(字符要过长)

product_id "TARGET1" # 产品编号

</target>

 

4服务

[root@xuegod63 ~]#service tgtd restart

[root@xuegod63 ~]# netstat -antup | grep 3260

tcp 0 0 0.0.0.0:3260 0.0.0.0:* LISTEN 3130/tgtd

tcp 0 0 :::3260 :::* LISTEN 3130/tgtd

 

5查看状态tgt-admin --show

[root@xuegod63 ~]# tgt-admin --show

Account information:

ACL information: #允许哪些客户端可以访问

192.168.1.64

 

开机启

[root@xuegod63 Desktop]# chkconfig tgtd on

------------------------------------------------------------------------------------------------

配置客户端: xuegod64

1安装包: iscsi-initiator

[root@xuegod64 ~]# rpm -ivh /mnt/Packages/iscsi-initiator-utils-6.2.0.872-34.el6.x86_64.rpm

 

2客户端服务: 

[root@xuegod64 ~]# /etc/init.d/iscisd start #后没有反应

注:需要先发现target存储,再启客户端服务,才有效

[root@xuegod64 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.1.63:3260

Starting iscsid: [ OK ]

192.168.1.63:3260,1 iqn.20116-11.cn.xuegod.www:target_san1

[root@xuegod64 ~]# /etc/init.d/iscsid status

iscsid (pid 2607) is running...

 

3target存储服务器信息在客户端存储的位置:

[root@xuegod64 ~]# rpm -ivh /mnt/Packages/tree-1.5.3-2.el6.x86_64.rpm

[root@xuegod64 ~]# tree /var/lib/iscsi/

/var/lib/iscsi/

├── ifaces

├── isns

├── nodes

│ └── iqn.2015-01.cn.xuegod.www:target_san1

│ └── 192.168.1.63,3260,1

│ └── default

├── send_targets

│ └── 192.168.1.63,3260

│ ├── iqn.2015-01.cn.xuegod.www:target_san1,192.168.1.63,3260,1,default -> /var/lib/iscsi/nodes/iqn.2015-01.cn.xuegod.www:target_san1/192.168.1.63,3260,1

│ └── st_config

├── slp

└── static

 

4重新启 

[root@xuegod64 ~]# /etc/init.d/iscsid restart #先启iscsid

[root@xuegod64 ~]# /etc/init.d/iscsi restart # 根据/var/lib/iscsi/ 中发现的信息,识别设备

 

关闭:

[root@xuegod64 ~]# /etc/init.d/iscsi stop

[root@xuegod64 ~]# /etc/init.d/iscsid stop

 

5开机自

[root@xuegod64 ~]# chkconfig iscsi on

[root@xuegod64 ~]# chkconfig iscsid on

 

查看默认开机两个服务的先后顺序:

[root@xuegod64 ~]# grep chkconfig: /etc/init.d/iscsid

# chkconfig: 345 7 89

[root@xuegod64 ~]# grep chkconfig: /etc/init.d/iscsi

# chkconfig: 345 13 89

 

6查看发现到新硬盘: 

[root@xuegod64 ~]# ll /dev/sdb

brw-rw---- 1 root disk 8, 16 Jul 30 19:11 /dev/sdb

------------------------------------------------------------------------------------------------

卸载,挂载存储设备

卸载方法一

1卸载

[root@xuegod64 ~]# iscsiadm -m node -T iqn.2015-01.cn.xuegod.www:target_san1 -u

Logging out of session [sid: 1, target: iqn.2015-01.cn.xuegod.www:target_san1, portal: 192.168.1.63,3260]

Logout of [sid: 1, target: iqn.2015-01.cn.xuegod.www:target_san1, portal: 192.168.1.63,3260] successful.

[root@xuegod64 ~]# ls /dev/sdb

ls: cannot access /dev/sdb: No such file or directory :

 

2登录存储存储设备

[root@xuegod64 ~]# iscsiadm -m node -T iqn.2015-01.cn.xuegod.www:target_san1 -l

Logging in to [iface: default, target: iqn.2015-01.cn.xuegod.www:target_san1, portal: 192.168.1.63,3260] (multiple)

Login to [iface: default, target: iqn.2015-01.cn.xuegod.www:target_san1, portal: 192.168.1.63,3260] successful.

[root@xuegod64 ~]# ls /dev/sdb

/dev/sdb

 

卸载方法二:

1:卸载 

[root@xuegod64 ~]# /etc/init.d/iscsi stop

Stopping iscsi: [ OK ]

[root@xuegod64 ~]# ls /dev/sdb

ls: cannot access /dev/sdb: No such file or directory

 

2登录存储存储设备

[root@xuegod64 ~]# /etc/init.d/iscsi restart

 

彻底退出:

[root@xuegod64 ~]# /etc/init.d/iscsi stop

[root@xuegod64 ~]# rm -rf /var/lib/iscsi/*

------------------------------------------------------------------------------------------------

xuegod64上对识别出来的硬盘,分区格式化,挂载使用

1:发现存储设备

[root@xuegod64 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.1.63:3260 #发现存储设备

 

2:启动服务器

[root@xuegod64 ~]# /etc/init.d/iscsid restart

[root@xuegod64 ~]# /etc/init.d/iscsi restart

[root@xuegod64 ~]# ls /dev/sdb #发现sdb

/dev/sdb

 

分区格式化,挂载使用。

[root@xuegod64 ~]# fdisk /dev/sdb 划分一个分区sdb1

[root@xuegod64 ~]# fdisk /dev/sdb

Command (m for help): n

p primary partition (1-4)

p

Partition number (1-4): 1

Last cylinder, +cylinders or +size{K,M,G} (1-1019, default 1019): #直接回车使用所有可以使用的空间。  

[root@xuegod64 ~]# ll /dev/sdb*

brw-rw---- 1 root disk 8, 16 Jul 30 21:44 /dev/sdb

brw-rw---- 1 root disk 8, 17 Jul 30 21:44 /dev/sdb1

[root@xuegod64 ~]# mkfs.ext4 /dev/sdb1

[root@xuegod64 ~]# mount /dev/sdb1 /opt 

 

-------------------------------------------------------------------------------------------

target服务端,再添加一个存储客户端

 

1添加如下内容:

[root@xuegod63 ~]# vim /etc/tgt/targets.conf

wKiom1kiUguy7IsYAAAjilcPTSo355.png 

 

2:重启服务

[root@xuegod63 ~]# /etc/init.d/tgtd restart

Stopping SCSI target daemon: initiators still connected [FAILED]

Starting SCSI target daemon: [FAILED] #报错

 

解决:客户端退出一下 

[root@xuegod64 ~]# umount /opt/

[root@xuegod64 ~]# /etc/init.d/iscsi stop

 

客户端退出后,再测试启 

[root@xuegod63 ~]# /etc/init.d/tgtd restart

Stopping SCSI target daemon: [ OK ]

Starting SCSI target daemon: [ OK ]

 

3测试: xuegod64 xuegod62 都挂载上硬盘,数据同步

[root@xuegod64 ~]#/etc/init.d/iscsi start

[root@xuegod64 ~]# ls /dev/sdb*

/dev/sdb /dev/sdb1

[root@xuegod64 ~]# ls /dev/sdb*

/dev/sdb /dev/sdb1

[root@xuegod64 ~]# mount /dev/sdb1 /opt/

[root@xuegod64 ~]# cp /etc/passwd /opt/ #复制一些数据

 

4测试:xuegod62 是否数据同步

[root@xuegod62 ~]# rpm -ivh /mnt/Packages/iscsi-initiator-utils-6.2.0.872-34.el6.x86_64.rpm

[root@xuegod62 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.1.63:3260

192.168.1.63:3260,1 iqn.2015-01.cn.xuegod.www:target_san1

[root@xuegod62 ~]# /etc/init.d/iscsi restart

[root@xuegod62 ~]# ls /dev/sdb*

/dev/sdb /dev/sdb1

[root@xuegod62 ~]# mount /dev/sdb1 /opt/

[root@xuegod62 ~]#ls /opt/ #可以看到数据已经同步过来了

lost+found passwd

 

5测试xuegod64数据是否同步:

[root@xuegod62 ~]# cp /etc/hosts /opt

[root@xuegod62 ~]# ls /opt

hosts lost+found passwd

[root@xuegod64 ~]# ls /opt

lost+found passwd

# passwd #只看到passwd 没有同步,是因为我们使用的ext4 文件系统,ext4文件系统支持多个客户端同时使用。 使用GFS文件系统就可以同步。 










本文转自 于学康 51CTO博客,原文链接:http://blog.51cto.com/blxueyuan/1928089,如需转载请自行联系原作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/540151.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[转载] Java8 Stream流遍历 如何使用索引

参考链接&#xff1a; Java 8中迭代带有索引的流Stream 1. 问题来源 Java8的Stream流为我们的遍历集合带来了方便&#xff0c;基本可以取代for循环了。但是有一些情况需要知道当前遍历的索引&#xff0c;使用for循环当然可以轻易获得&#xff0c;但使用stream就很难了。 比如…

Jquery简单的右侧浮动菜单

今天有空稍微看了下Jquery动画函数animate这个方法&#xff0c;发现可以用这个方法来做下简单的右侧浮动菜单 因为经常做淘宝页面时候会碰到这样的效果 以前都是用人家的javascript组件代码 发现老是用人家也不好&#xff0c;所以今天有空用jqeury中的animate这个方法写了一个简…

[转载] Java8-Stream API 详解

参考链接&#xff1a; 如何在Java 8中从Stream获取ArrayList 摘要 Stream 作为 Java 8 的一大亮点&#xff0c;它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。它也不同于 StAX 对 XML 解析的 Stream&#xff0c;也不是 Amazon Kinesis 对大数据实时处理…

在Microsoft System Center中利用您的现有投资管理VMware--Veeam MP v6.5

在 Microsoft System Center 中利用您的现有投资管理 VMware VeeamManagement Pack (MP) v6.5 适用于物理、虚拟和备份基础架构的单一的虚拟管理平台 前段时间介绍了Veeam Management Pack (MP) v6.0产品&#xff0c;昨天发布了新版本VeeamManagement Pack (MP) v6.5&#xff0…

[转载] Java关键字(Java 8版本)

参考链接&#xff1a; 所有Java关键字列表 定义 被Java语言赋予了特殊含义&#xff0c;用作专门用途的字符串&#xff08;单词&#xff09;&#xff0c;这些关键字不能用于常量、变量、和任何标识符的名称。 Java关键字(Java 8版本) Java关键字(Java 8 以后版本) 注意事…

uiw 1.2.17 发布,基于 React 16 的组件库

发布&#xff0c; 高品质的UI工具包&#xff0c;React 16的组件库。 文档网站&#xff1a;uiw-react.github.io开源仓库&#xff1a;github.com/uiw-react/u… 更新内容&#xff1a; ? 修复没有代码检测文件匹配*.css。 5712887 ? 添加 .editorconfig 文件. d82dabf ⛑ 给测试…

[转载] Java中this和super关键字分别是什么意思

参考链接&#xff1a; Java中的Super关键字 this和super关键字 this是自身的一个对象&#xff0c;代表对象本身可以理解为指代当前的对象&#xff0c;它可以调用当前对象的属性、方法和构造方法&#xff0c;一般情况下可以省略&#xff0c;必须使用this的地方是区分出现名字重…

SpringMVC注解HelloWorld

今天整理一下SpringMVC注解 欢迎拍砖 RequestMapping RequestMapping是一个用来处理请求地址映射的注解&#xff0c;可用于类或方法上。用于类上&#xff0c;表示类中的所有响应请求的方法都是以该地址作为父路径。 RequestMapping注解有六个属性&#xff0c;下面我们把她分成三…

mysql问答汇集

问:A&#xff0c;B两台mysql实现主从复制,A提供写&#xff0c;B提供读,那既然B要同步A&#xff0c;当A更新数据的时候&#xff0c;B不也一样要更新吗&#xff1f;那B不还是没有实现负载减轻吗&#xff1f;还有能通过MYSQL proxy实现3台mysq均衡l吗&#xff1f;一台写&#xff0…

自制 移动端 纯原生 Slider滑动插件

在Google搜关键字“slider”或“swiper”能找到一大堆相关插件&#xff0c;自己造轮子是为了能更好的理解其中的原理。 给这个插件取名为“veSlider”是指“very easy slider”非常简单的一个滑动插件。 这只是个半成品&#xff0c;仅仅实现了手指滑动、自动轮播、跳转等基本功…

ISA Server 2006 部署步骤

ISA Server 2006 部署步骤 Posted by 尹揆 在这里先把ISA2006的安装步骤给大家贴出来,后面陆续会有一些配置及日常的应用,希望大家多多指教!呵呵.ISA功能的强大自然不用多说了,一句话只要能想到它就能做到!放入光盘出现在我们面前还是其人性化的界面点默认的下一步吧接受协议序…

ELK 分析 nginx access 日志

注意&#xff1a;修改配置后建议重新创建index 1、nginx 日志文件格式 123log_format elk "$http_clientip | $http_x_forwarded_for | $time_local | $request | $status | $body_bytes_sent | ""$request_body | $content_length | $http_referer | $http_use…

mysql将查询数据另存

1.查询mysql的存储执行目录&#xff08;secure-file-priv是指定文件夹作为导出文件存放的地方&#xff09;所以需要查询以下&#xff0c;不然会报1290错误 show variables like %secure%;2.查询并转存 SELECT * into outfile C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\zo…

重新捡起flask(三)

记一次bug调试。 本来以为模板这一章可以很快的过掉的&#xff0c;刚刚写完的2其实只剩下个flask-moment时间库了&#xff0c;之前早就做过&#xff0c;记得很简单&#xff0c;本来说只要敲一下代码就结束&#xff0c;没想到&#xff0c;踩坑里去了。 调试bug吗&#xff0c;我想…

远程服务器部署spring boot 项目(centos7为例)

1.打包项目&#xff08;可以是jar包&#xff0c;也可以是war包&#xff09;以jar包为例&#xff08;用eclipse打包&#xff09;&#xff1a;1.项目目录右击--debug as&#xff08;run as&#xff09;--maven build&#xff0c;然后输入package&#xff0c;点击debug&#xff0c…

SIN的服务器配置

统计了新加坡服务器中IBM XIV存储挂载的主机列表。 对于vmware虚拟机来说&#xff0c;是这么组成的&#xff1a; 存储分了多个lun&#xff0c;在os侧叫做data store&#xff0c;多个datastore挂给多个物理机&#xff0c;物理机(安装了esxi软件)称为ESXI主机&#xff0c;多个ESX…

sklearn的train_test_split

sklearn的train_test_split train_test_split函数用于将矩阵随机划分为训练子集和测试子集&#xff0c;并返回划分好的训练集测试集样本和训练集测试集标签。 格式&#xff1a; X_train,X_test, y_train, y_test cross_validation.train_test_split(train_data,train_target,…

textmate bundle for jquery

使用这个bundle的例子:键入ready然后按tab就会生成下面的代码:$(document).ready(function() { }); 其中第二行被选中,这时在里面编写jquery代码即可. 如果要查看某个function的官方文档的话可以在键入的function之后使用快捷键ctrlh 查看. 关于bundle的下载 这里是一个textmat…

sklearn机器学习实例

原创网址&#xff1a;https://blog.csdn.net/qq_27150893/article/details/80169736 sklearn是非常流行的机器学习库&#xff0c;实现了很多的机器学习模型。官网&#xff1a;http://scikit-learn.org/stable/ 里面有全面的实例和模型参数讲解&#xff0c;用到哪个模型就去官…

CSVDE批量导入域用户

CSVDE批量导入用户 你可以使用Csvde格式的文件在活动目录中创建用户帐号和其他类型的帐号。但你不能使用Csvde删除活动目录中的对象。 使用Csvde命令行工具创建用户帐号&#xff0c;采用下列步骤&#xff1a; 1. 创建Csvde输入文件。文件应包含下列信息。 属性行&#xff1a;这…