Remote SCSI via the perl SDK

I understand that there are ways to get information about the investigation of SCSI LUNS via the SDK and rCLI.

In particular, the class ScsiLun: http://www.VMware.com/support/developer/VC-SDK/visdk400pubs/ReferenceGuide/Vim.host.ScsiLun.html#field_detail

But I don't see any way for a user (from the vMA) to go to the next step and send custom object ScsiLun SCSI commands. Someone at - he found a way to send a SCSI CDB custom unit number logic of an ESX SCSI host remotely from a computer using the SDK provided by VMware?

VDDK seems to only allow access to the low-level vmdk files, but does not have access beyond. VDDK can be a solution with a RDM vmdk file cards, but does not provide the same level of access to a logical unit number which has a VMFS partition.

What would be nice, is to have methods on the object ScsiLun allowing at least read() calls to appear.

Is not possible. VDDK primary use case is to allow users to manipulate and manage the VMDK (s) for a given virtual machine, it does nothing with the storage array. The vSphere API allows you to perform basic and the configuration of your VMware infrastructure management and base operations around the storage system under such as creating new VMFS volumes or resignaturing/re-mounting a volume snapshot, which is as much as the API exposed in terms of storage void System. If you want more integration and control of the storage subsystem, then you will probably need to look at vStorage API for integration of table better known under the name of VAAI and only sellers of table I know that it is taking part in this program is the type of EMC, NetApp and Dell. So unless you work for them, you probably won't be able to get access to the internal API allowing then storage vendors hang their respective API

What you trying to do sounds like this should be done from the point of view of the storage provider and perhaps they have APIs that you can leverage to make your reads/writes, but a large part of this work is already being developed by the big 3 and I am sure that other vendors will join as VAAI becomes more popular and mainstream in order to unload the processes in the data mover in it VMkernel on the storage array.

=========================================================================

William Lam

VMware vExpert 2009

Scripts for VMware ESX/ESXi and resources at: http://engineering.ucsb.edu/~duonglt/vmware/

Twitter: @lamw

repository scripts vGhetto

Introduction to the vMA (tips/tricks)

Getting started with vSphere SDK for Perl

VMware Code Central - Scripts/code samples for developers and administrators

VMware developer community

If you find this information useful, please give points to "correct" or "useful".

Tags: VMware

