免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1917 | 回复: 0
打印 上一主题 下一主题

[存储网络] Debian下简单的iscsi enterprise target的安装与配置 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-29 23:16 |只看该作者 |倒序浏览

iet(iscsi enterprise target)是linux下的iscsi target实现, . open-iscsi 是Linux下的iscsi initiator实现, 使用iet和open-iscsi就可以方便的实现简单的ip san, 同时iet也可以和其他系统的iscsi initiator配合使用.
1 iet软件的安装配置
1.1 下载iet软件, 在iet 软件主页http://iscsitarget.sourceforge.net/可以找到最新版本的下载地址, 目前版本为0.4.13, 下载到的软件包名称为iscsitarget-0.4.13.tar.gz
1.2 安装iet, 安装iet需要kernel-headers, gcc和libssl-dev的支持, 此次编译使用的gcc版本为3.3, 使用4.1版本的gcc也可以正常编译. 我的机器检查过程如下:
deb261:~# dpkg -l |grep linux
ii doc-linux-text            2006.04-1         Linux HOWTOs and FAQs in ASCII format
ii libselinux1               1.30.27-2         SELinux shared libraries
ii linux-headers-2.6.17-2    2.6.17-8          Common header files for Linux 2.6.17
ii linux-headers-2.6.17-2-k7 2.6.17-8          Header files for Linux 2.6.17 on AMD K7
ii linux-image-2.6.17-2-k7   2.6.17-8          Linux 2.6.17 image on AMD K7
ii linux-kbuild-2.6.17       2.6.17-3          Kbuild infrastructure for Linux 2.6.17
ii linux-kernel-headers      2.6.17.10-3       Linux Kernel Headers for development
ii linux-source-2.6.17       2.6.17-8          Linux kernel source for version 2.6.17 with
ii util-linux                2.12p-4           Miscellaneous system utilities
deb261:~# dpkg -l |grep libssl
ii libssl-dev                0.9.8b-3          SSL development libraries, header files and
ii libssl0.9.7               0.9.7i-2          SSL shared libraries
ii libssl0.9.8               0.9.8b-3          SSL shared libraries
deb261:~# dpkg -l |grep gcc
ii gcc                       3.3.5-3           The GNU C compiler
ii gcc-3.3                   3.3.6-13          The GNU C compiler
ii gcc-3.3-base              3.3.6-13          The GNU Compiler Collection (base package)
ii gcc-4.1                   4.1.1-13          The GNU C compiler
ii gcc-4.1-base              4.1.1-13          The GNU Compiler Collection (base package)
ii libgcc1                   4.1.1-13          GCC support library
deb261:~# gcc -v
Reading specs from /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/specs
Configured with: ../src/configure -v --enable-languages=c,c++ --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --enable-__cxa_atexit --with-system-zlib --enable-nls --without-included-gettext --enable-clocale=gnu --enable-debug i486-linux-gnu
Thread model: posix
gcc version 3.3.6 (Debian 1:3.3.6-13)
将软件包解压后, 到解压目录下运行make;make install, 就可完成iscsi target的安装. 安装过程如下:
deb261:~# tar zxf iscsitarget-0.4.13.tar.gz
deb261:~# cd iscsitarget-0.4.13
deb261:~/iscsitarget-0.4.13# make
make -C usr
make[1]: Entering directory `/root/iscsitarget-0.4.13/usr'
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include   -c -o ietd.o ietd.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include   -c -o iscsid.o iscsid.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include   -c -o conn.o conn.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include   -c -o session.o session.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include   -c -o target.o target.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include   -c -o message.o message.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include   -c -o ctldev.o ctldev.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include   -c -o log.o log.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include   -c -o isns.o isns.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include   -c -o chap.o chap.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include   -c -o event.o event.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include   -c -o param.o param.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include   -c -o plain.o plain.c
cc ietd.o iscsid.o conn.o session.o target.o message.o ctldev.o log.o isns.o chap.o event.o param.o plain.o -o ietd -lcrypto
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include   -c -o ietadm.o ietadm.c
cc ietadm.o param.o -o ietadm
make[1]: Leaving directory `/root/iscsitarget-0.4.13/usr'
make -C /lib/modules/2.6.17-2-k7/build SUBDIRS=/root/iscsitarget-0.4.13/kernel modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.17-2-k7'
CC [M] /root/iscsitarget-0.4.13/kernel/tio.o
CC [M] /root/iscsitarget-0.4.13/kernel/iscsi.o
CC [M] /root/iscsitarget-0.4.13/kernel/nthread.o
CC [M] /root/iscsitarget-0.4.13/kernel/wthread.o
CC [M] /root/iscsitarget-0.4.13/kernel/config.o
CC [M] /root/iscsitarget-0.4.13/kernel/digest.o
CC [M] /root/iscsitarget-0.4.13/kernel/conn.o
CC [M] /root/iscsitarget-0.4.13/kernel/session.o
CC [M] /root/iscsitarget-0.4.13/kernel/target.o
CC [M] /root/iscsitarget-0.4.13/kernel/volume.o
CC [M] /root/iscsitarget-0.4.13/kernel/iotype.o
CC [M] /root/iscsitarget-0.4.13/kernel/file-io.o
CC [M] /root/iscsitarget-0.4.13/kernel/null-io.o
CC [M] /root/iscsitarget-0.4.13/kernel/target_disk.o
CC [M] /root/iscsitarget-0.4.13/kernel/event.o
CC [M] /root/iscsitarget-0.4.13/kernel/param.o
LD [M] /root/iscsitarget-0.4.13/kernel/iscsi_trgt.o
Building modules, stage 2.
MODPOST
CC      /root/iscsitarget-0.4.13/kernel/iscsi_trgt.mod.o
LD [M] /root/iscsitarget-0.4.13/kernel/iscsi_trgt.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.17-2-k7'
deb261:~/iscsitarget-0.4.13# make install
`usr/ietd' -> `/usr/sbin/ietd'
`usr/ietadm' -> `/usr/sbin/ietadm'
if [ -f /etc/debian_version ]; then
                install -vD -m 755 etc/initd/initd.debian /etc/init.d/iscsi-target;
        elif [ -f /etc/redhat-release ]; then
                install -vD -m 755 etc/initd/initd.redhat /etc/init.d/iscsi-target;
        elif [ -f /etc/gentoo-release ]; then
                install -vD -m 755 etc/initd/initd.gentoo /etc/init.d/iscsi-target;
        elif [ -f /etc/slackware-version ]; then
                install -vD -m 755 etc/initd/initd /etc/rc.d/iscsi-target;
        else
                install -vD -m 755 etc/initd/initd /etc/init.d/iscsi-target;
        fi
