rhel6.3搭建iscsi-target服务器实战

简介:

iSCSI技术是一种由IBM公司研究开发的,是一个供硬件设备使用的可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。iSCSI的最大好处是能提供快速的网络环境,虽然其性能和带宽跟光纤网络还有一些差距,但能节省企业约30-40%的成本。

下面我们来看一下在RHEL6.3上如何搭建iscsi-target服务器和客户端如何挂载.

一、服务端操作

服务端版本:

[root@racscsi home]# uname -r

2.6.32-279.el6.x86_64

[root@racscsi home]# cat /etc/redhat-release 

Red Hat Enterprise Linux Server release 6.3 (Santiago)

安装iscsi server软件包。

用RPM的方式安装。

[root@racscsi home]# rpm -ivh scsi-target-utils-1.0.24-2.el6.x86_64.rpm 

warning: scsi-target-utils-1.0.24-2.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY

Preparing... ########################################### [100%]

package scsi-target-utils-1.0.24-2.el6.x86_64 is already installed

用yum命令安装(需自己配置YUM源)

[root@racscsi home]#yum -y install scsi-target-utils

启动服务并且添加到开机自启动。

[root@racscsi home]# /etc/init.d/tgtd start

Starting SCSI target daemon: [ OK ]

[root@racscsi home]# chkconfig tgtd on


使用fdisk命令创建几个分区,或者通过外部存储映射共享分区。

现在这台服务器已划分好/dev/sdb、 /dev/sdc、 /dev/sdd、 /dev/sde、 /dev/sdf、 /dev/sdg 、/dev/sdh、/dev/sdi分区,用于客户端的挂载

下面我们需要编辑配置文件/etc/tgt/targets.conf,并设置下iSCSI Qualified Name (IQN).

[root@racscsi home]#vim /etc/tgt/ targets.conf

在文件末尾添加如下内容

<target iqn.2008-09.com.example:asm> #iqn名字可任意

backing-store /dev/sdb 

backing-store /dev/sdc

backing-store /dev/sdd

backing-store /dev/sde

backing-store /dev/sdf 

backing-store /dev/sdg

backing-store /dev/sdh

backing-store /dev/sdi 

initiator-address 192.168.10.0/24 #限定允许访问的客户端地址段或具体IP

write-cache off #是否开启或关闭快取

</target>

重启服务,使修改后的配置生效。

[root@racscsi home]#/etc/init.d/tgtd restart

确定iscsi server是否成功。如果显示如下说明配置iscsi server已经成功。

[root@racscsi home]# tgt-admin --show

Target 1: iqn.2008-09.com.example:asm

System information:

Driver: iscsi

State: ready

I_T nexus information:

I_T nexus: 1

Initiator: iqn.1994-05.com.redhat:b363811441a

Connection: 0

IP Address: 192.168.10.212

LUN information:

LUN: 0

Type: controller

SCSI ID: IET 00010000

SCSI SN: beaf10

Size: 0 MB, Block size: 1

Online: Yes

Removable media: No

Prevent removal: No

Readonly: No

Backing store type: null

Backing store path: None

Backing store flags: 

LUN: 1

Type: disk

SCSI ID: IET 00010001

SCSI SN: beaf11

Size: 2147 MB, Block size: 512

Online: Yes

Removable media: No

Prevent removal: No

Readonly: No

Backing store type: rdwr

Backing store path: /dev/sdb

Backing store flags: 

。。。。。。。。。。。。 #中间内容省略

LUN: 8

Type: disk

SCSI ID: IET 00010008

SCSI SN: beaf18

Size: 5369 MB, Block size: 512

Online: Yes

Removable media: No

Prevent removal: No

Readonly: No

Backing store type: rdwr

Backing store path: /dev/sdi

Backing store flags: 

Account information:

ACL information:

192.168.10.0/24

注意:关闭服务端的IPTABLES,以免客户端无法正常访问


二、客户端挂载

客户端需安装的包iscsi-initiator-utils

[root@rac2 home]# rpm -ivh iscsi-initiator-utils-6.2.0.872-41.el6.x86_64.rpm 

warning: iscsi-initiator-utils-6.2.0.872-41.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY

Preparing... ########################################### [100%]

1:iscsi-initiator-utils ########################################### [100%]