Similar Questions

  • a few questions on the perl sdk

    I've been using perl sdk for 3.5.1 for awhile and I sued to connect with the virtual Center as follows

    Vim::login (service_url = & gt; "https://lbz0893/sdk/vimService", user_name = & gt;... .

    This no longer works on the new vsphere. can someone help me get started with this.

    (2) is there any sdk perl for Mrs. that I can use to create recovery plans and execute them?

    Thank you.

    In fact, there is an API of SRM , but there seems to be any client-side stubs. You may be able to use SOAP::Lite, however, not sure. The API is also quite minimal in its current form.

    =====

    Carter Shanklin

    Read the PowerCLI Blog
    [Follow me on Twitter |] http://twitter.com/cshanklin]

  • Remote access via the internet between Windows 7 PCs and a Windows 7 Pro and a Windows PC Vista Home

    I am running Windows 7 Professional on a laptop Dell Studio 1569 (64-bit). I want remote access to one Dell Inspiron, Windows 7 family, but also an another Dell Inspiron running Windows Vista Home edition, via an IP connection over the internet. I can do this and if so, how? I used GoToMeeting.com, but I hope that I can avoid paying their connecting directly. Thanks in advance.

    Take a look at TeamViewer. Boulder computer Maven

  • Can users change their schedules to ring remote Destination via the web page of user ccmuser?

    For employees who change of shifts from one week to another, or for users to go on vacation, can a login from the final user to ccmuser and adjust the timing of their own? Pouvez user number SNR on show and hide them too?

    Hello.

    Are you able to see 'Other numbers' section on the main page of the user?

    If so, click on edit in the "Actions" section and there you go set ring times and active period SNR.

    HTH

    Concerning

    Carlo

  • perl script does not follow the specification sdk?

    Hello

    I'm trying to customize the perl script to retrieve specific information, I need. I'm currently dipping in the specification of the sdk, and something seems strange to me. I can read that:

    A vSphere API client application begins by connecting to a server and obtaining a reference 
    to the ServiceInstance. The client can then use the RetrieveServiceContent method to gain
    access to the various vSphere manager entities and to the root folder of the inventory.
    

    ()http://www.vmware.com/support/developer/vc-sdk/visdk41pubs/ApiReference/vim.ServiceInstance.html( )

    I considered my perl as a client vSphere API script, so I looked for the "ServiceInstance" model in my perl scripts, but only two uses this object... All others have information without using the ServiceInstance... So this last one so useful? (If so, what is for?)

    About the RetrieveServiceContent it is never even used...

    Can someone explain to me my failure?

    Also, I wonder how to get the ServiceInstance.

    It is done when you call Util::connect() (which calls the function of connection).

    Once you have successfully logged in, you can get the ServiceContent object by calling Vim::get_service_content ().  If you enable HTTP mode and capture the SOAP envelopes, you would see the RetrieveServiceContent call.  A non-script, such as Java, C++, gross SOAP SDK, SDK etc., you would have to appeal, set up a sessionId cookie and make a connection in this sessionId cookie to perform most of the duties against the VIM SDK.

    In the Perl SDK you can proceed as follows if you want the ServiceContent (and references the number of objects in the inventory of management):

    $sc = Vim::get_service_content();

    print $sc--> on-> fullName. "\n";

    My $rootFolderMOR = $sc-> rootFolder;

    Also, if I remember correctly, views of the object will be the ServiceContent & Vim as a property in the data of the object.

    print $vm_view-> {'vim'}-> {'service_content'}-> {'about'}-> {'fullName'}. "\n";

    Since the ServiceInstance is worth MOREF regardless, usually you just create a ManagedObjectReference directly and use it as a parameter to RetrieveServiceContent.

    My $ServiceInstance = ManagedObjectReference-> new (type => 'ServiceInstance', value => "ServiceInstance");

    My $ServiceContent = Vim::RetrieveServiceContent (_C-online $ServiceInstance);

    # ... Then, called connection...

    $ServiceContent-> connection (_C-online $ServiceContent-> sessionManager, username-$username password-online $password online);

    In fact, if you look at the login()) function in VICommon.pm in the Perl SDK, you will see that this is exactly the same process (with a different code to handle SDK versions and others).

  • Support for Perl SDK for ESXi vmclone.pl without vCenter

    I try to use version 5.5 of SDK Perl vmclone.pl.  I have an ESXi with VM Server I want to clone remote.  However, when I try to invoke the perl scipt, I get an error "Operation is not supported by the current agent.

    I was led to believe that the Perl SDK works on ESXi without vCenter Server.  Is this correct?  My mistake for another reason?

    vSphere SDK for Perl can run on ESXi and vCenter, this is just an interface with the API. However, in the case of cloning that is a feature, it is only exposed when vCenter Server is in the picture. You cannot issue a clone operation directly on an ESXi host and this is why the fault was lifted.

  • Files or folders is not displayed when drive accessible via the path UNC path (or mapped drive) and not recorded in the field

    We have some users who are mobile and authentication of field across from site to site VPN not success not always.  For this reason, I give UNC paths for a shortcut or 'network' and otherwise mapped through a script when the map includes, for example:

    NET use S: \\10.10.22.11\Sharename / persistent: no password/User: domain\username

    This always gives the user access to actions you want outside of the domain.

    However, there are times where a folder or file saved from within the domain is not accessible to the remote user via the link above.

    I evaluated generally it was a matter of time and the spread and if I navigate from a performed computer and use the full path with the file name, the file opens. If, however, no such full path with the file name is used, the files or folders remain invisible.

    Since it is intermittent, I'm afraid, that I have little additional information.

    My hope is it's the common or at least known and there is something I can do to alleviate the problem.

    Thanks in advance for any help.

    Stuart

    Hi Stuart,

    Thanks for posting your question on the forum of the Microsoft community.

    The question will be better suited to the audience of professionals on the TechNet forums.

    I would recommend posting your query in the TechNet Forums.
     
    TechNet Forum
    http://social.technet.Microsoft.com/forums/en-us/home?category=w7itpro

    Thank you

  • BlackBerry, call web services via the SSL protocol

    Hi guys,.

    We are developing an application BlackBerry to OS 4.1 and we test it on the 8330.  This application calls several web services on a remote server via the SSL Protocol (side).  There is a valid certificate from Entrust installed on the remote server - it works properly with all major desktop browsers.  The certificate has not been installed on the BES - is it necessary?  Some BlackBerry devices will be linked to a company BES, others not.

    When the application calls the web service, a window opens with the following message: "you try to open a secure connection, but the server certificate is not approved."  Continue to push works fine, but the window opens again a few moments later.  Pushing view certificate indicates that the certificate is considered invalid ('unverifiable Cert chain').  The same information is given when you navigate to the certificates of the aircraft.  Certificate trust pushing watch a 2nd window asking you the key Store password, which we are not aware of.

    You guys can help us with this?

    Thank you!

    We have solved the problem.  It seems that the BlackBerry device is having a hard time with a certificate signed by the Entrust 2048 bit root certificate.  Give us a new intermediate certificate signed by their 1024-bit root certificate, which we have installed on our Apache server.  While the window 'certificate is not approved' arises at once, pushing "Continue" worked and it never came up again.  To do this, it will probably install the certificate on the BES, something we don't have yet.

    Thank you for taking the time to answer!

  • vCenter Linked Mode and Perl SDK

    Hello

    our VMware environment is divided into two physical places represented as two instances of vCenter. The two vCenters are interconnected. I think that its Mode called "related"?

    Is it possible to use the Perl SDK also bound mode? Currently, I have to manually interrogate both our vCenters and then sort out myself.

    (1) How to configure Perl SDK so I only authenticate once against our environment in Linked mode?

    (2) How can I build queries against the API so results will include objects in the two vCenters? That is to say. If I run a ' Vim::find_entity_views (view_type = > 'VirtualMachine') "I want to get all the objects 'VirtualMachine' in the two vCenters I can avoid running two separate queries and then later combining query results? ".

    Thank you!

    Thomas Willert

    It is not a published API method, but there is a way to get the vCenter server list in a group of related modes.  I have an explanation and sample code: http://www.virtuin.com/2012/12/querying-vcenter-linked-mode-with.html

    With respect to authentication, if your vCenter instances use the same permissions (which is recommended), then it's just a matter to authenticate each vCenter.  This is what the native client as well (if you have never installed vCenters with different permissions, you will see the login for each vCenter prompt).

    If you look at the blog post I linked earlier, you self an example of authentication each vCenter as well.  Basically you call Util::connect() two times, once for each of your URL for vCenter.  However, do not delete the global VIM uses the SDK package, or it will default to the last vCenter.  I show in the example script: LinkedModeExample.pl

    With respect to the combination of queries... not so easy.  You need to redesign each vCenter with $vim-> find_entity_views().  Now on a more advanced note, API is powerful enough to make custom inventory queries, you can usually pick up and keep the updates in your objects.

    What I would recommend as a simple approach is two calls to find_entity_views, then push them in a hash or an array.  You'll just want to use the UUID vCenter:

    $vc_uuid is $vim1-> get_service_content()-> {'about'}-> {'instanceUuid'};.

    The instanceUuid has been added in vCenter 4.x and later versions (do not have in the past 2.5 vCenter instances).  Then use this instanceUuid + moref as hash keys.  This is important because the morefs can be duplicated between vCenters.

    So, you can then create a hash:

    My % vm_hash;

    foreach my {$entity (@$vm_views)}

    My $moref = $entity-> {'mo_ref'}-> {'value'}; # will be vm-# for virtual machines

    $vm_hash {$vc_uuid.} "+". $moref} = $entity;

    }

    Then you can quickly research specific VMs and keep separate them between vCenters.

    You'll find it works for simple data queries, but you start to get more items of inventory (say for an inventory report), the relationship becomes more complex and the number of objects grow.  I did work to push these values in a database and files (including by running it on 5 or less than weight and WaitForUpdatesEx), excel, which works well if you have the time to build the DB and the work of database object schemas.  Just use instanceUuid + Moref value as primary key to prevent any moref vCenter cross reuse value.

    The other option is that the vim reference is added to each object, so you can just get the data of each entity:

    foreach my {$vm (@$vm_views)}

    Print "VM:". "." $vm-> {'name'}. "\n";

    Print "InstanceUuid VC:". $vm-> {'vim'}-> {'service_content'}-> {'about'}-> {'instanceUuid'}. "\n";

    Print "ServiceUrl VC:". $vm-> {'vim'}-> {'service_url'}. "\n";

    }

    I have a project that I tinker with in my spare time (which is rare these days) which aims to consolidate multiple vCenters into one database for queries and reports, but I didn't get far enough away from share it (very rude, but works for a subset of data at present, but it is very effective for collecting loose on<5s intervals).="">

    You can also look into VMware Orchestrator.  Orchestrator can connect to multiple vCenters and caches data for access by automation.  According to your WAN performance, he can work a geographic site and make sure that you need (just watch the moref, names of entities and other potential overlap between vCenters) aggregated data.

  • Perl SDK - get/set vSphere 5.1 tags?

    My apologies if this has been requested and we responded, but I'm exhausted with the search.  5.1 introduced tags for the custom attributes, but I can't find a way to access the tags in the Perl SDK.  Am I missing something?  It has been extremely frustrating to have a new feature touted with great potential that is being wasted for most, appearing only in the web client.

    Thanks in advance!

    The new "Tagging" feature introduced in vSphere 5.1 is currently not available today in the vSphere API, you can use the new vSphere Web Client to run on the tags.

  • Change the permissions for a particular user on a host ESXi 4.0 U2 CLI (Perl SDK)

    Hello

    I have an ESXi 4.0 U2 host, multiple virtual machines are working. Each VM has

    Some users in the annex (via permissions). For example, there is a

    user called "vm002", which has customized "VM user" role and is

    assigned to certain virtual machines. So the question is... How can I change the role of

    This user? I want to be able to automate the blocking of this user by

    the definition of his role on all VMs available on 'No access' (default system

    blocked role with all functions). I use Perl SDK, please provide some

    script or a code sample, how can be done.

    Thank you.

    As an attachment, you can find the script (ChangeRole.pl) that changes a role (rolename) to a user (setuser) or for all the selected vm or vm on the host (parameter optional vmname)

    ./--server esx --username root --password password --setuser user01 --rolename testrole2
    Check user user01 for vm "vm-001"
     For vm "vm-001" retrieved Permissions Successfully.
    The user user01 does not have a role for vm "vm-001"
    Check user user01 for vm "vm-002"
     For vm "vm-002" retrieved Permissions Successfully.
    Assign role testrole2 to user testuser for vm "vm-002"
     Authorization Role testrole2 Added To testuser For vm "vm-002"" Successfully.
    Check user user01 for vm "vm-003"
     For vm "vm-003" retrieved Permissions Successfully.
    Assign role testrole2 to user user01 for vm "vm-003"
     Authorization Role testrole2 Added To user01 For vm "vm-003" Successfully.
    

    If you find this information useful, please give points to "correct" or "useful".

  • How to assign an address mac manually via the SDK

    Hi all

    I want to add a NETWORK card to an instance of a computer virtual via the API vSphere for Perl with a MAC address of 'me '.

    I don't want, assigned to the vCenter by the MAC automatically, which is the default value.

    I am frustrated because I have not found anything in the internet.

    Can someone help me?

    Thanks in advance,

    Henning

    You will need to call the ReconfigVM_Task specify a specification of the configuration of the addition of a new type device VirtualEthernetCard and when you add the new vNIC, you have the option of specifying how the MAC address will be generated: http://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/vim.vm.device.VirtualEthernetCard.html you will need to set the addressType to manual and macAddress at the MAC address string you want to set , remember that the MAC address must be in the range of 00:50:56:00:00:00 - 00:50:56:3F:FF:FF

    =========================================================================

    William Lam

    VMware vExpert 2009

    Scripts for VMware ESX/ESXi and resources at: http://engineering.ucsb.edu/~duonglt/vmware/

    Twitter: @lamw

    repository scripts vGhetto

    Introduction to the vMA (tips/tricks)

    Getting started with vSphere SDK for Perl

    VMware Code Central - Scripts/code samples for developers and administrators

    150 VMware developer

    If you find this information useful, please give points to "correct" or "useful".

  • Is it possible to use the Remote app with the Apple TV connected via ethernet and iPhone via WiFi?

    Is it possible to use the Remote app with the Apple TV connected via ethernet and iPhone via WiFi? When I try this Apple TV does not appear in the list of devices on my iPhone.

    Yes, I'm doing exactly this with the same put in place.

    If the problem persists the next relative to the following articles might help you.

    Troubleshooting home sharing

  • 22D133B: replaced charger DVD - no play, pause, stop, etc via the remote control

    Hello

    I have a 22D1333B in for repair because it would not play the DVD. I replaced the charger DVD (part No. 75040787) and the unit will now play DVDs ok but the DVD section will not respond to the remote control.

    All other TV functions operate via the remote control without any problem. It's just the DVD section.

    I cured the last of them by exchanging the PCB on the new DVD unit with that of the old unit, but this certainly isn't the way to address this problem.

    I downloaded and installed the software on the site of Vestel and updated the software for the Toshiba site. The fault remains.

    Any help to solve this problem would be welcome.

    T.I.A.

    In my opinion the new DVD drive isn't fully compatible with the remote control (type) RC1910 that was included in the box.

    I think you should get in contact with the authorized service provider to fix this

  • I noticed that my remote access has been activated twice in a week but I did not. no way to verify when, what, who activated via the event log,...?

    I noticed that my remote access has been activated twice in a week but I did not. no way to verify when, what, who activated via the event log,...?

    Hi dewthisnow,

    The information office for remote access must be in the security log.

    For more information, see:

    To disable remote desktop

    To view the logs in Event Viewer, see:

    Using the event viewer        

    Procedure to view and manage event logs in Event Viewer in Windows XP

Maybe you are looking for