CentOS 6.3下配置iSCSI网络存储
一、简介
iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的、可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料。
iSCSI是一种基于TCP/IP 的协议,用来建立和管理IP存储设备、主机和客户机等之间的相互连接,并创建存储区域网络(SAN)。SAN 使得SCSI 协议应用于高速数据传输网络成为可能,这种传输以数据块级别(block-level)在多个数据存储网络间进行。SCSI 结构基于C/S模式,其通常应用环境是:设备互相靠近,并且这些设备由SCSI 总线连接。
iSCSI 的主要功能是在TCP/IP 网络上的主机系统(启动器 initiator)和存储设备(目标器 target)之间进行大量数据的封装和可靠传输过程。
完整的iSCSI系统的拓扑结构如下:
二、实验环境
操作系统:CentOS release 6.3 (Final)
iSCSI Target:192.168.1.21 / scsi-target-utils-1.0.24-12.el6_5.i686
iSCSI Initiator:192.168.1.22 / iscsi-initiator-utils-6.2.0.873-10.el6.i686
防火墙已关闭/iptables: Firewall is not running.
SELINUX=disabled
三、准备工作
iSCSI可分享的设备类型有很多,包括镜像文件(*.img)、分区(partition)、物理硬盘、raid设备、逻辑卷等,下面我们将准备其中的几种来测试,其他类型大家可以自行测试。
3.1 模拟镜像
在iSCSI Target的/srv目录下创建一个200M大小的镜像文件。
# mkdir /srv/iscsi
# dd if=/dev/zero of=/srv/iscsi/disk1.img bs=1M count=200
# ll -lh /srv/iscsi/disk1.img
3.2 建立分区
创建一个500M大小的分区/dev/sdb1.
# fdisk /dev/sdb
3.3 创建逻辑卷
创建一个800M大小的LV.
# pvcreate /dev/sdc
# vgcreate vg0 /dev/sdc
# lvcreate -L 800M -n lv1 vg0
四、配置iSCSI Target
4.1 安装tgt
CentOS 自带了scsi-target-utils 软件,我们使用该软件进行target设置。
# yum -y install scsi-target-utils
4.2 配置tgt
tgt的主配置文件为/etc/tgt/targets.conf,下面我们来设置改文件。
在该文件最后新增以下设置:
<target iqn.2014-07.dev.iscsi-target:iscsidisk>
backing-store /srv/iscsi/disk1.img
backing-store /dev/sdb1
backing-store /dev/vg0/lv1
backing-store /dev/sdd
</target>
说明:
iqn = iSCSI Qualified Name
iSCSI target的名称规则如下:
iqn.2014-07.dev.iscsi-target:iscsidisk
iqn.年份-月份.域名反写.设备识别
每个在同一个target上的backing-store 称为逻辑单元号(Logical Unit Number,LUN),这个实验中有4个LUN。
其他高级设置如initiator-address、incominguser,大家自行查资料。
4.3 启动iSCSI target
# /etc/init.d/tgtd start
# chkconfig tgtd on
# netstat -tulnp|grep tgt
4.4 查看iSCSI target
# tgt-admin –show
LUN0 是控制器,可以看到各个LUN的大小和磁盘路径。
至此,iSCSI Target 设定完毕。
五、配置iSCSI Initiator
5.1 安装initiator
# yum -y install iscsi-initiator-utils
5.2 设置开机启动
# chkconfig iscsid on
# chkconfig iscsi on
5.3 配置文档
initiator的配置文档位于/etc/iscsi/,该目录下有两个文件,initiatorname.iscsi 和iscsid.conf,
其中iscsid.conf 是其配置文件,initiatorname.iscsi 是标记了initiator的名称,它的默认名称是InitiatorName=iqn.1994-05.com.redhat:b45be5af6021,我们可以根据实际情况进行更改,比较好区分,这里我们修改为InitiatorName=iqn.2014-07.dev.iscsi-initiator:initiator。
因为在target里面,我们并没有设置访问限制,所以iscsid.conf 文件并不需要修改。
5.4 侦测target
如果我们事先不知道目标主机的target名称,我们就需要进行侦测,下面来讲解。
# iscsiadm -m discovery -t sendtargets -p 192.168.1.21
说明:
-m discovery //侦测target
-t sendtargets //通过iscsi协议
-p IP:port //指定target的IP和port,不写port的话,默认为3260
5.5 查看nodes
iscsiadm 侦测到的结果会写入/var/lib/iscsi/nodes/ 中,因此只需启动/etc/init.d/iscsi 就能够在下次开机时,自动连接到正确的target了。
# ll -R /var/lib/iscsi/nodes/
侦测信息都写入了/var/lib/iscsi/nodes/iqn.2014-07.dev.iscsi-target:iscsidisk/192.168.1.21,3260,1/default 文件中了。
5.6 连接target
查看目前系统上面所有的target
# iscsiadm -m node
登录target
# iscsiadm -m node -T iqn.2014-07.dev.iscsi-target:iscsidisk –login
5.7 查看磁盘情况
# fdisk –l
可以看到,initiator 上面多了四块硬盘,大小和target上的LUN一致。这时你就可以像使用本地磁盘一样使用这些iSCSI设备了,下面我们来测试。
5.8 将/dev/sdb 和/dev/sdc 创建成LV挂载使用
创建LV
# pvcreate /dev/sdb /dev/sdc
# vgcreate iscsi /dev/sdb /dev/sdc
# lvcreate -L 1G -n iscsilv iscsi
格式化并挂载
# mkfs.ext4 /dev/iscsi/iscsilv
# mkdir /mnt/iscsi
# vi /etc/fstab
创建测试文件
挂载成功,创建测试文件成功。
5.9 重启测试
测试成功。
5.10 查看target信息
# tgt-admin --show
可以看到,此时使用该target的initiator 为iqn.2014-07.dev.iscsi-initiator:initiator,也就是我们上面更改的initiatorname,IP地址为192.168.1.22。
至此,iSCSI 置完毕。
David Camp
- 技术交流,请加QQ群:系统运维技术分享Ⅲ:416491168
- 业务合作,请联系作者QQ:562866602
- 我的微信号:mchina_tang
- 给我写信:mchina_tang@qq.com
- 我的地址:江苏·苏州
我们永远相信,分享是一种美德 | We Believe, Great People Share Knowledge...
CentOS 6.3下配置iSCSI网络存储的更多相关文章
- CentOS 6.5下配置iSCSI网络存储
一.简介 iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行 SCSI协议,使其能 ...
- Linux下搭建iSCSI共享存储的方法 Linux-IO Target 方式CentOS7-1810下实现
iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...
- Linux下搭建iSCSI共享存储的方法 Linux-IO Target 方式 Debian9.5下实现
iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...
- CentOS 6.3下配置软RAID(Software RAID)
一.RAID 简介 RAID 是英文Redundant Array of Independent Disks 的缩写,翻译成中文意思是“独立磁盘冗余阵列”,有时也简称磁盘阵列(Disk Array). ...
- Linux下搭建iSCSI共享存储
转至:https://www.linuxidc.com/Linux/2016-09/135655.htm Linux下搭建iSCSI共享存储 拓扑: 实验步骤: ------------------- ...
- CentOS 6.3下配置LVM(逻辑卷管理)
一.简介 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵 ...
- CentOS和Windows下配置MySQL远程访问的教程
CentOS和Windows下配置MySQL远程访问的教程 一.前言 由于实验在云服务器上跑的结果不是很理想.所以,现在切换到局域网服务器.因此,需要重新配置 Windows 服务器和 CentO ...
- CentOS 6.7下配置 yum 安装 Nginx
CentOS 6.7下配置 yum 安装 Nginx. 转载:http://www.linuxidc.com/Linux/2016-07/133283.htm 第一步,在/etc/yum.repos. ...
- CentOS 6.6下配置本地yum源与网络yum源
一.本地yum源 1.系统默认已经安装了可使用yum的软件包,所以可以直接配置: [root@localhost ~]# cd /etc/yum.repos.d/ ...
随机推荐
- Java的“友好的”访问指示符(修饰符)
如果根本不指定访问指示符,就象本章之前的所有例子那样,这时会出现什么情况呢?默认的访问没有关键字,但它通常称为"友好"(Friendly)访问.这意味着当前包内的其他所有类都能访问 ...
- java 编译时的初始化顺序
有的时候,java的初始化会对我的工作照成很大影响,所以简单介绍一下, 首先介绍简单的变量的初始化:在类的内部,变量定义的先后顺序决定了初始化的顺序,即使变量定义散布于方法定义之间,它也会先于构造器和 ...
- Centos安装Memcached和(Nginx)Memcache扩展详细教程
下载memadmin,下载地址:http://www.junopen.com/memadmin/ 并在IIS新建站点. 测试地址:http://wap.yousawang.com/mem , 1.重启 ...
- js 小数[非]四舍五入
1.四舍五入 (2.678).toFixed(2) // 2.68 2.不需要四舍五入 (parseInt(2.678*100)/100.0).toFixed(2) // 2.67 3.字节单位转换 ...
- jQuery立体式数字动态增加(animate方法)
1.HTML结构 <div class="integral">已有<span class="ii"></span>积分< ...
- 图解六大UML类图关系
在学习UML类图的过程中,UML类图关系是必须要掌握的问题,UML定义的关系主要有六种:依赖.类属.关联.实现.聚合和组合.下面对其定义和表示方法逐一说明. UML类图关系简介 依赖(Dependen ...
- Layout--iOS
// 系统的约束代码 @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UIView *superVi ...
- iOS 自定义的对象类型的解档和归档
自定义的对象的解档和归档 如果想对自己自定义的类进行解档和归档的话 必须遵循一个协议:NSCoding Student.h 文件 #import <Foundation/Foundation.h ...
- iOS 学习 - 4.存储聊天记录
主要是用sqlite3来存储聊天记录 先导入sqlite3.dylib, 点 Add Other,同时按住shift+command+G, 在弹出的Go to the folder中输入/usr/li ...
- 巧用Xode中的代码块(转)
在我们编码的过程中,总会发现有一些重复的编码工作,可能你会不厌其烦的去copy and paste,但是你有去考虑过怎样解决这样的问题吗?其实现在很多的编程IDE都能帮助我们减少一些编码的任务,提高编 ...