Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
¼¼Êõ½âÎö£º»ùÓÚPerlµÄVMWareÐéÄâ»ú¹ÜÀí
 
УÒ룺ºÎ¿¡ ·ëÖÒÆì À´Ô´£ºIT168 ·¢²¼ÓÚ 2015-1-28
  2985  次浏览      33
 

ÖÚËùÖÜÖª£¬VMWareÔÚÐéÄ⻯ºÍÔÆ¼ÆËã»ù´¡¼Ü¹¹ÁìÓò´¦ÓÚÈ«ÇòÁìÏȵØÎ»£¬ËùÌṩµÄ¾­¿Í»§ÑéÖ¤µÄ½â¾ö·½°¸¿Éͨ¹ý½µµÍ¸´ÔÓÐÔÒÔ¼°¸üÁé»î¡¢Ãô½ÝµØ½»¸¶·þÎñÀ´Ìá¸ßITЧÂÊ¡£¶øÆìϵÄVMWare vSphereÊÇÒ»ÕûÌ×ÐéÄ⻯ӦÓòúÆ·£¬Ëü°üº¬VMWare ESX Server¡¢VMWare Virtual Center¡¢VMotion£¬ÒÔ¼°ÀýÈçVMWare HA¡¢VMWare DRSºÍVMWareͳһ±¸·Ý·þÎñµÈ·Ö²¼Ê½·þÎñ¡£ËüÌṩÁËÍêÕûµÄÐéÄ⻯½â¾ö·½°¸£¬µ«ÊÇÎÒÃÇÈÔÈ»ÐèÒª´óÁ¿×¨ÒµÈËÔ±ÊÖ¶¯µÄ½øÐÐά»¤ºÍ¹ÜÀíÕû¸öÐéÄ⻯»·¾³¡£Òò´Ë£¬VMWare¹Ù·½Ò²ÌṩÁ˶àÖÖ²»Í¬ÓïÑÔ°æ±¾µÄSDKÒÔÂú×㲻ͬÆóÒµÓû§×Ô¶¯»¯¹ÜÀíÕû¸öÐéÄ⻯»·¾³µÄÐèÇó¡£

¹ØÓÚ±¾ÎÄ£º±¾Îļòµ¥½éÉÜÁË»ùÓÚVMWare SDKµÄPerlÓïÑÔ°æ±¾APIÈçºÎÉè¼Æ²¢ÊµÏÖÐéÄ⻯»·¾³Õû¸öÉúÃüÖÜÆÚµÄ×Ô¶¯»¯¹ÜÀí¡£

Ò». VMWare Perl SDK¼ò½é

VMWare Perl SDKÌṩÁËÒ»×é»ùÓÚPerl½Å±¾ÓïÑԵIJÙ×÷vSphere¶ÔÏóµÄ½Ó¿Ú£¬¹ÜÀíÔ±¼°¿ª·¢ÈËÔ±¿ÉÒÔʹÓÃPerlµÄÏà¹Ø·½·¨ÇáËɵIJÙ×÷vSphere¶ÔÏó¡£

VMWare Perl SDK°üÀ¨ÒÔÏÂÖ÷Òª¸ÅÄ

1. Á¬½Ó¡£ËùÓÐvSphere¶ÔÏóµÄ²Ù×÷¶¼½¨Á¢ÔÚÒÑÈ¡µÃvSphereÁ¬½ÓµÄ»ù´¡ÉÏ¡£

2. ±»¹ÜÀí¶ÔÏó¡£vSphere·þÎñÆ÷¶ËµÄÿ¸ö¶ÔÏóÔÚPerl SDKÖж¼ÓжÔÓ¦µÄ±»¹ÜÀí¶ÔÏó¡£

3. ±»¹ÜÀí¶ÔÏóµÄÒýÓá£Perl SDKÖÐʹÓñ»¹ÜÀí¶ÔÏóµÄÒýÓÃÀ´Î¨Ò»È·¶¨Ò»¸ö±»¹ÜÀí¶ÔÏó¡£

4. ·½·¨¡£Ã¿¸ö±»¹ÜÀí¶ÔÏó»áÌṩ0¸ö»ò¶à¸ö·½·¨£¬ÓÃÓÚ²Ù×÷¸Ã±»¹ÜÀí¶ÔÏó¡£

