标签:efault 方法 结构 网络文件系统 kconfig dom ora storage iscsiadm
几种存储的架构:
iSCSI架构将存储和使用主机分为两个部分:
iSCSI target需要安装scsi-target-utils软件包,iSCSI initiator 需要安装iscsi-initiator-utils
iSCSI软件及软件结构:
iSCSI Target的iqn:
iSCSI 有一套自己分享 target 档名的定义,基本上,由 iSCSI 分享出来的 target 檔名都是以 iqn 为开头,意思是:『iSCSI Qualified Name (iSCSI 合格名称)』的意思
iqn.yyyy-mm.<reversed domain name>:identifier
iqn.年年-月.域名的反转写法 :这个分享的target名称
iqn.2011-08.com.ccie:vbirddisk
另外,就如同一般外接式储存装置 (target 名称) 可以具有多个磁盘一样,我们的 target 也能够拥有数个磁盘装置的。 每个在同一个 target 上头的磁盘我们可以将它定义为逻辑单位编号 (Logical Unit Number, LUN)。我们的 iSCSI initiator 就是跟 target 协调后才取得 LUN 的存取权就是了 。在鸟哥的这个简单案例中,最终的结果,我们会有一个 target ,在这个 target 当中可以使用三个 LUN 的磁盘。
1. iSCSI Target软件结构
/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 |
建置预计分享的映像文件装置的工具 (以映像文件仿真磁盘); |
可以通过target进行分享的类型:
2. 创建所需的磁盘装置
#创建dd文件 mkdir /srv/iscsi dd if=/dev/zero of=/srv/iscsi/disk1.im bs=1M count=20 chcon -Rv -t tgtd_var_lib_t /srv/iscsi/ #创建/dev/sdb1,/dev/sdb2两个分区 fdisk /dev/sdb #/dev/sdb2创建LVM分区 pvcreate /dev/sdb2 vgcreate server /dev/sdb2 lvcreate -L 300M -n iscsi01 server lvscan ACTIVE ‘/dev/server/iscsi01‘ [300.00 MiB] inherit
3. 修改tgt配置文件/etc/tgt/target.conf
vi /etc/tgt/targets.conf <target iqn.2011-04.com.ccie:vdisk> backing-store /srv/iscsi/disk1.img backing-store /dev/sdb1 backing-store /dev/server/iscsi01 initiator-address 192.168.0.0/24 incominguser auth authpass write-cache off </target> # 此档案的语法如下: <target iqn.相关装置的target名称> backing-store /你的/虚拟设备/完整檔名-1 backing-store /你的/虚拟设备/完整檔名-2 initiator-address 允许访问的IP地址 incominguser 用户名和密码 </target>
4. 启动target服务
service tgtd start chkconfig tgtd on netstat -anptul | grep "tgtd" tcp 0 0 0.0.0.0:3260 0.0.0.0:* LISTEN 2374/tgtd tcp 0 0 :::3260 :::* LISTEN 2374/tgtd tgt-admin --show Target 1: iqn.2017-06.com.ccie:vdisk System information: Driver: iscsi State: ready I_T nexus information: LUN information: LUN: 0 <== LUN号码 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: rdrw Backing store path: /srv/iscsi/disk1.img Backing store flags: LUN: 1 Type: disk SCSI ID: IET 00010001 SCSI SN: beaf11 Size: 214 MB, Block size: 512 Online: Yes Removable media: No Prevent removal: No Readonly: No Backing store type: rdwr Backing store path: /dev/sdb1 Backing store flags: LUN: 2 Type: disk SCSI ID: IET 00010002 SCSI SN: beaf12 Size: 315 MB, Block size: 512 Online: Yes Removable media: No Prevent removal: No Readonly: No Backing store type: rdwr Backing store path: /dev/server/iscsi01 Backing store flags: Account information: auth ACL information: 192.168.0.0/24 防火墙设置: iptables -A INPUT -p tcp -s 192.168.0.0/24 --dport 3260 -j ACCEPT
1. 软件结构
/etc/iscsi/iscsid.conf |
主要的配置文件,用来连结到 iSCSI target 的设定; |
/sbin/iscsid |
启动 iSCSI initiator 的主要服务程序; |
/sbin/iscsiadm |
用来管理 iSCSI initiator 的主要设定程序; |
/etc/init.d/iscsid |
让本机模拟成为 iSCSI initiater 的主要服务; |
/etc/init.d/iscsi |
在本机成为 iSCSI initiator 之后,启动此脚本,让我们可以登入 iSCSI target。所以 iscsid 先启动后,才能启动这个服务。为了防呆,所以 /etc/init.d/iscsi 已经写了一个启动指令, 启动 iscsi 前尚未启动 iscsid ,则会先呼叫 iscsid 才继续处理 iscsi |
2. 修改配置文件(写入target登陆的账号密码)
[root@clientlinux ~]# vim /etc/iscsi/iscsid.conf
node.session.auth.username = auth <==在 target 时设定的
node.session.auth.password = authpass <==约在 53, 54 行
discovery.sendtargets.auth.username = auth <==约在 67, 68 行
discovery.sendtargets.auth.password = authpass
chkconfig iscsid on
chkconfig iscsi on
由于我们尚未与 target 联机,所以 iscsi 并无法让我们顺利启动的!因此上面只要 chkconfig 即可,不需要启动他。
3. 侦测到target的相关数据
#检测iSCSI target设备端的数据
iscsiadm -m discovery -t sendtargets -p 192.168.0.5
192.168.0.5:3260,1 iqn.2017-06.com.ccie:vdisk
#显示被检测到的结果
ls -l /var/lib/iscsi/nodes/
total 4
drw-------. 3 root root 4096 Jun 29 21:31 iqn.2017-06.com.ccie:vdisk
[root@client1 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.0.5
iscsiadm: No portals found
可能是target端配置地址限制。可以查看/etc/tgt/targets.conf中initiator-address配置
现在我们知道了 target 的名称,同时将所有侦测到的信息通通写入到上述 /var/lib/iscsi/nodes/中,若信息有修订过的话,那你可以到这个档案内修改,也可以透过 iscsiadm 的 update 功能处理相关参数的。
4. 开始联机target
#显示系统上所有target信息:
iscsiadm -m node
192.168.0.5:3260,1 iqn.2017-06.com.ccie:vdisk
#启动iscsi
/etc/init.d/iscsi restart
Logging in to [iface: default, target: iqn.2017-06.com.ccie:vdisk, portal: 192.168.0.5,3260] (multiple)
Login to [iface: default, target: iqn.2017-06.com.ccie:vdisk, portal: 192.168.0.5,3260] successful.
#也可以使用手工方式进行登陆:
iscsiadm -m node -T iqn.2017-06.com.ccie:vdisk --login
使用fdisk -l 可以查看到新增设备信息了。
在服务器上可以使用tgt-admin --show查看到客户端的挂在信息。
5. 更新/删除 target的方法
当 iSCSI target 可能因为某些原因被拿走或其他原因你需要关闭iSCSI initiator时。但是,又不能全部关掉 (/etc/init.d/iscsi stop), 因为还有其他的 iSCSI target 在使用。这个时候该如何取消不要的 target 呢?
[root@clientlinux ~]# iscsiadm -m node -T targetname --logout
[root@clientlinux ~]# iscsiadm -m node -o [delete|new|update] -T targetname
选项与参数:
--logout :就是注销 target,但是并没有删除 /var/lib/iscsi/nodes/ 内的数据
-o delete:删除后面接的那部 target 链接信息 (/var/lib/iscsi/nodes/*)
-o update:更新相关的信息
-o new :增加一个新的 target 信息。
#查看现有target信息
iscsiadm -m node
192.168.0.5:3260,1 iqn.2017-06.com.ccie:vdisk
#iscsiadm -m node -T iqn.2017-06.com.ccie:vdisk --logout
Logging out of session [sid: 15, target: iqn.2017-06.com.ccie:vdisk, portal: 192.168.0.5,3260]
Logout of [sid: 15, target: iqn.2017-06.com.ccie:vdisk, portal: 192.168.0.5,3260] successful.
# 这个时候的 target 连结还是存在的,虽然注销你还是看的到!
#删除target信息
iscsiadm -m node -o delete -T iqn.2017-06.com.ccie:vdisk
#再次查看,target信息被删除了
iscsiadm -m node
iscsiadm: No records found
#重启iscsi服务
/etc/init.d/iscsi restart
标签:efault 方法 结构 网络文件系统 kconfig dom ora storage iscsiadm
原文地址:http://www.cnblogs.com/onlybobby/p/7096613.html