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, 但未说明理由.
Share This