Skip to content

orzhang/gotgt

 
 

Repository files navigation

gotgt Build Status

Simple Golang SCSI Target framework, this includes only one binary, you can start a daemon via gotgt daemon and control it via gotgt list/create/rm.

Build

$ mkdir -p $GOPATH/src/github.com/gostor/
$ cd $GOPATH/src/github.com/gostor/
$ git clone https://github.com/gostor/gotgt gotgt
$ cd gotgt
$ ./autogen.sh
$ ./configure
$ make

How to use

Currenty, there is lack of commands to operate the target and LU, however you can init the target/LU with config file in ~/.gotgt/config.json, such as:

{
  "storages":[
    {
      "deviceID":1000,
      "path":"file:/var/tmp/disk.img",
      "online":true
    }
  ],
  "iscsiportals":[
    {
      "id":0,
      "portal":"127.0.0.1:3260"
    }
  ],
  "iscsitargets":{
    "iqn.2016-09.com.gotgt.gostor:02:example-tgt-0":{
      "tpgts":{
        "1":[0]
      },
      "luns":{
        "0":1000
      }
    }
  }
}

Note: make sure file /var/tmp/disk.img is existed, you can use dd to create it.

Test

You can test this with open-iscsi or libiscsi.

Roadmap

  • Auth (p3)
  • Login Process (orzhang, p2)
  • ACL (Access control) (p3)
  • SCSI Task Management (p3)
  • iSCSI Task Management (p3)
  • SCSI Command Queue (p2)
  • More SCSI commands (p2)
  • Refactor (carmark, p1)
  • Command Line (carmark, p1)
  • More Backstore Plugins(such as ceph and raw device) (orzhang, p1)
  • Redirect iSCSI Target (orzhang, p2)
  • Homepage (p3)
  • More test cases (p2)
  • IDM implementation (p3) https://tools.ietf.org/html/rfc5047

Contributing

Want to help build gotgt? Check out our contributing documentation.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.1%
  • Other 0.9%