comstar学习笔记

来源:互联网 发布:软件开发泳道图 编辑:程序博客网 时间:2024/06/05 00:20


http://tech.watchstor.com/storage-network-127045.htm

comstar:可以实现将Solaris主机转变为SCSI目标的软件框架,可将各种存储介质(磁盘、磁带)结合各种通信信道(光纤、iSCSI、SAS。。。)构成一个存储系统。
主要模块(优点:SCSI的执行与清除以及分配隔离开,SCSI模块不直接与传输模块交互,传输模块也不需要关心SCSI,简化了SCSI和传输模块的编写)
STMF:事务管理,分配内存,恢复错误操作,必要的io...;
Port providers:为主机总线适配器或网卡提供本地连接;
logical unit provider:实现SCSI逻辑单元的功能;
libstmf:与stmf通信,负责执行配置任务。

iSCSI:将SCSI数据映射成以太网数据包的标准,与SAN在管理方式上大同小异,前者通过ip传输数据,后者通过fibre channel传输。
iSCSI属于端到端的会话层协议,是SCSI到TCP/IP的映射,即initiator将SCSI指令和数据封装成iSCSI协议数据单元,向下提交给TCP,封装成ip数据包传输。

iSCSI结构模式


两个术语
target:通常为存储设备,磁盘阵列居多,使用iSCSI时,会在存储设备上建立LUN,提供给有iSCSI initiator功能的主机存取iSCSI存储设备;
initiator:提供计算机主机联机到target做磁盘存取,有硬件initiator和软件initiator之分。

iSCSI命令格式:三部分组成:类型定义符,名字认证机构,由该认证机构分配的名字,如,iscsi.com.acme.sn.8675309
iSCSI地址格式:< domain-name>[:< port>]/< iSCSI Name>

iSCSI的安全机制
由于IQN可自行窜改,因此只依赖IQN作为识别发起者身分的机制相当不安全,所以iSCSI又提供了握手认证协议(Challenge Handshake Authentication Protocol,CHAP)来认证iSCSI发起方的身分。只有通过CHAP认证的发起端才会被允许存取。当然CHAP亦有遭破解的可能,因此也能选用效果更好的IPsec等适用于IP网络的加密机制。

配置comstar(opensolaris)

OpenSolaris本身带了一个iSCSI Target服务,运行在userland,性能一般,这里不使用它,使用COMATAR它可以通过ZFS管理。

1 、服务器端配置

安装Storage Server软件包:

  1. $pfexec pkg install storage-server SUNWiscsit
  2. $pfexec reboot

2 、ZFS存储池配置

  1. $pfexec zpool create san_pool mirror c9t0d0 c9t1d0
  2. $ zpool list san_pool
  3. NAMESIZEUSEDAVAILCAPHEALTHALTROOT
  4. san_pool1008M313K1008M0%ONLINE-
  5. $ zpool status san_pool
  6. pool: san_pool
  7. state: ONLINE
  8. scrub: none requested
  9. config:
  10. NAMESTATEREAD WRITE CKSUM
  11. san_poolONLINE000
  12. mirrorONLINE000
  13. c9t0d0ONLINE000
  14. c9t1d0ONLINE000
  15. errors: No known data errors

3 、创建磁盘卷

  1. $ pfexec zfs create -V 300M san_pool/vol_osol
  2. $ pfexec zfs create -V 300M san_pool/vol_lx
  3. $ pfexec zfs create -V 300M san_pool/vol_win
  4. $ zfs list -t volume
  5. NAMEUSEDAVAILREFERMOUNTPOINT
  6. rpool/dump511M26.1G511M-
  7. rpool/swap512M26.5G137M-
  8. san_pool/vol_lx300M376M16K-
  9. san_pool/vol_osol300M376M16K-
  10. san_pool/vol_win300M376M16K-

4 、创建三个SCSI Logical Unit Numbers (LUN)

  1. $ pfexec sbdadm create-lu /dev/zvol/rdsk/san_pool/vol_osol
  2. $ pfexecsbdadm create-lu /dev/zvol/rdsk/san_pool/vol_lx
  3. $ pfexec sbdadm create-lu /dev/zvol/rdsk/san_pool/vol_win

查看一下LUN情况:

  1. $ pfexec sbdadm list-lu

查看一下LUN情况

