…生活與工作…個人的生活雜記….

在Ubuntu LTS 10.04上 安裝與設定iSCSI-Target

不知道諸位是否對網路芳鄰有某種程度厭惡??

可是又不能忘卻他的方便性

因此解決方法就是使用iSCSI(並非唯一解

 

這邊列出如果要在UBUNTU上安裝的方法

如果你有做過kernel更新的更要看

 

#download iscsi-traget from http://iscsitarget.sourceforge.net/
#Requre Gcc kernel* and other??

wget http://sourceforge.net/projects/iscsitarget/files/iscsitarget/1.4.20.2/iscsitarget-1.4.20.2.tar.gz/download
tar zxvf iscsitarget-1.4.20.2.tar.gz
cd iscsitarget-1.4.20.2
make kernel
 like this:
  Applying Patch compat-2.6.32.patch
  patching file kernel/conn.c
  make -C /lib/modules/2.6.32-25-generic-pae/build SUBDIRS=/home/est/iscsitarget-1.4.20.2/kernel modules
  make[1]: Entering directory `/usr/src/linux-headers-2.6.32-25-generic-pae'
   CC [M]  /home/est/iscsitarget-1.4.20.2/kernel/tio.o
   CC [M]  /home/est/iscsitarget-1.4.20.2/kernel/iscsi.o
   CC [M]  /home/est/iscsitarget-1.4.20.2/kernel/nthread.o
   CC [M]  /home/est/iscsitarget-1.4.20.2/kernel/wthread.o
   CC [M]  /home/est/iscsitarget-1.4.20.2/kernel/config.o
   CC [M]  /home/est/iscsitarget-1.4.20.2/kernel/digest.o
   CC [M]  /home/est/iscsitarget-1.4.20.2/kernel/conn.o
   CC [M]  /home/est/iscsitarget-1.4.20.2/kernel/session.o
   CC [M]  /home/est/iscsitarget-1.4.20.2/kernel/target.o
   CC [M]  /home/est/iscsitarget-1.4.20.2/kernel/volume.o
   CC [M]  /home/est/iscsitarget-1.4.20.2/kernel/iotype.o
   CC [M]  /home/est/iscsitarget-1.4.20.2/kernel/file-io.o
   CC [M]  /home/est/iscsitarget-1.4.20.2/kernel/null-io.o
   CC [M]  /home/est/iscsitarget-1.4.20.2/kernel/target_disk.o
   CC [M]  /home/est/iscsitarget-1.4.20.2/kernel/event.o
   CC [M]  /home/est/iscsitarget-1.4.20.2/kernel/param.o
   CC [M]  /home/est/iscsitarget-1.4.20.2/kernel/block-io.o
   CC [M]  /home/est/iscsitarget-1.4.20.2/kernel/ua.o
   LD [M]  /home/est/iscsitarget-1.4.20.2/kernel/iscsi_trgt.o
   Building modules, stage 2.
   MODPOST 1 modules
   CC      /home/est/iscsitarget-1.4.20.2/kernel/iscsi_trgt.mod.o
   LD [M]  /home/est/iscsitarget-1.4.20.2/kernel/iscsi_trgt.ko
  make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-25-generic-pae'

make usr
 like this:
  make -C usr
   make[1]: Entering directory `/home/est/iscsitarget-1.4.20.2/usr'
   cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -D_GNU_SOURCE    -c -o ietd.o ietd.c
   cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -D_GNU_SOURCE    -c -o iscsid.o iscsid.c
   cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -D_GNU_SOURCE    -c -o conn.o conn.c
   cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -D_GNU_SOURCE    -c -o session.o session.c
   cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -D_GNU_SOURCE    -c -o target.o target.c
   cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -D_GNU_SOURCE    -c -o message.o message.c
   cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -D_GNU_SOURCE    -c -o ctldev.o ctldev.c
   cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -D_GNU_SOURCE    -c -o log.o log.c
   cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -D_GNU_SOURCE    -c -o chap.o chap.c
   cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -D_GNU_SOURCE    -c -o event.o event.c
   cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -D_GNU_SOURCE    -c -o param.o param.c
   cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -D_GNU_SOURCE    -c -o plain.o plain.c
   cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -D_GNU_SOURCE    -c -o isns.o isns.c
   cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -D_GNU_SOURCE    -c -o md5.o md5.c
   cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -D_GNU_SOURCE    -c -o sha1.o sha1.c
   cc ietd.o iscsid.o conn.o session.o target.o message.o ctldev.o log.o chap.o event.o param.o plain.o isns.o md5.o sha1.o -o ietd
   cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -D_GNU_SOURCE    -c -o ietadm.o ietadm.c
   cc ietadm.o param.o -o ietadm
   make[1]: Leaving directory `/home/est/iscsitarget-1.4.20.2/usr'

sudo make install

#Bug Fix
sudo vi /etc/init.d/iscsi-target
 PIDFILE=/var/run/iscsi_trgt.pid to PIDFILE=/var/run/ietd.pid

#Start Service
 sudo service iscsi-target start

#Stop Service
 sudo service iscsi-target stop

#Create Space
dd if=/dev/zero of=templun3 count=0 obs=1 seek=200G

#iSCSi Setting
sudo vi /etc/ietd.conf

 Target iqn.2010-10.tw.idv.est:storage
 Lun 0 Path=/storage/lun1.img,Type=fileio
 Lun 1 Path=/media/nas/lun1.img,Type=fileio
 Lun 2 Path=/media/nas/templun3,Type=fileio
 IncomingUser
 OutgoingUser
 Alias iDISK0
 MaxConnections  10
 InitialR2T      Yes
 ImmediateData   Yes

#Restart Service
 sudo service iscsi-target restart

done.