Centralized Secure Storage (iSCSI) – “Initiator Client” Setup on RHEL/CentOS/Fedora – Part III

iSCSI Initiator are the clients which use to authenticated with iSCSI target servers to access the LUNs shared from target server. We can deploy any kind of Operating systems in those locally mounted Disks, just a single package need to be install to get authenticate with target server.

Client Initiator Setup
Client Initiator Setup

Features

  1. Can handle any kind of file systems in locally mounted Disk.
  2. No need of restating the system after partition using fdisk.

Requirements

  1. Create Centralized Secure Storage using iSCSI Target – Part 1
  2. Create LUN’s using LVM in Target Server – Part 2
My Client Setup for Initiator
  1. Operating System – CentOS release 6.5 (Final)
  2. iSCSI Target IP – 192.168.0.50
  3. Ports Used : TCP 3260

Warning: Never stop the service while LUNs Mounted in Client machines (Initiator).

Initiator Client Setup

1. In Client side, we need to install the package ‘iSCSI-initiator-utils‘, search for the package using following command.

# yum search iscsi
Sample Output
============================= N/S Matched: iscsi ================================
iscsi-initiator-utils.x86_64 : iSCSI daemon and utility programs
iscsi-initiator-utils-devel.x86_64 : Development files for iscsi-initiator-utils

2. Once you locate the package, just install the initiator package using yum command as shown.

# yum install iscsi-initiator-utils.x86_64

3. After installing the package, we need to discover the share from Target server. The client side commands little hard to remember, so we can use man page to get the list of commands which required to run.

# man iscsiadm
man iscsiadm
man iscsiadm

4. Press SHIFT+G to Navigate to the Bottom of the man page and scroll little up to get the login example commands. We need to replace our Target servers IP address in below command Discover the Target.

# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.0.200 --discover

5. Here we got the iSCSI (iqn) qualified name from above command execution.

192.168.0.200:3260,1 iqn.2014-07.com.tecmint:tgt1
Discover Target
Discover Target

6. To log-in use the below command to attach the LUN to our local System, this will authenticate with target server and allow us to log-in into LUN.

# iscsiadm --mode node --targetname iqn.2014-07.com.tecmint:tgt1 --portal 192.168.0.200:3260 --login
Login To Target Server
Login To Target Server

Note: Use the login command and replace login with logout at end of command.

# iscsiadm --mode node --targetname iqn.2014-07.com.tecmint:tgt1 --portal 192.168.0.200:3260 --logout
Logout from Target Server
Logout from Target Server

7. After login to the LUN, list the records of Node using.

# iscsiadm --mode node
List Node
List Node

8. Display all data of a particular node.

# iscsiadm --mode node --targetname iqn.2014-07.com.tecmint:tgt1 --portal 192.168.0.200:3260
Sample Output
# BEGIN RECORD 6.2.0-873.10.el6
node.name = iqn.2014-07.com.tecmint:tgt1
node.tpgt = 1
node.startup = automatic
node.leading_login = No
iface.hwaddress = <empty>
iface.ipaddress = <empty>
iface.iscsi_ifacename = default
iface.net_ifacename = <empty>
iface.transport_name = tcp
iface.initiatorname = <empty>
iface.bootproto = <empty>
iface.subnet_mask = <empty>
iface.gateway = <empty>
iface.ipv6_autocfg = <empty>
iface.linklocal_autocfg = <empty>
....

9. Then list the drive using, fdisk will list every authenticated disks.

# fdisk -l /dev/sda
List Disks
List Disks

10. Run fdisk to create a new partition.

# fdisk -cu /dev/sda
Create New Partition
Create New Partition

Note: After Creating a Partition using fdisk, we don’t need to reboot, as we used to do in our local systems, Because this is a remote shared storage mounted locally.

11. Format the newly created partition.

# mkfs.ext4 /dev/sda1
Format New Partition
Format New Partition

12. Create a Directory and mount the formatted partition.

# mkdir /mnt/iscsi_share
# mount /dev/sda1 /mnt/iscsi_share/
# ls -l /mnt/iscsi_share/
Mount New Partition
Mount New Partition

13. List the Mount Points.

 
# df -Th
  1. -T – Prints files system types.
  2. -h – Prints in human readable format eg : Megabyte or Gigabyte.
List New Partition
List New Partition

14. If we need to permanently mount the Drive use fstab entry.

# vim /etc/fstab

15.Append the following Entry in fstab.

/dev/sda1  /mnt/iscsi_share/   ext4    defaults,_netdev   0 0

Note: Use _netdev in fstab, as this is a network device.

Auto Mount Partition
Auto Mount Partition

16. Finally check whether our fstab entry have any error.

# mount -av
  1. -a – all mount point
  2. -v – Verbose
Verify fstab Entries
Verify fstab Entries

We have Completed Our client side configuration Successfully. Start to use the drive as we use our local system disk.

If you read this far, tweet to the author to show them you care. Tweet a thanks
Babin Lonston
I'm Working as a System Administrator for last 10 year's with 4 years experience with Linux Distributions, fall in love with text based operating systems.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

32 thoughts on “Centralized Secure Storage (iSCSI) – “Initiator Client” Setup on RHEL/CentOS/Fedora – Part III”

  1. When we are doing wrong entry in /etc/iscsi/initiator-nam….
    And then. I use. This command
    Iscsiadm -m discovery -t st -p (ip.addr)

    Then iscsiadm -m discovery -t st -p (ip.addr) – l
    Then show 24 type something error then what i do troubleshooting this error without reboot use

    Reply
    • @Abhishek,

      1. You need to check your logs first to find out what cause the exact issue.
      2. You can’t discover any device till fix any issue in configurations.

      If you are facing the issue provide us the logs, configuration entries.

      Regards,

      Reply
      • I remove /var/lib/iscsi/send_target/* and /var/lib/iscsi/nodes/* but i have error 24 somthing type. i did not know about this comand
        “iscsiadm -m discovery -t st -p (ip.addr) – l ” cache entry path.
        can u tell me where is the cache entry path ?

        Reply
        • @Abhishek,

          You can remove both

          /var/lib/iscsi/send_target/* && /var/lib/iscsi/nodes/*

          It will be populated once you do a new discovery and login session.

          Regards,

          Reply
  2. Thank you for the wonderful tutorial, i have a question regarding mount point. I have a LV in target and i would like this to be mounted on the initiator however it tells me its not able to find special device

    Is it possible to mount the lv in above setup?

    Reply
    • I have a LV in target and i would like this to be mounted on the initiator however it tells me its not able to find special device

      // Okay you have a Logical volume in iSCSI server but you can’t mount without giving that lv to in iSCSI configuration//

      Is it possible to mount the lv in above setup?

      // Have you provided that LV to target server configuration under /etc/tgt/targets.conf ? //

      Then reload target and find the output using tgtadm –mode target –op show

      If above steps done you can’t mount the LUN under initiator.

      Reply
  3. I have two host initiators that are connected to one target using one LUN. After the connection is established it gives me on every host (initiator) a disk that I mount to a directory using ext4 file system. When I write some data to the disk that I mounted on each initiator, data is replicated to the target. The problem is that: what I write on one initiator is not seen by the other initiator, but if I umount the disks on initiators and I mount them again data written on one is seen on the other initiator.
    Please suggest.

    Reply
  4. Sir I am trying to connect one LUN to more linux clients. I mounted the LUN to one client should i have to run commands from 10 to 16 on second client or is there any single command to connect same LUN to another client? or can i share this LUN with other clients?

    Reply
  5. Thanks much…It is very helpful… I have one question here… After mounting the iscsi share permanently by fstab entry… If we want to reboot the client machi, do we need to logout from the targer server??

    Reply
    • @Dinesh,

      No we don’t need to logout those iSCSI session in any case. Only we need to add the route for those target IP. If the route was not persistent upon reboot it will not connect to Storage.

      Reply
  6. This series has been a great help for me. Would it be possible to add multiple NICs to the target and configure multi-path/redundancy/fail-over? Thank you again.

    Reply
  7. I m shy to say that.
    I tried my best to configure mail server in 2008. But I am fail.
    one for dns and second for mail server.
    Could any one explain please step by step all configuration till clients side

    Reply

Got something to say? Join the discussion.

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.