5. Êý¾Ý¶ÔÏó¡£Ã¿¸ö±»¹ÜÀí¶ÔÏó»á¶ÔÓ¦Ò»¸ö»ò¶à¸öÊý¾Ý¶ÔÏó£¬ÓÃÀ´ÃèÊöËûµ±Ç°µÄ״̬»òÊôÐÔ¡£

APIÌṩһ×龲̬·½·¨À´»ñÈ¡±»¹ÜÀí¶ÔÏó£º

Vim::get_view(mo_ref,view_type);

ͨ¹ý±»¹ÜÀí¶ÔÏóµÄÒýÓûñµÃ±»¹ÜÀí¶ÔÏó

Vim::get_views(mo_ref_array,view_type);

ͨ¹ýÒ»×é±»¹ÜÀí¶ÔÏóµÄÒýÓûñµÃ±»¹ÜÀí¶ÔÏó

Vim::find_entity_view(view_type,begin_entity,filter);

ͨ¹ý¹ýÂËÆ÷²éÕÒÒ»¸ö±»¹ÜÀí¶ÔÏó

Vim::find_entity_views(view_type,begin_entity,filter);

ͨ¹ý¹ýÂËÆ÷²éÕÒÒ»×é±»¹ÜÀí¶ÔÏó

±»¹ÜÀí¶ÔÏó½á¹¹Í¼£º

¶þ. ÐéÄâ»úºÍÄ£°æ

ÔÚÐéÄ⻯»·¾³ÖУ¬ÎÞÂ۵ײãÓõ½Á˶àÉÙ´æ´¢£¬¼ÆËãºËÐÄ£¬ÄÚ´æÓÖ»òÕßÊÇÍøÂç×ÊÔ´£¬ÕâЩ¶ÔÓÚ×îÖÕÓû§À´Ëµ£¬¶¼ÊÇ͸Ã÷µÄ£¬Óû§²»ÐèÒªÖªµÀËûÃǵĴæÔÚ£¬¶øÎÒÃǽ»¸¶¸øÓû§µÄ×îÖ±½ÓµÄ²úÆ·£¬¾ÍÊÇÐéÄâ»ú£¬Ã¿Ò»Ì¨ÐéÄâ»ú¶¼ºÍÕæÊµµÄ·þÎñÆ÷Ò»Ñù£¬ÓÐCPU£¬ÓÐÄڴ棬ÓÐÓ²ÅÌ£¬IPµØÖ·ÒѾ­Ô¤ÏÈÉ趨Íê±Ï£¬½»µ½Óû§ÊÖÉÏÖ®ºó£¬Óû§±ã¿ÉÒÔÁ¢¼´¿ªÊ¼Ê¹Óã¬È»¶ø·þÎñÆ÷µÄ²Ù×÷ϵͳÖÖÀàÓкܶ࣬¶ÔÓÚÓû§µÄ²»Í¬ÐèÇó£¬Ã¿´Î¶¼´ÓÁ㿪ʼ°²×°ºÍÅäÖÃһ̨·þÎñÆ÷£¬²»½öÊ®·ÖÀË·Ñʱ¼ä£¬Í¬Ê±Ò²²»Äܱ£Ö¤ÅäÖõÄÒ»ÖÂÐÔ¡£

ÔÚÕâÑùµÄÇé¿öÏ£¬Ä£°æÓ¦Ô˶øÉú£¬Æäʵģ°æ¾ÍÊÇÒ»Ì¨ÌØ¶¨µÄÐéÄâ»ú£¬×¨ÒµÈËԱͨ¹ýÔ¤ÏȰ²×°ÅäÖúôóÁ¿²»Í¬²Ù×÷ϵͳµÄÐéÄâ»ú£¬²¢½«Æäת»»ÎªÄ£°æºó£¬µ±Óû§ÇëÇóµ½À´Ê±£¬ÏµÍ³»á×Ô¶¯Ñ¡Ôñ³öºÏÊʵÄÄ£°æ£¬Í¨¹ý¿Ë¡¼°ÉÙÁ¿×Ô¶¨ÒåÅäÖ㬱ã¿É½»¸¶¸øÓû§Ê¹Ó㬲»½ö´óÁ¿µÄËõ¶ÌÁ˵Äн¨ÐéÄâ»úµÄʱ¼ä£¬»¹Äܱ£Ö¤ÅäÖõĿɿ¿ÐÔ¡£

Èý¡¢²¿ÊðеÄÐéÄâ»ú

