Tomasz Chmielewski schrieb: > Comments (other than "there is such a tool already", which would be just > great)?
I made an initial version of such a tool. It is available, with additional info, examples and configuration instructions on http://wpkg.org/TGT-admin. Summary: Right now, TGT does not have any config file nor a configuration tool. Below is an attempt to create one. Configuration instructions First, create a /etc/stgt/targets.conf file similar to the one below: include /etc/stgt/xen/*.conf include /etc/stgt/vmware/*.conf include /etc/stgt/temp/*.conf <target iqn.2007-04.com.example:san.monitoring> backing-store /dev/san/monitoring </target> <target iqn.2007-02.com.example:san.xen1> backing-store /dev/san/xen1 </target> <target iqn.2007-02.com.example:san.xen2> backing-store /dev/san/xen2 </target> <target iqn.2007-06.com.example:san.vmware1> backing-store /dev/san/vmware1 </target> You can include other config files with i.e. "include /etc/stgt/xen/*.conf". Currently, only one LUN per target is supported. Right now, it doesn't make any changes in your tgtd configuration - note that all tgtadm invocations are prefixed with print. This means, the tool will only print what changes would be done - at this stage, I want some discussion on how a config tool for TGT should look like. Adding targets For each target which is: * found in /etc/stgt/targets.conf (or any other included config file), * not configured already it will print "Adding target" with this target's name, and three tgtadm commands which setup the target. For example: Adding target: iqn.2007-11.com.example:san.rescue-live tgtadm --lld iscsi --op new --mode target --tid 46 -T iqn.2007-11.com.example:san.rescue-live tgtadm --lld iscsi --op new --mode logicalunit --tid 46 --lun 1 -b backing-store /dev/san/rescue-live tgtadm --lld iscsi --op bind --mode target --tid 46 -I ALL Removing targets It will also try to remove the targets which don't exist in the config file (which are in "tgtadm --lld iscsi --op show --mode target" output, but not in the config file), for example: Removing target: iqn.2007-04.com.example:san.monitoring tgtadm --op update --mode target --tid=9 -n state -v offline tgtadm --mode target --op delete --tid=9 Note that it will not forcibly remove the target if any initiators are still connected to it, as tgtadm does not support this feature yet. And what happens if a target already exists? If the target is already configured and the tool is started, it will output: Target iqn.2006-12.com.example:san.backup1 already exists! Target iqn.2006-12.com.example:san.kolab1 already exists! Target iqn.2006-12.com.example:san.mysql2 already exists! Target iqn.2007-01.com.example:san.file1 already exists! Target iqn.2007-02.com.example:san.xen1 already exists! Target iqn.2007-02.com.example:san.xen2 already exists! This means you can safely add or remove any targets in your config file, it will be automatically recognized and a proper action will be taken. Source code Available on http://wpkg.org/TGT-admin#Source_code TO DO If there is any discussion about this tool, more features could be implemented: * more LUNs per target * allow other configuration options which are possible with tgtadm * change target configuration if the target is already online, and its config changed * add a proper /etc/init.d/tgt script -- Tomasz Chmielewski _______________________________________________ Stgt-devel mailing list [email protected] https://lists.berlios.de/mailman/listinfo/stgt-devel
