Para criar um servidor iSCSI caseiro, para por exemplo, um teste com Oracle RAC, pode ser utilizado o pacote scsi-target-utils em um servidor Linux comum.
Os passos a seguir funcionam em RHEL, OEL e CentOS, versões 5 e 6.
Primeiro, instale o pacote.
[root@nerv10 ~]# yum -y install scsi-target-utils.x86_64 Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile * base: centos.xfree.com.ar * extras: centos.xfree.com.ar * rpmforge: ftp.riken.jp * updates: centos.xfree.com.ar Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package scsi-target-utils.x86_64 0:1.0.24-2.el6 will be installed --> Processing Dependency: sg3_utils for package: scsi-target-utils-1.0.24-2.el6.x86_64 --> Processing Dependency: perl(Config::General) for package: scsi-target-utils-1.0.24-2.el6.x86_64 --> Processing Dependency: librdmacm.so.1(RDMACM_1.0)(64bit) for package: scsi-target-utils-1.0.24-2.el6.x86_64 --> Processing Dependency: libibverbs.so.1(IBVERBS_1.1)(64bit) for package: scsi-target-utils-1.0.24-2.el6.x86_64 --> Processing Dependency: libibverbs.so.1(IBVERBS_1.0)(64bit) for package: scsi-target-utils-1.0.24-2.el6.x86_64 --> Processing Dependency: librdmacm.so.1()(64bit) for package: scsi-target-utils-1.0.24-2.el6.x86_64 --> Processing Dependency: libibverbs.so.1()(64bit) for package: scsi-target-utils-1.0.24-2.el6.x86_64 --> Running transaction check ---> Package libibverbs.x86_64 0:1.1.6-4.el6 will be installed ---> Package librdmacm.x86_64 0:1.0.15-2.el6 will be installed ---> Package perl-Config-General.noarch 0:2.44-1.el6 will be installed ---> Package sg3_utils.x86_64 0:1.28-4.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ===================================================================================================================================== Package Arch Version Repository Size ===================================================================================================================================== Installing: scsi-target-utils x86_64 1.0.24-2.el6 base 170 k Installing for dependencies: libibverbs x86_64 1.1.6-4.el6 base 45 k librdmacm x86_64 1.0.15-2.el6 base 29 k perl-Config-General noarch 2.44-1.el6 base 68 k sg3_utils x86_64 1.28-4.el6 base 471 k Transaction Summary ===================================================================================================================================== Install 5 Package(s) Total download size: 781 k Installed size: 1.9 M Downloading Packages: (1/5): libibverbs-1.1.6-4.el6.x86_64.rpm | 45 kB 00:00 (2/5): librdmacm-1.0.15-2.el6.x86_64.rpm | 29 kB 00:00 (3/5): perl-Config-General-2.44-1.el6.noarch.rpm | 68 kB 00:00 (4/5): scsi-target-utils-1.0.24-2.el6.x86_64.rpm | 170 kB 00:00 (5/5): sg3_utils-1.28-4.el6.x86_64.rpm | 471 kB 00:01 ------------------------------------------------------------------------------------------------------------------------------------- Total 80 kB/s | 781 kB 00:09 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : libibverbs-1.1.6-4.el6.x86_64 1/5 Installing : librdmacm-1.0.15-2.el6.x86_64 2/5 Installing : sg3_utils-1.28-4.el6.x86_64 3/5 Installing : perl-Config-General-2.44-1.el6.noarch 4/5 Installing : scsi-target-utils-1.0.24-2.el6.x86_64 5/5 Verifying : perl-Config-General-2.44-1.el6.noarch 1/5 Verifying : librdmacm-1.0.15-2.el6.x86_64 2/5 Verifying : libibverbs-1.1.6-4.el6.x86_64 3/5 Verifying : sg3_utils-1.28-4.el6.x86_64 4/5 Verifying : scsi-target-utils-1.0.24-2.el6.x86_64 5/5 Installed: scsi-target-utils.x86_64 0:1.0.24-2.el6 Dependency Installed: libibverbs.x86_64 0:1.1.6-4.el6 librdmacm.x86_64 0:1.0.15-2.el6 perl-Config-General.noarch 0:2.44-1.el6 sg3_utils.x86_64 0:1.28-4.el6 Complete!
Depois, crie o arquivo de configuração. Neste servidor eu criei 4 partições (sda5, sda6, sda7 e sda8) para serem expostas para meu Oracle RAC. Veja que eu limitei o acesso a apenas dois IPs. Isto não é necessário, mas faço isso no Treinamento Oracle RAC para que um aluno não pegue os discos de outro. Como serão utilizadas por ASM, não podem ser formatadas, só particionadas.
[root@nerv10 ~]# cat /etc/tgt/targets.confbacking-store /dev/sda5 initiator-address 192.168.0.101 initiator-address 192.168.0.102 backing-store /dev/sda6 initiator-address 192.168.0.101 initiator-address 192.168.0.102 backing-store /dev/sda7 initiator-address 192.168.0.101 initiator-address 192.168.0.102 backing-store /dev/sda8 initiator-address 192.168.0.101 initiator-address 192.168.0.102 [root@nerv10 ~]#
Depois inicie o serviço, e habilite seu início automático no boot.
[root@nerv10 ~]# service tgtd start Starting SCSI target daemon: [ OK ] [root@nerv10 ~]# chkconfig tgtd on [root@nerv10 ~]#