Skip to content

Guide: iSCSI med FreeBSD, Ubuntu och Windows 7

Jag tänkte jag skulle få iSCSI att fungera på min NAS också, för det kan säkert komma till nytta någon dag. Och det är alltid kul att lära sig nya saker. För dom som inte är så insatta i vad iSCSI är för något, kan jag lekmanna-mässigt och enkelt förklara att det är ett protokoll för att montera en disk eller fil (en block-device) på en dator/server, som en ”hårddisk” på en annan dator, över nätverk (även över internet alltså).
Kort och gott tänkte jag alltså skapa en ”iso-fil” på min NAS; en helt tom fil, på 20GB. På min Ubuntu-maskin kommer jag sedan kunna se denna fil som en icke-partionerad hårddisk, som jag då kan partitionera och formatera efter eget tycke och smak. (Tänk er vilka enkla backup-möjligheter..)

Nog med dravel.. nu gör vi nåt kul!

På FreeBSD (8.1-RELEASE)

Här behöver vi ju installera lite paket, och det finns två olika att välja på här: istgt, och iscsi-target. Jag tänker sätta tänderna i iscsi-target, då konfigurationen för den tilltalar mig mer än den för istgt. Alltså gör vi som så..

# zfs create -V 20G tank/iscsi
# cd /usr/ports/net/iscsi-target
# make install clean

Nu behöver vi editera lite filer för att det hela ska fungera. Jag kommer inte att göra det mest avancerade, utan nu gör vi så att det funkar, så stärker vi upp det senare..

# cd /usr/local/etc/iscsi/
# ee targets

Min targets-fil ser då ut såhär:

# extents       file                    start   length
extent0         /tank/iscsi             0       20GB
# target        flags   storage         netmask
target0         rw      extent0         0.0.0.0/0

Innan vi lägger till nån autostart osv så sparkar vi igång iscsi först:

# /usr/local/etc/rc.d/iscsi_target forcestart

Sedan får vi lägga till, i ”/etc/rc.conf” så att servicen startar upp med datorn:

# ee /etc/rc.conf

Och så lägger vi till:

iscsi_target_enable="YES"

Det här räcker för FreeBSD-burken just nu.. Så då går vi över till Ubuntu:

På Ubuntu 10.10 x64:
Här behöver vi två paket för att kunna använda iscsi:

# sudo apt-get update
# sudo apt-get install open-iscsi open-iscsi-utils

Sen editerar vi filen ”/etc/iscsi/iscsid.conf”
Ändra raden som heter:

node.startup = manual

till ..

node.startup = automatic

Sedan behöver vi starta om open-iscsi:

# sudo service open-iscsi restart

Nu kan vi kolla om vi kan se våran FreeBSD burk:

# sudo iscsiadm --mode discovery -t st --port 192.168.1.10

Då fick jag svaret, vilket är helt i ordningen:

192.168.1.10:3260,1 iqn.1994-04.org.netbsd.iscsi-target:target0

Så vi loggar in på burken tycker jag .. !

# sudo iscsiadm --mode discovery -t st --port 192.168.1.10 --login
192.168.1.10:3260,1 iqn.1994-04.org.netbsd.iscsi-target:target0
Logging in to [iface: default, target: iqn.1994-04.org.netbsd.iscsi-target:target0, portal: 192.168.1.10,3260]
Login to [iface: default, target: iqn.1994-04.org.netbsd.iscsi-target:target0, portal: 192.168.1.10,3260]: successful

”Successful” gillar vi.. så det funkar. Men vi kollar för säkerhets skull:

# sudo fdisk -l
[...]
Disk /dev/sdd: 21,5 GB, 21474836480 byte
64 huvuden, 32 sektorer/spår, 20480 cylindrar
Enheter = cylindrar av 2048 · 512 = 1048576 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Diskidentifierare: 0x00000000

Disk /dev/sdd innehåller inte en giltig partitionstabell
[...]

Hur man sedan formaterar en disk, överlåter jag åt den hängivne att ta reda på.
Har man grafiskt gränssnitt görs det enkelt via System-menyn, Diskverktyg. Annars är det ett gäng kommandon för att göra det via fdisk. Men hursomhelst så fungerar nu iSCSI för dig!

Om du vill (och det vill du förmodligen) att disken ska mountas för dig efter en omstart.. så lägger du i fstab till, förslagsvis sist i filen:
(Tänk bara på att ändra till dina egna sökvägar!)

/dev/sdd1 /mnt/iscsi ext4 defaults,auto,_netdev 0 0

(”_netdev” för att den ska mountas när nätverket startats upp, inte så mycket nytta annars.. :) )

På Windows 7 x64:
När vi kommer in i Windows 7 så tar vi och öppnar upp Kontrollpanelen. Här inne finns även ”Administrationsverktyg”. Om du inte hittar detta så kan du även söka på det i Windows sökfält på Start-menyn.
När du kommer in här så (jag kan missta mig, men jag tror detta endast fungerar på de ”högre” Windows-installationerna. Osäker på om det fungerar på Home t.ex) hittar du ISCSI-initierare. Denna går vi in på, sedan skriver vi in namnet eller IP-numret på våran NAS, och klickar på ”Snabbanslut..”.
Då dyker våran utdelning upp, och Windows lär också påpeka att disken du precis monterade inte är formaterad.
När vi formaterat den, så dyker den prydligt upp i utforskaren..

Mer än så behövs inte göras för att få iSCSI att funka mellan dina burkar.. Mycket nöje!

2 Comments Post a comment
  1. bejk #

    Tack!
    Hade fått för mig att iscsi skulle vara svårt, men det här var ju hur lätt som helst!
    Det funkar bra även på Win7 32-bit home premium.

    april 30, 2011
  2. Thomas #

    Ah, trevligt att höra att det kommer till nytta när man skriver!
    Hur använder du dig av det? Är det ett par hemdatorer mot din NAS?

    april 30, 2011

Leave a Reply

You may use basic HTML in your comments. Your email address will not be published.

Subscribe to this comment feed via RSS