5 、添加LUN 到试图

  1. pfexec stmfadm list-lu -v
  2. $ pfexec stmfadm list-view -l 600144F01EA8050000004B17FC0A0001

6、 创建Target

  1. $svcadm enable -r target
  2. $ svcs -l target
  3. $ pfexec itadm list-target
  4. TARGET NAMESTATESESSIONS
  5. iqn.1986-03.com.sun:02:2eb787bd-e9ce-46ca-8d74-85e4e04b087conline0

7、 OpenSolaris客户端配置

安装iSCSI Management Utilities

  1. $ pfexec pkg install SUNWiscsi
  2. $ pfexec reboot

配置静态发前端

  1. $ pfexec itadm list-target
  2. TARGET NAMESTATESESSIONS
  3. iqn.1986-03.com.sun:02:7de26418-fe5e-c386-a457-e0e06a16d723online0
  4. $ pfexec iscsiadm add static-config iqn.1986-03.com.sun:02:2eb787bd-e9ce-46ca-8d74-85e4e04b087c,192.168.0.17

配置发现

  1. $ pfexec iscsiadm list discovery
  2. $ pfexec iscsiadm modify discovery --static enable
  3. $ pfexec iscsiadm list discovery

查看一下target:

  1. $ pfexec iscsiadm list target

查看磁盘视图如图6

查看磁盘视图

使用磁盘

  1. $ pfexec zpool create mypool c0t600144F01EA8050000004B17FC0A0001d0
  2. $ zpool list mypool
  3. NAMESIZEUSEDAVAILCAPHEALTHALTROOT
  4. mypool286M112K286M0%ONLINE-
  5. $ zfs list
  6. $ pfexec mkfile 100M /mypool/big_file
  7. $ zpool list mypool
  8. NAMESIZEUSEDAVAILCAPHEALTHALTROOT
  9. mypool286M91.9M194M32%ONLINE-

9、 Linux 客户端使用

以RedHat Enterpris Linux 5为例

启动服务:

  1. # service iscsi start
  2. # chkconfig iscsi on

发现target,询问target名称,格式如下:

  1. # iscsiadm -m discovery -t sendtargets -p <target_iqn_name> IP地址:端口号

下面是一个例子:

  1. # iscsiadm -m discovery -t sendtargets -p 192.168.0.25:3260
  2. 192.168.0.25:3260,1 iqn.1986-03.com.sun:02:d6510807-8e78-4cb7-8dcc-fa37d066ca3a
  3. 192.168.0.25:3260,1 iqn.1986-03.com.sun:02:56dd5344-eec2-c46b-e6f3-a20432afc040
  4. 192.168.0.25:3260,1 iqn.1986-03.com.sun:02:2eb787bd-e9ce-46ca-8d74-85e4e04b087c

登录target建立连接

得到了target名称后,使用下面命令建立连接

  1. # iscsiadm -m node -T target名称 -p targetIP地址:端口号 -logout

下面是一个例子:

  1. # iscsiadm -m node -T target名称 -p targetIP地址:端口号 -logout

这时应该看到映射到的逻辑磁盘名号,使用fdisk -l 如图9可以看到有关逻辑磁盘的详细内容,可以象使用本地硬盘一样对其进行分区、创建文件系统、挂载、卸载等操作。

使用fdisk -l可以看到有关逻辑磁盘的详细内容

图10中黑色标识部分就是刚刚挂载的iSCSI磁盘

hwbrowser是您当前硬件配置的图形 化浏览器 ,这个工具是图形的。可能系统在默认的情况下 没有安装。需要您安装才行。hwbrowser 检查可以发现多出的磁盘如图10 。

 hwbrowser 检查可以发现多出的磁盘

图10显示的绿色是新iSCSI磁盘,可以看到型号是SUN COMSTAR 。

断开连接

关机之前应该正确的卸载和断开逻辑磁盘,否则会在target服务器上留下僵死的进程,造成服务器资源的浪费。 如果逻辑磁盘已经挂载,断开连接前应先卸载,然后使用下面命令

  1. # iscsiadm -m node -T target名称 -p targetIP地址:端口号 -logout

下面是一个例子:

  1. #iscsiadm -m node -T iqn.1986-03.com.sun:02:2eb787bd-e9ce-46ca-8d74-85e4e04b087c -p 192.168.0.25:3260 -u


0 0