用yum命令安装(需自己配置YUM源)

[root@rac2 home]#yum -y install iscsi-initiator-utils


启动服务并且添加到开机启动。

[root@rac2 Desktop]# /etc/init.d/iscsid start

[root@rac2 Desktop]# chkconfig iscsid on


发现服务器端iscsi server的共享分区。

[root@rac2 Desktop]# iscsiadm --mode discovery --type sendtargets --portal 192.168.10.220

192.168.10.220:3260,1 iqn.2008-09.com.example:asm

已发现


登陆到iscsi server共享的分区。

[root@rac2 Desktop]# iscsiadm -m node -T iqn.2008-09.com.example:asm -p 192.168.10.220 -l

Logging in to [iface: default, target: iqn.2008-09.com.example:asm, portal: 192.168.10.220,3260] (multiple)

Login to [iface: default, target: iqn.2008-09.com.example:asm, portal: 192.168.10.220,3260] successful.


再使用fdisk -l命令查看分区,发现共享出来的分区都已经挂过来了。

[root@rac2 Desktop]# fdisk -l

Disk /dev/sda: 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): 512 bytes / 512 bytes

Disk identifier: 0x000586f0


Device Boot Start End Blocks Id System

/dev/sda1 * 1 39 307200 83 Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2 39 549 4096000 82 Linux swap / Solaris

Partition 2 does not end on cylinder boundary.

/dev/sda3 549 2611 16567296 83 Linux


Disk /dev/sdb: 2147 MB, 2147483648 bytes

67 heads, 62 sectors/track, 1009 cylinders

Units = cylinders of 4154 * 512 = 2126848 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000



Disk /dev/sdc: 2147 MB, 2147483648 bytes

67 heads, 62 sectors/track, 1009 cylinders

Units = cylinders of 4154 * 512 = 2126848 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000



Disk /dev/sdd: 2147 MB, 2147483648 bytes

67 heads, 62 sectors/track, 1009 cylinders

Units = cylinders of 4154 * 512 = 2126848 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000



Disk /dev/sde: 10.7 GB, 10737418240 bytes

64 heads, 32 sectors/track, 10240 cylinders

Units = cylinders of 2048 * 512 = 1048576 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000



Disk /dev/sdf: 10.7 GB, 10737418240 bytes

64 heads, 32 sectors/track, 10240 cylinders

Units = cylinders of 2048 * 512 = 1048576 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000



Disk /dev/sdg: 10.7 GB, 10737418240 bytes

64 heads, 32 sectors/track, 10240 cylinders

Units = cylinders of 2048 * 512 = 1048576 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000



Disk /dev/sdh: 5368 MB, 5368709120 bytes

166 heads, 62 sectors/track, 1018 cylinders

Units = cylinders of 10292 * 512 = 5269504 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000



Disk /dev/sdi: 5368 MB, 5368709120 bytes

166 heads, 62 sectors/track, 1018 cylinders

Units = cylinders of 10292 * 512 = 5269504 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000


最后你可以格式化分区,挂载在本地相应目录。如果要实现开机自动挂载,要在fstab文件添加记录。

注意添加_netdev参数,要不你在重启iscsi server后,启动时会报错。

示例: /dev/sdb /crs ext4 default,_netdev 0 0


补充:

如果在服务端/etc/tgt/targets.conf文件配置了用户名密码,比如

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

backing-store /dev/sdb 

initiator-address 192.168.10.0/24 

incoming grid 123@passwd 

write-cacheoff 

</target>


则在客户端/etc/iscsi/iscsid.conf配置文件

需要添加相应的账号和密码

node.session.auth.username = grid

node.session.auth.password = 123@passwd

discovery.sendtargets.auth.username = grid

discovery.sendtargets.auth.password = 123@passwd
















本文转自东方之子736651CTO博客,原文链接:http://blog.51cto.com/ecloud/1387017 ,如需转载请自行联系原作者