`etc/initd/initd.debian' -> `/etc/init.d/iscsi-target'
install: creating directory `/lib/modules/2.6.17-2-k7/kernel/iscsi'
`kernel/iscsi_trgt.ko' -> `/lib/modules/2.6.17-2-k7/kernel/iscsi/iscsi_trgt.ko'
depmod -aq
deb261:~/iscsitarget-0.4.13#
1.3 配置iet, 复制iscsitarget-0.4.13/etc/ietd.conf到/etc下, 作为iet配置的蓝本, ietd.conf中包含了一个示例配置, 可用的参数都以注释的方式给出, 建议在修改设置时, 保留原先的行, 并在这行的下一行增加内容.
iet可以将块设备, 文件, lvm卷, 以及raid卷作为块设备映射给iscsi initiator. 下面的配置将一个物理磁盘和一个文件映射为2个块设备给iscsi initiator
Lun 0 Path=/dev/sdb,Type=fileio
Lun 1 Path=/root/iscsidisk,Type=fileio
1.4 启动iet, 运行
/etc/init.d/iscsitarget start
启动iet, 启动后可以在进程中看到iet的用户进程和内核模块. 下面是iet启动后, ps输出的部分内容
root      4389     1 0 00:21 ?        00:00:00 /usr/sbin/ietd
root      4390     6 0 00:21 ?        00:00:00 [istd1]
root      4391     6 0 00:21 ?        00:00:00 [istiod1]
root      4392     6 0 00:21 ?        00:00:00 [istiod1]
root      4393     6 0 00:21 ?        00:00:00 [istiod1]
root      4394     6 0 00:21 ?        00:00:00 [istiod1]
root      4395     6 0 00:21 ?        00:00:00 [istiod1]
root      4396     6 0 00:21 ?        00:00:00 [istiod1]
root      4397     6 0 00:21 ?        00:00:00 [istiod1]
root      4398     6 0 00:21 ?        00:00:00 [istiod1]
如果希望系统启动后自动启动iet, 则应在/etc/rc2.d目录中建立指向/etc/init.d/iscsitarget的链接.
1.5 杂项, 我曾用如下配置:
#MaxConnections         1
MaxConnections         2
#InitialR2T             Yes
#ImmediateData          No
ImmediateData          Yes
将iet作为两节点的suncluster + oracle rac(x86_64)集群. 今天看了看ietd.conf的手册, 手册中MaxConnections应该被设置为1, 但未说明理由

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/68279/showart_716962.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP