Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Setting up iSCSI Providers and Clients in openSUSE

Slides for my talk at openSUSE Summit 2019 Nashville

  • Login to see the comments

  • Be the first to like this

Setting up iSCSI Providers and Clients in openSUSE

  1. 1. Lee Duncan SUSE Labs iSCSI Hacker lduncan@suse.com Setting up iSCSI providers and clients on openSUSE
  2. 2. 2 A Short talk about using iSCSI ● My Background – SCSI and iSCSI experience – Worked for SUN, HP, GE, AT&T, now SUSE – Co-maintainer of open-iscsi initiator – Co-maintainer of Linux kernel initiator code – Maintainer of targets and initiator for SUSE – Other github projects (gonzoleeman)
  3. 3. 3 iSCSI: What is it? ● iSCSI is just SCSI over a transport, e.g. TCP/IP – See RFC3270 ● SCSI is just a way that a computer and disc can talk – The Computer makes requests: this client initiates all communication – The Disc responds: it’s target serves disc data to the computer
  4. 4. 4 iSCSI: Why do I care about it? ● Free and open software ● Cheap: you do not need special hardware, other than your network ● Well used: it is generally reliable/mature ● Well maintained – New stuff still being added (e.g. tcmu_runner) ● Can be building block for larger storage systems
  5. 5. 5 iSCSI: Basics ● iSCSi uses initiators and targets ● A target is a server that serves up Disc LUs ● An initiator is a client that wants to access LUs ● We will use open-iscsi for our client ● We will use targetcli-fb for our server ● A picture might help ...
  6. 6. 6 iSCSI: Topology (simple) NetworkNetwork Client* Client* ServerServer iSCSI InitiatoriSCSI Initiator iSCSI TargetiSCSI Target LUN0LUN0 open-iscsi targetcli-fb/LIO iqn.yyyy-mm.name-authority:unique-name iqn.yyyy-mm.name-authority:unique-name Storage
  7. 7. 7 iSCSI: Setting up the Target ● We need a target for the initiator to connect to – Using command line: targetcli(1) ● Package: targetcli-fb (uses Python3) – Using YaST GUI ● Package yast2-iscsi-lio-server
  8. 8. 8 iSCSI: Setting up the Target (cont) ● Using the Command Line – Use the targetcli(1) command – Can be called to do one thing or interactively – Must be root – Shell-like ● Has a node hierarchy: root, directories, ... ● Commands depend on where you are in tree
  9. 9. 9 iSCSI: Setting up the Target (cont) ● Two parts to a target (must be connected) – Backstore ● Where the bits actually live ● Several different types (file, disc, ...) – Target front-end ● Name (iqn.*) ● Portal(s) (IP:Port) ● LU(s) ● ACL(s) (Initiator IQN)
  10. 10. 10 iSCSI: Setting up the Target (cont)
  11. 11. 11 iSCSI: Setting up the Target (cont)
  12. 12. 12 iSCSI: Setting up the Target (cont)
  13. 13. 13 iSCSI: Setting up the Target (cont)
  14. 14. 14 iSCSI: Setting up the Target (cont)
  15. 15. 15 iSCSI: Setting up the Target (cont) ● Setting up the target using yast: – Navigate to Network Services → iSCSI LIO Target ● NOTE: yast does not allow configuring individual ACLs (i.e. demo mode)
  16. 16. 16 iSCSI: Setting up the Target (cont)
  17. 17. 17 iSCSI: Setting up the Target (cont)
  18. 18. 18 iSCSI: Setting up the Target (cont)
  19. 19. 19 iSCSI: Setting up the Target (cont)
  20. 20. 20 iSCSI: Setting up the Target (cont)
  21. 21. 21 iSCSI: Setting up the Target (cont)
  22. 22. 22 iSCSI: Setting up the Initiator ● The initiator uses the open-iscsi package – Installed and enabled by default ● Can be configured using – Command line: iscsiadm(1) – YaST (uses yast2-iscsi-client package)
  23. 23. 23 iSCSI: Setting up the Initiator (cont) ● Initiator uses two phases to connect: – Discovery: find target(s) at IP:Port – Login: connect to discovered target(s) ● Command line – iscsiadm(1)
  24. 24. 24 iSCSI: Setting up the Initiator (cont)
  25. 25. 25 iSCSI: Setting up the Initiator (cont)
  26. 26. 26 iSCSI: Setting up the Initiator (cont) ● Setting up initiator using yast – Uses the yast2-iscsi-client package – Navigate to Network Services → iSCSI Initiator
  27. 27. 27 iSCSI: Setting up the Initiator (cont)
  28. 28. 28 iSCSI: Setting up the Initiator (cont)
  29. 29. 29 iSCSI: Setting up the Initiator (cont)
  30. 30. 30 iSCSI: Setting up the Initiator (cont)
  31. 31. 31 iSCSI: Setting up the Initiator (cont)
  32. 32. 32 iSCSI: Setting up the Initiator (cont)
  33. 33. 33 iSCSI: Setting up the Initiator (cont)
  34. 34. 34 iSCSI: Setting up the Initiator (cont)
  35. 35. 35 iSCSI: That’s It! ● iSCSI is easy to set up on openSUSE ● You can use command line or GUI ● You can roll your own SAN ● For more info: – http://www.open-iscsi.com – https://github.com/open-iscsi/targetcli-fb – http://www.opensuse.org
  36. 36. Join Us at www.opensuse.org 36 ● Contact: lduncan@suse.com
  37. 37. License This slide deck is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license. It can be shared and adapted for any purpose (even commercially) as long as Attribution is given and any derivative work is distributed under the same license. Details can be found at https://creativecommons.org/licenses/by-sa/4.0/ General Disclaimer This document is not to be construed as a promise by any participating organisation to develop, deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. openSUSE makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The development, release, and timing of features or functionality described for openSUSE products remains at the sole discretion of openSUSE. Further, openSUSE reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All openSUSE marks referenced in this presentation are trademarks or registered trademarks of SUSE LLC, in the United States and other countries. All third-party trademarks are the property of their respective owners. Credits Template Richard Brown rbrown@opensuse.org Design & Inspiration openSUSE Design Team http://opensuse.github.io/branding-guidelines/ 37

×