ÈÃÎÒÃÇͨ¹ýÒ»¸ö¼òµ¥µÄʾÀý¿´¿´ÈçºÎͨ¹ýÄ£°æ¿ìËÙ´´½¨Ò»Ì¨ÐéÄâ»ú°É

a) Á¬½ÓVMWare vSphere Center SDK

my $vc_ip      = ¡­¡­;
my $vc_user = ¡­¡­;
my $vc_pass = ¡­¡­;
my $vCenterURL = 'https://' . $vc_ip . '/sdk';
Util::connect( $vCenterURL, $vc_user, $vc_pass );

b) ÕÒµ½Ö¸¶¨µÄÐéÄâ»úµÄÄ£°æ

my $vm_view = Vim::find_entity_view(
view_type => 'VirtualMachine',
filter => {'name' => ¡­¡­},
properties => ['name']
); # ²éÕÒÀàÐÍΪÐéÄâ»ú
# ͨ¹ýÃû×Ö²éÕÒ
# ´ËÏî·Ç±ØÐ룬µ«Êǽ¨ÒéÌîд£¬Èç¹û²»Ìîд½«»áµÃµ½ÍêÕûµÄ¶ÔÏó£¬ ¶øÊµ¼ÊÉ϶ÔÏóÖеĴóÁ¿ÊôÐÔ¶¼Óò»µ½£¬Ö»»á´óÁ¿Ôö¼Ó²éѯµÄʱ¼ä¡£

c) Ö¸¶¨ÐéÄâ»úµÄ¹¹½¨Î»ÖÃ

my $host_view = Vim::find_entity_view(
view_type => 'HostSystem',
filter => { 'name' => ¡­¡­ },
properties => [ 'name', 'parent', 'datastore' ]
);
my $ds_views = Vim::get_views(
mo_ref_array => $host_view->datastore,
properties => ['name']
);
my $ds_view;
foreach (@$ds_views) {
if ( ¡­¡­ eq $_->name ) {
$ds_view = $_;
last;
}
}
my $com_res_view = Vim::get_view(
mo_ref => $host_view->parent,
properties => [ 'name', 'resourcePool' ]
);
my $relocate_spec = VirtualMachineRelocateSpec->new(
datastore => $ds_view->{mo_ref},
host => $host_view->{mo_ref},
pool => $com_res_view->resourcePool
); # ²éÕÒÀàÐÍΪÖ÷»ú # ͨ¹ýÃû×Ö²éÕÒ # Ö»ÐèÒªÃû×Ö£¬¸¸ÀàºÍ´æ´¢Èý¸öÊôÐÔ # ͨ¹ý¶ÔÏóµÄÒýÓÃÄõ½¶ÔÏó±¾Éí # Ö÷»úµÄ´æ´¢ÊôÐÔΪ¸Ã´æ´¢µÄ¶ÔÏóµÄÒýÓà # Ö»ÐèÒª´æ´¢µÄÃû×Ö¼´¿É # ÓÉÓÚSDKµÄ²éѯ·½·¨Ö»Ö§³ÖÓÐÏÞµÄÁùÖÖÀàÐͶÔÏó£¬ËùÒÔÕâÀïÖ»ÄÜÊÖ¶¯±àдÂß¼­»ñµÃÃû×ÖÆ¥ÅäµÄ´æ´¢¶ÔÏó # ͬÀí£¬µÃµ½Ö÷»úµÄ¸¸Àà¶ÔÏó£¬Ö÷ÒªÊÇͨ¹ýÖ÷»ú¶î¸¸ÀàµÃµ½Ö÷»úËùÔÚµÄ×ÊÔ´³Ø¶ÔÏó£¬ ÕâÀï¿ÉÒÔ½«ÐÂÉú³ÉµÄÐéÄâ»ú²¿ÊðÔÚÖ÷»úËùÔÚµÄͬһ¸ö×ÊÔ´³ØÄÚ£¬Ò²¿ÉÒÔÁíÍâÖ¸¶¨×ÊÔ´³Ø # ¹¹½¨Õû¸öÐéÄâ»ú¹¹½¨Î»ÖÃÐÅÏ¢¶ÔÏó

d) Ö¸¶¨ÐéÄâ»úµÄÐÔÄÜÅäÖÃ