相关文章
|
13天前
|
存储 监控 调度
云服务器成本优化深度解析与实战案例
本文深入探讨了云服务器成本优化的策略与实践,涵盖基本原则、具体策略及案例分析。基本原则包括以实际需求为导向、动态调整资源、成本控制为核心。具体策略涉及选择合适计费模式、优化资源配置、存储与网络配置、实施资源监控与审计、应用性能优化、利用优惠政策及考虑多云策略。文章还通过电商、制造企业和初创团队的实际案例,展示了云服务器成本优化的有效性,最后展望了未来的发展趋势,包括智能化优化、多云管理和绿色节能。
|
2月前
|
机器学习/深度学习 弹性计算 运维
云计算系列之阿里云ECS服务器管理实战
本文档介绍了阿里云ECS(Elastic Compute Service)的基本概念、实例管理、磁盘操作、快照与镜像功能及其应用场景,最后通过具体案例解析ECS的实际应用。ECS是阿里云提供的高效、可靠的云计算服务,支持多种业务需求,如Web应用、高并发网站、数据库等,帮助企业快速构建稳定安全的应用,提升运维效率,降低IT成本。文档还详细说明了ECS实例的创建方式、连接方法及日常管理操作,帮助用户更好地利用ECS服务。
82 2
云计算系列之阿里云ECS服务器管理实战
|
6月前
|
Java 应用服务中间件 开发者
【实战指南】Java Socket编程:构建高效的客户端-服务器通信
【6月更文挑战第21天】Java Socket编程用于构建客户端-服务器通信。`Socket`和`ServerSocket`类分别处理两端的连接。实战案例展示了一个简单的聊天应用,服务器监听端口,接收客户端连接,并使用多线程处理每个客户端消息。客户端连接服务器,发送并接收消息。了解这些基础,加上错误处理和优化,能帮你开始构建高效网络应用。
455 10
|
6月前
|
IDE Java 开发工具
从零开始学Java Socket编程:客户端与服务器通信实战
【6月更文挑战第21天】Java Socket编程教程带你从零开始构建简单的客户端-服务器通信。安装JDK后,在命令行分别运行`SimpleServer`和`SimpleClient`。服务器监听端口,接收并回显客户端消息;客户端连接服务器,发送“Hello, Server!”并显示服务器响应。这是网络通信基础,为更复杂的网络应用打下基础。开始你的Socket编程之旅吧!
101 3
|
3月前
|
网络协议
keepalived对后端服务器的监测方式实战案例
关于使用keepalived进行后端服务器TCP监测的实战案例,包括配置文件的编辑和keepalived服务的重启,以确保配置生效。
80 1
keepalived对后端服务器的监测方式实战案例
|
4月前
|
SQL 缓存 自然语言处理
实战案例1:基于C语言的Web服务器实现。
实战案例1:基于C语言的Web服务器实现。
232 15
|
4月前
|
运维 数据安全/隐私保护 数据库管理
企业实战项目之服务器用户权限集中管理
企业实战项目之服务器用户权限集中管理
|
4月前
|
弹性计算 监控 网络安全
解锁云端力量:ECS全攻略,从新手到专家的实战之旅!轻松掌握云计算核心技能,驾驭数字浪潮之巅!
【8月更文挑战第22天】云计算中的弹性计算服务(ECS)让企业和开发者能按需获取虚拟服务器,灵活配置CPU、内存等资源。本文从零开始指导ECS的基础操作与高级技巧,包括实例创建、SSH连接、Web应用部署及利用ELB和自动伸缩优化性能。同时介绍监控工具和数据备份方法,帮助您全方位掌握ECS的高效运用,满足业务需求并保障数据安全。
74 3
|
5月前
|
SQL 缓存 前端开发
PHP性能优化实战:从代码到服务器的全方位攻略
【7月更文挑战第30天】在Web开发的世界里,PHP以其灵活性和易用性赢得了广泛的赞誉。然而,随着应用规模的扩大,性能问题逐渐浮现。本文将深入探讨PHP的性能优化策略,不仅涉及代码层面的精细调整,还包括服务器配置的优化技巧。我们将一起探索如何通过减少资源消耗、优化数据库交互以及利用缓存技术来提升PHP应用的性能表现。无论你是PHP新手还是资深开发者,这篇文章都将为你提供实用的优化建议,帮助你打造更快、更稳定的PHP应用。
95 4
|
4月前
|
移动开发 网络协议 编译器
实战案例3:C语言实现的HTTP服务器
实战案例3:C语言实现的HTTP服务器
272 0