Where is the target IP in the libstoragemgmt model?
by nabl@hush.com
Hi,
I've been looking at libstoragemgmt and have a question and an
observation (please let me know if this is not the appropriate
forum):
Question:
Looking at the documentation, I see the method by which an initiator
IQN is given permission to access a volume, but not the details of
how the iSCSI session is actually established.
For example, I expect to do something like
sudo iscsiadm -m discovery -t sendtargets -p $IP
where $IP is the IP of the machine with the volume (perhaps there is
more than one IP if it is connected over several networks), and then
see the volume I want show up in the resulting list.
But what I don't see in the libstoragemgmt model is where such an IP
(or list of IPs) might be found, e.g., the System object in the model
seems to have only id, name, and status.
Is the user expected to just know the target IP(s)?
Observation:
Has anyone installed libstoragemgmt on Ubuntu?
I have Ubuntu 12.04.5 LTS and installed libstoragemgmt just to try
out sim:// following the instructions at
http://libstorage.github.io/libstoragemgmt-doc/doc/install.html#1.2.-comp...
I succeeded in installing, though I had to
./configure --without-rest-api
because in my case
Requested 'libmicrohttpd >= 0.9' but version of libmicrohttpd is
0.4.6
When I tried to run lsmd it exited with 1 and I saw in
/var/log/syslog:
lsmd: Unable to access socket directory /var/run/lsm/ipc, errno= 13
I got rid of that error by doing
sudo mkdir -p /var/run/lsm/ipc
then lsmd -v returned 0 (echo $?), although in /var/log/syslog I saw
lsmd: Warn: Missing libstoragemgmt user, running as existing user!
lsmd: Scanning plug-in directory /usr/bin
lsmd: No plugins found in directory /usr/bin
and
lsmcli -u 'sim://' list --type systems
still produced
DAEMON_NOT_RUNNING(12): The libStorageMgmt daemon is not running
(process name lsmd), try 'service libstoragemgmt start'
Given the exit code of 0 and the fact that plugins were presumably
optional, I was a bit confused. I did figure out that plugins are
not after all optional and did
lsmd -v --plugindir ./libstoragemgmt-1.2.3/plugin
but I think the installation documentation at
http://libstorage.github.io/libstoragemgmt-doc/doc/install.html
could be improved here with the additional step required for those
installing from source.
Thanks,
Michael
8 years, 10 months
libStorageMgmt release 1.2.3
by Gris Ge
A new version of libStorageMgmt is now available:
https://github.com/libstorage/libstoragemgmt/releases/download/1.2.3/libs...
Fedora and EPEL update will be started in the next few days.
OpenSuSE packages will be in Tumbleweed/Factory repo soon.
Changelog:
* Bug fixes:
* lsmcli bash completion: Fix syntax error.
* lsmcli bash completion: Fix volume-delete.
* lsmcli bash completion: Add missing completions.
* Fix: selinux dac_override
* Manpage: Update hpsa and megaraid plugin manpages.
* HP Smart Array Plugin: Fix pool querying on P410i.
* MegaRAID Plugin: Fix bug when no volume configured.
Please feel free to contact us if you have any questions.
Best regards.
--
Gris Ge
8 years, 10 months
libStorageMgmt release 1.2.0
by Gris Ge
A new version of libStorageMgmt is now available.
https://github.com/libstorage/libstoragemgmt/releases/download/1.2.0/libs...
Fedora and EPEL update will be started in the next few days.
Changelog:
- New features:
* The lsmd daemon now allows plugin to run as root using configure
file.
* Targetd plugin got full access group support.
* The simulator plugin switched from risky pickle to sqlite3 for state
saving.
* Introduced bash auto completion support for lsmcli command.
* Two new plugins for hardware RAID cards:
* LSI MegaRAID plugin -- megaraid://
Dell PERC and other OEM rebanded MegaRAID cards are also
supported.
* HP SmartArray plugin -- hpsa://
- Library adds:
* New method to query RAID information of volume:
Python: lsm.Client.volume_raid_info().
C: lsm_volume_raid_info().
* New method to query pool membership:
Python: lsm.Client.pool_member_info().
C: lsm_pool_member_info().
* New disk status constant to indicate certain disk could be used as
pool disk or dedicate spare disk.
Python: DISK.STATUS_FREE.
C: LSM_DISK_STATUS_FREE.
* New method to create RAID volume on hardware RAID cards:
Python: lsm.Client.volume_raid_create_cap_get().
lsm.Client.volume_raid_create().
C: lsm_volume_raid_create_cap_get().
lsm_volume_raid_create().
* New C plugin register interface for version 1.2 new methods:
lsm_register_plugin_v1_2()
- Bug fixes and miscellaneous fixes:
* lsmd: Fix a possible infinity loop on plugin search.
* Fix memory leak in C unit test.
* Library: Fix incorrect Volume.vpd83 definition
* SMI-S plugin: Fix SMI-S plugin spare disk support.
* SMI-S plugin: Fix target_ports() for HP 3PAR and EMC VMAX.
* SMI-S plugin: Fix the incorrect profile_check().
* Fix C library compile warning.
* Fix C library potential memory leak in handle_volume_raid_create().
* ONTAP, MegaRAID, SMI-S Plugins: Enforce the definition of Pool.status.
* Change license statement by replacing address to URL.
* lsmd: add error catch for signal.
* lsmcli: fix _get_item error message.
* C Library: Fix message loop
* C Library: Clean up code for DRY(don't repeat yourself).
* SMI-S Plugin: Collect xml during exception.
* C Library: Remove ambiguity between wrong type or OOM
* C code clean up to use K&R code style.
* Add Charles Rose to AUTHORS.
Thanks to all those that helped make this release better by submitting
patches, reporting bugs and engaging in design discussions. All is
appreciated!
Giving it a try:
http://libstorage.github.io/libstoragemgmt-doc/doc/user_guide.html
*Warning/disclaimer*
This library has the ability to destroy any and all data on a storage
controller (either from user error or because of a code bug in the
library itself). I would suggest using and developing on
only non-production storage arrays which have no data of value or
utilizing the simulator while developing with the library.
As always any feedback and improvements are welcomed.
Best regards!
--
Gris Ge
8 years, 10 months