my $extra_disk_size = ¡­¡­;
my $controller;
my $devices = $vm_view->config->hardware->device;
foreach my $device (@$devices) {
my $class = ref $device;
if ( $class->isa('VirtualLsiLogicController') || $class->isa('VirtualLsiLogicSASController') 
|| $class->isa('ParaVirtualSCSIController') || $class->isa('VirtualSCSIController') ) {
	$controller = $device;
}
}
my $controllerKey = $controller->key;
my $unitNumber = $#{$controller->device}+1;

# Generate filename
my $vm_name = $vm_view->name;
my $name = "$vm_name/${vm_name}_ext";
my $vm_path = $vm_view->config->files->vmPathName;
$vm_path =~ /^(\[.*\])/;
my $file_name = "$1/$name.vmdk";

# backing info
my $disk_backing_info = VirtualDiskFlatVer2BackingInfo->new(
	diskMode => 'persistent',
	fileName => $file_name
);

# Disk for Disk Spec
my $disk = VirtualDisk->new(
	controllerKey => $controllerKey,
	unitNumber  => $unitNumber,
	key         => -1,
	backing      => $disk_backing_info,
	capacityInKB  => $extra_disk_size
);

# Get Device Spec
my $dev_spec = VirtualDeviceConfigSpec->new(
	operation => 	VirtualDeviceConfigSpecOperation
		->new('add'),
	device   => $disk,
	fileOperation => 	VirtualDeviceConfigSpecFileOperation
		->new('create')
);
my $config_spec = VirtualMachineConfigSpec->new(
	name => ¡­¡­,
	numCPUs => ¡­¡­,
	memoryMB => ¡­¡­,
	deviceChange => [$dev_spec]
);
# ÐÂÔöÓ²Å̵ĴóС
# ¿ØÖÆÆ÷
# µÃµ½ÐéÄâ·þÎñÆ÷µ±Ç°µÄÉ豸Áбí
# ÒÔÏÂÀàÐ;ùΪӲÅÌ¿ØÖÆÆ÷
# ¿ØÖÆÆ÷±êʶ·û
# Éú³ÉеÄÉ豸ÐòÁкÅ
# Éú³ÉеÄÓ²ÅÌÎļþµÄÃû×Ö
# ÅäÖÃÓ²ÅÌģʽ
# persistent±êʶ¸ÃÓ²ÅÌΪ³Ö¾Ã»¯Ó²ÅÌ£¬½«»áÔÚ¿ìÕÕÖÐÊܵ½±£»¤
# independent_persistentÈç¹û½«Ä£Ê½ÉèÖÃΪ¶ÀÁ¢Ä£Ê½£¬Ôò¸ÃÓ²Å̱仯²»»á¼Ç¼½ø¿ìÕÕ
# ¹¹½¨Ó²Å̶ÔÏó
# ¹¹½¨ÐÞ¸ÄÓ²Å̵IJÙ×÷¶ÔÏó
# ´Ë´¦ÎªÐÂÔöÓ²Å̲Ù×÷
# ´´½¨ÐµÄÓ²ÅÌÎļþ£¬ÈçÓÐÐèÒªÒ²¿ÉÒÔʹÓÃÒÑÓеÄÓ²ÅÌÎļþ
# ¹¹½¨ÍêÕûµÄÐÔÄÜÅäÖöÔÏó
# ¿ÉÑ¡£¬ÐµÄÐéÄâ·þÎñÆ÷Ãû×Ö
# ¿ÉÑ¡£¬ÐµÄCPUÊýÁ¿
# ¿ÉÑ¡£¬ÐµÄÄÚ´æ´óС£¨µ¥Î»MB£©
# ¿ÉÑ¡£¬ÆäËûÉ豸±ä¸ü£¨ÕâÀïÖ»ÐÞ¸ÄÁËÓ²ÅÌ£©

e) ×Ô¶¨ÒåÐéÄâ»úµÄ²ÎÊýÅäÖÃ(ÒÔLinuxΪÀý£¬Windows»áÂÔÓв»Í¬)

# globalIPSettings
my $customization_global_settings = CustomizationGlobalIPSettings->new(
	dnsServerList => $dns_server,
	dnsSuffixList => [$domain_name]
);
my $cust_fixname = CustomizationFixedName->new( name => $host_name );
my $cust_linuxprep = CustomizationLinuxPrep->new(
	domain     => $domain_name,
	hostName   => $cust_fixname,
	hwClockUTC => 'false',
	timeZone   => 'Asia/Shanghai'
);
my $customization_fixed_ip =
	CustomizationFixedIp->new( ipAddress => $ip_addr );
