iSCSI安装以及配置
2013-09-16 00:00
155 查看
一、基础知识:
1.1、存储相关:
直接存储(DAS):例如本机上的磁盘,就是属于直接存储设备。
通过存储区域网络(SAN):来自网络内的其他存储设备提供的磁盘。Iscsi就是属于该方式。
网络文件系统(NAS):直接提供文件系统,可以立即使用。
1.2、iscsi相关基础知识:
iscsi target:存储设备端,存放磁盘的设备,为其他服务器提供“磁盘”,可以算作是服务器端。
Iscsi initiator:使用target提供“磁盘”的客户端。
二、iscsi安装与配置:
2.1、实验环境:
以192.168.10.1作为target,initiator分别为192.168.10.2和192.168.10.3。
2.2、target安装与配置:
在yum源上已经有了一个官方的target软件tat,所以target端直接使用该软件提供相关服务即可。
/etc/tgt/target.conf : 主要配置文件
/usr/sbin/tgt-admin : 在线查询、删除target等功能的命令
/usr/sbin/tgtd : 主要提供iscsi target服务的主程序
Iscsi是对应用透明的,以下几种方式可以作为“磁盘”分享出去给initiator使用:(1)大型文件(dd命令生成)(2) 磁盘阵列、磁盘或者磁盘分区等真实磁盘(3)使用LVM中的逻辑卷LV
以下说明以大型文件为例来进行说明,对于以上所说的三种不同“磁盘”iscsi target的配置过程都是一样的。
2.2.1首先通过dd命令建立两个768M的大型文件:
每一个在同一个target上的磁盘将它定义为逻辑单位编号(LUN),iSCSI initiator跟target协调后就会取得LUN的存取权,在以上的配置中会有一个target(192.168.10.1),在这个target中可以使用两个LUN的磁盘。
一个简单的配置完成的配置文件如下所示,此处建议使用IP将客户端的权限分开。一个target配置可以给多个initiator使用,既可以完成1对多的挂载,但是iscsi不保证写操作的一致性,所以在1对多的情况下,1个initiator可读可写,其他initiator可读,倒是一种可行的方案(同时应该关闭写缓存):
iqn.yyyy-mm.<reversed domain name>[:identifier]
其含义:
iqn表示“iSCSI Qualified Name”,简称iqn。yyyy-mm表示“年-月”。reversed domain name表示倒过来的域名。identifier是识别名称。
几个常用的参数含义如下:
backing-store:虚拟设备,与之对应的是direct-store(实际设备),设定的时候,如果把整块磁盘全部拿来使用可以使用配置direct-store,反之使用backing-store,这里使用backing-store,计划在今后的生产环境中使用LVM逻辑卷,那么这里的配置还是应该使用backing-store。
initiator-address:用户端地址,可以用来限制initiator的来源IP。
incominguser:用户名与密码,可以设定initiator使用账户密码才可以使用对应target,如果在target中使用了该配置,则在initiator的配置文件/etc/iscsi/iscsid.conf中打开如下配置:
2.2.3、启动以及查看iSCSI target:
可以通过tgt-admin命令来查看进程的运行配置文件,在遇到诡异问题的时候,可以用该命令来查看进程的配置文件,在绝大数情况下会和配置文件/etc/tgt/targets.conf一致。但是在我调试过程中发现过target进程启动了两个(修改了正在使用的target配置,执行reload配置文件操作会引起),旧的一直在提供服务,通过各种命令管理的却是新进程,通过dump配置文件发现了与conf文件不一致,最后通过kill掉旧进程,解决了问题:
安装通过yum即可:
/etc/iscsi/iscsid.conf : 主要配置文件
/sbin/iscsid : 启动iscsi initiator的主要服务程序
/sbin/iscsiadm : 管理iscsi initiator的管理程序
/etc/intit.d/iscsid : 主要服务进程
/etc/init.d/iscsi : 启动该脚本,可以使发现过的iscsi target配置生效,一般直接使用该脚本即可,initiator未执行的话,会调用/etc/init.d/iscsid启动initiator。
在启动initiator之前先进行发现操作,用以确定target端可以连接的target数据,这里需要使用命令iscsiadm,分别在192.168.10.2与192.168.10.3来执行:
在连接之前最好修改以下initiator的标识名称:
默认的一般如下所示:
在initiator端显示发现的target主机:
1.1、存储相关:
直接存储(DAS):例如本机上的磁盘,就是属于直接存储设备。
通过存储区域网络(SAN):来自网络内的其他存储设备提供的磁盘。Iscsi就是属于该方式。
网络文件系统(NAS):直接提供文件系统,可以立即使用。
1.2、iscsi相关基础知识:
iscsi target:存储设备端,存放磁盘的设备,为其他服务器提供“磁盘”,可以算作是服务器端。
Iscsi initiator:使用target提供“磁盘”的客户端。
二、iscsi安装与配置:
2.1、实验环境:
以192.168.10.1作为target,initiator分别为192.168.10.2和192.168.10.3。
2.2、target安装与配置:
在yum源上已经有了一个官方的target软件tat,所以target端直接使用该软件提供相关服务即可。
yum -y install scsi-target-utilsscsi-target-utils包中的主要配置文件以及命令:
/etc/tgt/target.conf : 主要配置文件
/usr/sbin/tgt-admin : 在线查询、删除target等功能的命令
/usr/sbin/tgtd : 主要提供iscsi target服务的主程序
Iscsi是对应用透明的,以下几种方式可以作为“磁盘”分享出去给initiator使用:(1)大型文件(dd命令生成)(2) 磁盘阵列、磁盘或者磁盘分区等真实磁盘(3)使用LVM中的逻辑卷LV
以下说明以大型文件为例来进行说明,对于以上所说的三种不同“磁盘”iscsi target的配置过程都是一样的。
2.2.1首先通过dd命令建立两个768M的大型文件:
[root@10.1 ~]# dd if=/dev/zero of=/home/test.img bs=1M count=768 [root@10.1 ~]# dd if=/dev/zero of=/home/trunk.img bs=1M count=768 [root@10.1 ~]# ll -h /home/*.img -rw-r--r-- 1 root root 768M Sep 11 15:33 /home/test.img -rw-r--r-- 1 root root 768M Sep 11 15:35 /home/trunk.img2.2.2配置文件/etc/tgt/targets.conf配置:
每一个在同一个target上的磁盘将它定义为逻辑单位编号(LUN),iSCSI initiator跟target协调后就会取得LUN的存取权,在以上的配置中会有一个target(192.168.10.1),在这个target中可以使用两个LUN的磁盘。
一个简单的配置完成的配置文件如下所示,此处建议使用IP将客户端的权限分开。一个target配置可以给多个initiator使用,既可以完成1对多的挂载,但是iscsi不保证写操作的一致性,所以在1对多的情况下,1个initiator可读可写,其他initiator可读,倒是一种可行的方案(同时应该关闭写缓存):
<target iqn.2013-09.com.inter.10.1:test-target> backing-store /home/test.img initiator-address 192.168.10.2 </target> <target iqn.2013-09.com. inter.10.1:trunk-target> backing-store /home/trunk.img initiator-address 192.168.10.3 </target>iSCSI的target名称的命名方式:
iqn.yyyy-mm.<reversed domain name>[:identifier]
其含义:
iqn表示“iSCSI Qualified Name”,简称iqn。yyyy-mm表示“年-月”。reversed domain name表示倒过来的域名。identifier是识别名称。
几个常用的参数含义如下:
backing-store:虚拟设备,与之对应的是direct-store(实际设备),设定的时候,如果把整块磁盘全部拿来使用可以使用配置direct-store,反之使用backing-store,这里使用backing-store,计划在今后的生产环境中使用LVM逻辑卷,那么这里的配置还是应该使用backing-store。
initiator-address:用户端地址,可以用来限制initiator的来源IP。
incominguser:用户名与密码,可以设定initiator使用账户密码才可以使用对应target,如果在target中使用了该配置,则在initiator的配置文件/etc/iscsi/iscsid.conf中打开如下配置:
discovery.sendtargets.auth.username = username discovery.sendtargets.auth.password = password node.session.auth.username = username node.session.auth.password = passwordwrite-cache:预设该值为on,开启缓存会加速,不过相应的,在特殊情况就有可能丢失数据的可能。
2.2.3、启动以及查看iSCSI target:
[root@10.1 ~]# /etc/init.d/tgtd start Starting SCSI target daemon: [ OK ] [root@10.1 ~]# netstat -tlunp | grep tgtd tcp 0 0 0.0.0.0:3260 0.0.0.0:* LISTEN 30945/tgtd tcp 0 0 :::3260 :::* LISTEN 30945/tgtd查看target信息:
[root@10.1 ~]# tgt-admin --show Target 1: iqn.2013-09.com.inter.10.1:test-target System information: Driver: iscsi State: ready I_T nexus information: 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: 805 MB, Block size: 512 Online: Yes Removable media: No Prevent removal: No Readonly: No Backing store type: rdwr Backing store path: /home/test.img Backing store flags: Account information: ACL information: 192.168.10.2 Target 2: iqn.2013-09.com.inter.10.1:trunk-target System information: Driver: iscsi State: ready I_T nexus information: LUN information: LUN: 0 Type: controller SCSI ID: IET 00020000 SCSI SN: beaf20 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 00020001 SCSI SN: beaf21 Size: 805 MB, Block size: 512 Online: Yes Removable media: No Prevent removal: No Readonly: No Backing store type: rdwr Backing store path: /home/trunk.img Backing store flags: Account information: ACL information: 192.168.10.3通过以上信息可以看到配置文件中的配置都已经生效,有两个target,每个target中有1个LUN。这两个target根据ACL控制,一个提供给192.168.10.2使用,一个提供给192.168.10.3使用。其中每个target的LUN0是控制器。
可以通过tgt-admin命令来查看进程的运行配置文件,在遇到诡异问题的时候,可以用该命令来查看进程的配置文件,在绝大数情况下会和配置文件/etc/tgt/targets.conf一致。但是在我调试过程中发现过target进程启动了两个(修改了正在使用的target配置,执行reload配置文件操作会引起),旧的一直在提供服务,通过各种命令管理的却是新进程,通过dump配置文件发现了与conf文件不一致,最后通过kill掉旧进程,解决了问题:
[root@10.1 home]# tgt-admin --dump default-driver iscsi <target iqn.2013-09.com. inter.10.1:trunk-target> backing-store /home/trunk.img initiator-address 192.168.10.3 </target> <target iqn.2013-09.com. nter.10.1:test-target> backing-store /home/test.img initiator-address 192.168.10.2 </target>2.3、initiator安装与配置:
安装通过yum即可:
yum install iscsi-initiator-utilsiscsi-initiator-utils中的主要配置文件以及命令:
/etc/iscsi/iscsid.conf : 主要配置文件
/sbin/iscsid : 启动iscsi initiator的主要服务程序
/sbin/iscsiadm : 管理iscsi initiator的管理程序
/etc/intit.d/iscsid : 主要服务进程
/etc/init.d/iscsi : 启动该脚本,可以使发现过的iscsi target配置生效,一般直接使用该脚本即可,initiator未执行的话,会调用/etc/init.d/iscsid启动initiator。
在启动initiator之前先进行发现操作,用以确定target端可以连接的target数据,这里需要使用命令iscsiadm,分别在192.168.10.2与192.168.10.3来执行:
[root@10.2 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.10.1 192.168.10.1:3260,1 iqn.2013-09.com.inter.10.1:test-target [root@10.3 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.10.1 192.168.10.1:3260,1 iqn.2013-09.com.inter.10.1:trunk-target可以看出2与3分别发现了属于自己的target,权限配置在target端,根据来源IP来设置的。下来以192.168.10.2为例,来介绍一下如何使用,169也是类似的。
在连接之前最好修改以下initiator的标识名称:
默认的一般如下所示:
[root@10.2 ~]# cat /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.1994-05.com.redhat:f24aa1f2fabd [root@10.3 ~]# cat /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.1994-05.com.redhat:772524a8a83e在target将会看到这样的信息,可以说是毫无分辨性,initiator多了之后不方便管理,强烈建议修改一下这个名称,initiator的命名规则和target是一致的,可以改为如下所示:
[root@10.2 ~]# cat /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.2013-09.com.inter.10.2:test-initiator [root@10.3 ~]# cat /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.2013-09.com.inter.10.3:trunk-initiator通过以下命令启动iscsi initiator的服务,该服务会启动iscsid并加载发现了的target,之后使用fdisk –l命令来查看加载的磁盘:
[root@10.2 ~]# /etc/init.d/iscsi start Starting iscsi: [ OK ] [root@10.2 ~]# fdisk -l Disk /dev/vda: 69.8 GB, 69793218560 bytes 255 heads, 63 sectors/track, 8485 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: 0x0006336e Device Boot Start End Blocks Id System /dev/vda1 * 1 8486 68156416 83 Linux Disk /dev/vdb: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 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: 0x00080da4 Device Boot Start End Blocks Id System /dev/vdb1 1 1045 8387584 82 Linux swap / Solaris Disk /dev/sda: 805 MB, 805306368 bytes 25 heads, 62 sectors/track, 1014 cylinders Units = cylinders of 1550 * 512 = 793600 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000如上所示,/dev/sda就是远程挂载过来的target端的“磁盘”。可以对该磁盘进行格式化并挂载后使用:
[root@10.2 ~]# mkfs.ext4 /dev/sda [root@10.2 ~]# mount -t ext4 /dev/sda /tmp/test以下是一些较为常用的调试命令:
在initiator端显示发现的target主机:
[root@10.2 test]# iscsiadm -m node 192.168.10.1:3260,1 iqn.2013-09.com.inter.10.1:test-target在initiator端断开与指定target的连接:
iscsiadm -m node iqn.2013-09.com.inter.10.1:test-target -u在initiator端连接指定target:
iscsiadm -m node iqn.2013-09.com.inter.10.1:test-target -l在initiator端显示已经建立的target连接:
iscsiadm -m session
相关文章推荐
- iSCSI服务器以及客户端安装配置
- 下载编译安装Apache HTTP Server 2.4.23以及配置HTTP/HTTPS反向代理
- 在Ubuntu 16.04下安装配置VS Code、CLion以及Idea
- ubuntu 安装 nginx以及apache安装配置
- PyCharm、Python、Django安装以及环境变量配置(Windows)
- 为树莓派安装配置jdk环境,以及批处理编译
- mac中java与maven的安装以及环境变量配置
- Cloudsim 安装,环境配置,以及在eclipse中运行样例
- storm安装以及配置
- 马哥学习笔记二十五——ISCSI协议,架构及其安装配置
- 【Oracle】oracle11g安装配置以及客户端访问
- VM安装CentOS 7,以及配置网络
- 在window下安装ubuntu双系统以及ubuntu的基本配置
- Nginx 教程一:在windows环境下的安装、配置、使用以及设置为windows服务自启动
- 【ubuntu14.04配置caffe】一——双显卡安装NVIDIA驱动以及cuda和cudnn
- CentOS6.5 yum安装svn以及配置
- CentOS6.3安装配置iscsi并实现自动挂载
- Linux安装配置maven以及搭建nexus私服
- Mule学习(1)——安装,配置,以及简单例子的运行
- JDK 安装以及环境变量的配置(Windows)