I recently purchased a 120GB SSD drive for my laptop. I figured the SSD and a fresh install of Fedora 16 could speed up my laptop a bit and help me squeeze another year or so out of it. The only problem was available space as I was previously using a 500GB drive, and my laptop only allows for one drive.
I own a Synology DS411 and have gigabit networking thanks to a few Cisco 2960 switches. This makes a great situation for use of iSCSI to add a bit more storage for my laptop.
On the Synology side, the setup of the iSCSI LUN/Target was fairly painless.
- Open up the Storage Manager
- Click on iSCSI LUN, then click Create
- Choose the LUN type you would like. I went with iSCSI LUN (Regular Files)
- Add the name, and how much space you would like to allocate. I kept it was LUN-1 and gave it 100GB. You’re also going to want to keep the mapping to: Create a new iSCSI target
- Again, enter a name. You can keep the iqn the same. I would also advise enabling CHAP. This will make the NAS need to authenticate your PC before allowing access.
- After you’re done, the Service status should say Ready.
- On a side note, I would also suggest you edit your iSCSI target and configure masking. Set the default privileges to No Access. Then you can click create and enter in the iqn of your Fedora workstation and allow Read/Write. The iqn can be found by using the following:
[root@LPTP ~]# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1994-05.com.domain:01.ef4a72
This will also ensure that the NAS will only allow a machine to connect and use the storage if it is using the correct iqn.
Time for the Fedora side of things. If you don’t have it already, don’t forget to install the following:
[root@LPTP ~]# yum install iscsi-initiator-utils
Lets start with editing the iscsid.conf to add the CHAP user/password if you opted to create one. Open up the config file: /etc/iscsi/iscsid.conf
Find and uncomment the following lines, then fill in the username and password fields:
node.session.auth.authmethod = CHAP
node.session.auth.username = iscsiuser
node.session.auth.password = iscsipass
Then we move to connecting to the NAS. Start up the iscsi service:
[root@LPTP ~]# service iscsi start
Using iscsiadm, enter the target you would like to connect to, then restart the iscsi service:
[root@LPTP ~]# iscsiadm -m discovery -t sendtargets -p 192.168.1.1:3260
[root@LPTP ~]# service iscsi restart
With any luck, you should now see Service Status: IPADDRESS connected on the NAS.
You can also check the status on the Fedora side by using the following:
[root@LPTP ~]# iscsiadm -m session -P 3
iSCSI Transport Class version 2.0-870
version 2.0-872.15.f16
Target: iqn.2000-01.com.synology:ds1.name1
Current Portal: 192.168.1.1:3260,0
Persistent Portal: 192.168.1.1:3260,0
**********
Interface:
**********
Iface Name: default
Iface Transport: tcp
Iface Initiatorname: iqn.1994-05.com.domain:01.ef4a72
Iface IPaddress: 192.168.1.2
Iface HWaddress: <empty>
Iface Netdev: <empty>
SID: 4
iSCSI Connection State: LOGGED IN
iSCSI Session State: LOGGED_IN
Internal iscsid Session State: NO CHANGE
*********
Timeouts:
*********
Recovery Timeout: 120
Target Reset Timeout: 30
LUN Reset Timeout: 30
Abort Timeout: 15
*****
CHAP:
*****
username: iscsiuser
password: ********
username_in: <empty>
password_in: ********
************************
Negotiated iSCSI params:
************************
HeaderDigest: None
DataDigest: None
MaxRecvDataSegmentLength: 262144
MaxXmitDataSegmentLength: 262144
FirstBurstLength: 65536
MaxBurstLength: 262144
ImmediateData: Yes
InitialR2T: Yes
MaxOutstandingR2T: 1
************************
Attached SCSI devices:
************************
Host Number: 9 State: running
scsi9 Channel 00 Id 0 Lun: 0
Attached scsi disk sdb State: running
The above shows that you’re now connected and logged in! As you might notice the last line shows that the device is mounted at /dev/sdb. This info could also be obtained by checking fdisk -l and looking for the new 100GB disk.
Note that when I perform this command, I get an error:
[root@LPTP ~]# fdisk -l /dev/sdb
WARNING: GPT (GUID Partition Table) detected on ‘/dev/sdb’! The util fdisk doesn’t support GPT. Use GNU Parted.
Easy enough, to set up the new disk, we just need to use parted rather than fdisk.
[root@LPTP ~]# parted
(parted) select /dev/sdb
Using /dev/sdb
(parted) mkpart primary ext4 1 -1
Once that completes, we can create the filesystem:
[root@LPTP ~]# mkfs.ext4 /dev/sdb1
Now we create a place to mount the new storage:
[root@LPTP ~]# mkdir /mnt/iscsi
Add the following line to /etc/fstab so it mounts next time we reboot:
/dev/sdb1 /mnt/iscsi ext4 _netdev 0 0
Also enable the isci service to auto start:
[root@LPTP ~]# chkconfig iscsi on
And finally, lets see if it works…
[root@LPTP ~]# mount -a
That should mount anything new in /etc/fstab. With any luck, the volume will mount with no issues. You can verify that it completed by checking with df.
[root@LPTP ~]# df -h /dev/sdb1
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 100G 0.0G 100G 0% /mnt/iscsi
And that about completes it. I now have more free space on my SSD, and just toss less used files(pictures, music, etc.) over to the iSCSI storage.
Posted in Fedora, Linux
Tags: diskstation, Fedora 16, iscsi, Linux, synology