my $cust_ip_settings = CustomizationIPSettings->new(
	ip=> $customization_fixed_ip,
	dnsDomain  => $domain_name,
	gateway    => $gateway,
	subnetMask => $subnetMask
);
my $cust_adapter_mapping = CustomizationAdapterMapping->new( adapter => $cust_ip_settings );

# customization spec
my $customization_spec = CustomizationSpec->new(
	identity => $cust_linuxprep,
	globalIPSettings => $customization_global_settings,
	nicSettingMap  => [$cust_adapter_mapping]
);
# È«¾ÖÍøÂçÉèÖÃ
# ·â×°Ö÷»úÃû¶ÔÏó
# ¹¹½¨Linux×Ô¶¨ÒåÉèÖöÔÏó
# ¹¹½¨Óû§×Ô¶¨ÒåIPµØÖ·¶ÔÏó
# Óû§×Ô¶¨ÒåÍøÂçÊôÐÔµÄÆäËû²ÎÊý
# ¹¹½¨ÊÊÅäÆ÷
# ¹¹½¨ÍêÕûµÄ×Ô¶¨Òå¶ÔÏó
# ±ØÑ¡£¬×Ô¶¨ÒåÉèÖÃÐÅÏ¢
# ±ØÑ¡£¬È«¾ÖÍøÂçÉèÖÃÐÅÏ¢
# ¿ÉÑ¡£¬×Ô¶¨ÒåÍøÂçÉèÖÃ

f) ¿Ë¡²¢²¿ÊðÐéÄâ»ú

$clone_spec = VirtualMachineCloneSpec->new(
	powerOn => 1,
	template => 0,
	location => $relocate_spec,
	customization => $customization_spec,
	config => $config_spec,
);
my $task = $vm_view->CloneVM_Task(
	folder => $vm_view->parent,
	name => $vm_name,
	spec => $clone_spec
);

my $task = $vm_view->ReconfigVM_Task(
	spec => $config_spec
);

my $task = $vm_view->CustomizeVM_Task(
	spec => $customization_spec
);
# ¹¹½¨Íê³ÉµÄ¿Ë¡×Ô¶¨Òå¶ÔÏó
# ¿Ë¡Íê³ÉºóÊÇ·ñ¿ª»ú
# ¿Ë¡Íê³ÉºóеÄÐéÄâ»úÊÇ·ñÉèÖÃΪģ°æ
# ʹÓÃ֮ǰ¹¹½¨µÄλÖÃÐÅÏ¢
# ¿ÉÑ¡£¬Ê¹ÓÃ֮ǰ¹¹½¨µÄ×Ô¶¨Òå²ÎÊýÅäÖÃ
# ¿ÉÑ¡£¬Ê¹ÓÃ֮ǰ¹¹½¨µÄ×Ô¶¨ÒåÐÔÄÜÅäÖÃ
# Ö´ÐпË¡²Ù×÷
# ʹÓúÍÄ£°æÏàͬµÄÎļþ¼Ð´æ·ÅÐÂÐéÄâ»ú
# ÉèÖÃеÄÐéÄâ»úÃû×Ö
# ʹÓÃ֮ǰ¹¹½¨Íê³ÉµÄ¿Ë¡×Ô¶¨Òå¶ÔÏó
# ³ýÁËÔÚ¿Ë¡µÄʱºòÖ±½ÓÖ¸¶¨ÐÔÄÜÅäÖÃÍâÒ²¿ÉÒÔÔÚÈÎÒâʱºòÖØÐÂÅäÖÃÐéÄâ»úÐÔÄÜÅäÖÃ
# ³ýÁËÔÚ¿Ë¡µÄʱºòÖ±½ÓÖ¸¶¨ÐÔÄÜÅäÖÃÍâÒ²¿ÉÒÔÔÚÈÎÒâʱºòÖØÐµ÷Õû×Ô¶¨Òå²ÎÊýÅäÖÃ

g) ¶Ï¿ªvcÁ¬½Ó

Util::disconnect();

Èý¡¢ÐéÄâ»úµÄµçÔ´¹ÜÀí

