On Tue, 6 May 2008, Daniel P. Berrange wrote:
On Tue, May 06, 2008 at 07:53:29AM +0200, Stefan de Konink wrote:
> On Tue, 6 May 2008, Daniel P. Berrange wrote:
>
> > > Due to the reason all LUNs are exported over one connection, a
> > > rescan before usage a rescan is always required. LUN numbering is not
> > > stable, nor they can be found at the client side.
> >
> > So where does the information mapping netapp pathnames to the the LUNs
> > come from ?
>
> The information service, so in my case ssh script.
Having the daemon SSH into the filer is a non-starter. There's no way most
admins will allow that as in any reasonably large company its fundamental
security protocol that there is separation between server & filer admins.
One group not having access to the other's systems & vica-verca.
That is why the Net-patent me-App people invented vfilers. Next to this
Dom0 != DomU so where is the security breach? No 'client/user' is able to
do anything with libvirt or 'xm' so I'm very interested in what seperation
you are talking about.
And from the other via SELinux policy for libvirt will not allow the
daamon to SSH to servers as it violates the principle of containment.
> > If LUNs can change when re-scanning what happens to LUNs
> > already in use for other guests ? It doesn't sound usable if LUNs that
> > are in use get renumbered at rescan.
>
> Luns that don't change get not remapped. But if a user decides to destroy
> a disk, and have one with the same name again, it is most likely to get a
> other lun. But with the same name.
So the LUN is stable for the entire lifetime of the associated named disk
volume.
The LUN probably is, as stable as the human readable path to it. If your
suggestion is:
/dev/disk/by-path/ip-172.16.103.200:3260-iscsi-iqn.1992-08.com.netapp:sn.118046347:vf.88fa4694-0ba6-11dd-b8a9-00a09807592f-lun-1034
Instead of some more 'simple' and human readable way, that is *garanteed*
to give the right paths at start, no matter what happens (for example
maintance)... it is your argument against mine.
> > AFAICT this is basically just suggesting an alternate
naming scheme for
> > storage volumes, instead of 'lun-XXX' where XXX is the number, you
want
> > a name that's independant of LUN numbering. So the key question is where
> > does the information for the persistent names come from ?
>
> Exactly this is what I want. If I have a iSCSI uri, I want to have it
> discovered, if I have a netapp uri I want to have it 'discovered' too, but
> in this case I provide the address of the administrative interface.
Logging into the admin interface is a non-starter.
I don't consider iSCSI discoveries nor DNS look-ups non-starters. Nor I
find an informative lookup to a (v)filer a nonstarter. What you are
suggesting is that one is allowed to 'lookup' using its VPS-solution, but
not when starting the machine.
> And unlike you do for storage pools with iSCSI that the provided
target
> name for volumes should 'match up' with the 'discovered name', I
want this
> to be transparent to the user. *Because* Linux might have a target
> /dev/bla-by-path/X but who says *BSD, *Solaris has it? (Yes I know, there
> are other problems, but the base problem is that the target provided target device
> is pretty limited to one OS running udev.)
The question of disk path naming is completely independnat of of the
storage volume namin - they are separate pieces of metadata & there's
no hard link between them. The /dev/ naming scheme for volumes is by
neccessity going to be different across every OS. The use of /dev/disk/byXXX
is obviously Linux speciifc and would need to be adapted for any BSD
or Solaris disto.
src/storage_backend_iscsi.c:293
/* Now figure out the stable path
*
* XXX this method is O(N) because it scans the pool target
* dir every time its run. Should figure out a more efficient
* way of doing this...
*/
if ((vol->target.path = virStorageBackendStablePath(conn,
pool,
devpath)) == NULL)
goto cleanup;
if (devpath != vol->target.path)
free(devpath);
devpath = NULL;
What are you trying to 'check' here?
Stefan