$vm_view->PowerOnVM_Task();
$vm_view->PowerOffVM_Task();
$vm_view->ShutdownGuest();
$vm_view->ResetVM_Task();
$vm_view->RebootGuest();
$vm_view->SuspendVM_Task();
$vm_view->StandbyGuest(); # ¿ª»ú # ¹Ø»ú£¬µÈͬÓڰεçÔ´ # ¹Ø»ú£¬´Ó²Ù×÷ϵͳ¹Ø»ú£¬ÐèÒª°²×°VMTool # ÖØÆô£¬µÈͬÓÚÖØÆô°´Å¥ # ÖØÆô£¬ÓɲÙ×÷ϵͳʵÏÖ£¬ÐèÒª°²×°VMTool # ÔÝÍ£ÐéÄâ»ú # ´ý»ú£¬ÓɲÙ×÷ϵͳʵÏÖ£¬ÐèÒª°²×°VMTool

¡¡ËÄ¡¢ÐéÄâ»úµÄ¿ìÕÕ¹ÜÀí

$vm_view->CreateSnapshot_Task(
	name     => $ss_name,
	description => $desc,
	memory   => $memory,
	quiesce   => $quiesce
);
$ss_view->RemoveSnapshot_Task(
	removeChildren => 0
);
$vm_view->RemoveAllSnapshots_Task();
$ss_view->RenameSnapshot(
	name     => $ss_name,
	description => $desc
);
$ss_view->RevertToSnapshot_Task();
$vm_view->RevertToCurrentSnapshot_Task();
# ´´½¨¿ìÕÕ
# ¿ìÕÕÃû×Ö
# ¿ÉÑ¡£¬¿ìÕÕÃèÊö
# ¾ö¶¨¿ìÕÕÊÇ·ñ°üÀ¨ÔËÐÐʱÄÚ´æ×´Ì¬
# Èç¹ûΪture»áÏȽ«ÐéÄâ»úÔÝÍ£ÔÙ×ö¿ìÕÕ
# ÓÉ¿ìÕÕ¶ÔÏó´¥·¢É¾³ý²Ù×÷
# ¾ö¶¨ÊÇ·ñ½«ËùÓÐ×Ó¿ìÕÕÈ«²¿É¾³ý
# ÓÉÐéÄâ»ú¶ÔÏó´¥·¢²Ù×÷£¬É¾³ýÈ«²¿¿ìÕÕ
# ÓÉ¿ìÕÕ¶ÔÏó´¥·¢£¬ÖØÃüÃû¿ìÕÕ
# ¿ìÕÕÃû×Ö
# ¿ÉÑ¡£¬¿ìÕÕÃèÊö
# ÓÉ¿ìÕÕ¶ÔÏó´¥·¢£¬»Ö¸´µ½¸Ã¿ìÕÕ״̬
# ÓÉÐéÄâ»ú¶ÔÏó´¥·¢£¬»Ö¸´µ½µ±Ç°¿ìÕÕ

Î塢ɾ³ýÐéÄâ»ú

$vm_view->Destroy_Task();
# Ïú»ÙÑ¡¶¨µÄÐéÄâ·þÎñÆ÷¶ÔÏó

Áù¡¢ÈÎÎñ½ø¶È¹ÜÀí

ÔÚÕû¸öÐéÄ⻯¹ÜÀíµÄÉúÃüÖÜÆÚÖУ¬¾ø´ó¶àÊýÈÎÎñµÄÔËÐÐʱ¼ä¶¼±È½Ï¶Ì£¬»ù±¾¿ÉÒÔºöÂÔ²»¼Æ£¬µ«ÈÔÓÐÉÙÊýÈÎÎñ»á»¨·Ñ±È½Ï¶àµÄʱ¼ä£¬ÄÇôÈÎÎñµÄ½øÕ¹×´Ì¬µÄ¼à¿Ø¾ÍºÜÓбØÒªÁË¡£

VMWare Perl SDKËùÌṩµÄ´ó²¿·Ö·½·¨¶¼»á·µ»ØÒ»¸öTask¶ÔÏó£¬ÎÒÃÇ¿ÉÒÔͨ¹ý¸ÃTask¶ÔÏóÁ˽âÕû¸öÈÎÎñµÄÔËת״̬¡£ÕâÀï½öÁоÙÁ˲¿·Ö³£ÓòÎÊý£¬¸ü¶à²ÎÊýÇë¼û¹Ù·½Îĵµ¡£

$task->info->state->val
$task->info->progress
$task->info->result
$task->info->reason
$task->info->cancelled
$task->info->cancelable
# ÈÎÎñµÄµ±Ç°×´Ì¬£¬ÓÐËÄÖÖ¿ÉÄܵÄÖµ£¬·Ö±ðÊÇsuccess,running,queued,error
# ÒÔ0µ½100µÄÕûÊýÃèÊöÈÎÎñ½ø¶ÈÇé¿ö
# µ±ÈÎÎñ״̬Ϊsuccessʱ£¬±£´æÈÎÎñ·µ»ØÖµ
# µ±ÈÎÎñ״̬Ϊerrorʱ£¬±£´æ´íÎóÔ­Òò
# ±êʶÈÎÎñÊÇ·ñÊÇÖ÷¶¯È¡Ïû
# ±êʶ½øÐÐÖÐÈÎÎñÊÇ·ñ¿ÉÒÔÈ¡Ïû

Æß¡¢³£¼ûÎÊÌâµÄ½â¾ö·½·¨

a) Customization of the guest operating system ¡®rhel4_64Guest¡¯ is not supported in this configuration.

²»Í¬µÄ²Ù×÷ϵͳ¶Ô×Ô¶¨Òå²ÎÊýÅäÖù¦ÄܵÄÖ§³Ö³Ì¶ÈÒ²²»Ò»Ñù£¬²¿·Ö²Ù×÷ϵͳĿǰµÄÈ·²»Ö§³Ö×Ô¶¨Òå²ÎÊýÅäÖ㬲»¹ýÒ²¿ÉÄÜÊÇÒòΪVM Tool°æ±¾¹ýµÍµ¼Öµģ¬¶ÔÓÚȷʵ²»Ö§³ÖµÄ²Ù×÷ϵͳ£¬Ö»ÄÜÑ¡ÔñÆäËû·½·¨À´Ð޸IJÎÊýÁË¡£

b) ÕÒ²»µ½¿ÉÓõĴ洢´ÅÅÌ

ÔÚÒ»¸ö´ó¹æÄ£²¿ÊðµÄÐéÄ⻯»·¾³ÖÐͨ³£»á½«ÐéÄâ»úÎïÀíÎļþ´æ´¢ÔÚרÓõÄÍøÂç´ÅÅÌÉÏ£¬ÒÔ±ãÓÚ²»Í¬µÄÖ÷»ú¾ùÄÜ·ÃÎÊÕâЩ´ÅÅÌ£¬µ«ÊÇÿ¸öÖ÷»úͬʱҲ»áÓÐ×Ô¼ºµÄ±¾µØ´ÅÅÌ£¬¶øÕâЩ´ÅÅÌÊÇÎÞ·¨±»ÆäËûÖ÷»ú·ÃÎʵģ¬ËùÒÔÔÚÑ¡Óô洢ʱ£¬×¢ÒⲻҪʹÓò»Í¬Ö÷»úÉϵı¾µØ´ÅÅÌ£¬½¨Òé×îºÃ²»Òª½«ÕâЩ±¾µØ´ÅÅÌ×÷ΪÐéÄâ»úµÄÔØÌåʹÓá£

c) ×Ô¶¨ÒåµÄIPµØÖ·Ã»Óгɹ¦ÅäÖõ½ÐéÄâ»úÖÐ

Ôì³ÉÕâ¸öÎÊÌâµÄÖ÷ÒªÔ­Òòͨ³£ÊÇÍøÂç»·¾³ÖÐÓÐÆäËû»úÆ÷ÒѾ­Ê¹ÓÃÁËÄã×¼±¸ÅäÖõÄÕâ¸öIP£¬µ¼ÖÂIPµØÖ·³åÍ»¡£

¶ÔÓÚWindows Vista¼°ºóÐø°æ±¾µÄWindows²Ù×÷ϵͳ£¬²Ù×÷ϵͳδ¼¤»îÒ²¿ÉÄܵ¼ÖÂ×Ô¶¨²ÎÊýÅäÖÃʧ°Ü¡£

d) ûÓпÉÓõÄÖ÷»ú

ÇëÃÜÇйØ×¢Õû¸öÐéÄ⻯»·¾³µÄ°²È«×´¿ö£¬ÈκÎÍøÂç»òÅäÖÃÒì³£µ¼ÖµÄÖ÷»úʧÁª¶¼»áµ¼ÖÂPerl SDK APIµÄÔËÐдíÎó¡£

e) Ö÷»úÔÚ³¢ÊÔÌṩ vSphere HA Ö§³Öʱ±¨¸æ´íÎó

Ö÷»ú¼¯ÈºÅäÖÿÉÄÜÓÉÓÚÍøÂçµÄ²»Îȶ¨£¬IPµØÖ·³åÍ»µÈÎÊÌâµ¼Ö²»¿ÉÓã¬ÐèÒª¼°Ê±ÐÞ¸´ÐéÄ⻯»·¾³ÖеÄÕâЩÎÊÌ⣬²»È»£¬ÎÞ·¨ÔÚÕâЩÓÐÎÊÌâµÄÖ÷»úÉÏͨ¹ýAPIÖ´ÐÐÈκβÙ×÷¡£

°Ë¡¢×ܽá

±¾ÎÄͨ¹ý¼òµ¥µÄʾÀý½²½âÁËÈçºÎͨ¹ýVMWare Perl SDK¶ÔÐéÄâ»úµÄÕû¸öÉúÃüÖÜÆÚ½øÐйÜÀí£¬»¹½²½âÁËÈçºÎ²Ù×÷µçÔ´Ïà¹Ø¹¦Äܼ°¿ìÕÕ¹ÜÀí£¬×îºó¼òµ¥½â´ðÁËһЩ³£¼ûµÄ´íÎó½â¾ö·½·¨£¬Êµ¼ÊÉÏVMWare Perl SDKËùÌṩµÄ¹¦ÄÜÔ¶²»Ö¹Èç´Ë£¬Ï£Íûͨ¹ý±¾Îĵļòµ¥½éÉÜÄܹ»ÈÃÄú¶ÔVMWare Perl SDKÓиö´óÖµÄÁ˽⣬²¢ÔÚÓÐÏ޵ŦÄÜ·¶Î§ÄÚÄܹ»°ïÖúÄú¿ìËٵĹ¹½¨ÐéÄâ·þÎñÆ÷×Ô¶¯»¯¹ÜÀíµÄÏà¹ØÓ¦Ó㬸ü¶à¹¦ÄÜ»¹Çë²Î¿¼VMWare¹Ù·½Îĵµ¡£ÁË½â²¢ÕÆÎÕÕâЩ¼¼ÇÉ£¬¿ÉÒÔ°ïÖú¿ª·¢ÈËÔ±»ùÓÚVMWare Perl SDKµÄ¿ª·¢Äܹ»¹ÜÀíÊý¾ÝÖÐÐĵĻù´¡ÉèÊ©£¬²¿Êð²¢¹¹½¨×Ô¼ºµÄÔÆÆ½Ì¨¡£

   
2985 ´Îä¯ÀÀ       33
 
Ïà¹ØÎÄÕÂ

ÔÆ¼ÆËãµÄ¼Ü¹¹
¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
Á˽âÔÆ¼ÆËãµÄ©¶´
 
Ïà¹ØÎĵµ

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
ÈídzÎöÔÆ¼ÆËã
 
Ïà¹Ø¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

ר¼ÒÊӽǿ´ITÓë¼Ü¹¹
Èí¼þ¼Ü¹¹Éè¼Æ
ÃæÏò·þÎñÌåϵ¼Ü¹¹ºÍÒµÎñ×é¼þµÄ˼¿¼
ÈËÈËÍøÒÆ¶¯¿ª·¢¼Ü¹¹
¼Ü¹¹¸¯»¯Ö®ÃÕ
̸ƽ̨¼´·þÎñPaaS
Ïà¹ØÅàѵ¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
Windows Azure ÔÆ¼ÆËãÓ¦ÓÃ

ĦÍÐÂÞÀ­ ÔÆÆ½Ì¨µÄ¹¹½¨ÓëÓ¦ÓÃ
ͨÓù«Ë¾GE DockerÔ­ÀíÓëʵ¼ù
ijÑз¢ÖÐÐÄ Openstackʵ¼ù
ÖªÃûµç×Ó¹«Ë¾ ÔÆÆ½Ì¨¼Ü¹¹ÓëÓ¦ÓÃ
ijµçÁ¦ÐÐÒµ »ùÓÚÔÆÆ½Ì¨¹¹½¨ÔÆ·þÎñ
ÔÆ¼ÆËãÓëWindows AzureÅàѵ
±±¾© ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