Uploading VMs Manually via Cloud Folders
The VM Upload workflow offers you the ability to upload your own customized virtual machines to your new or existing CloudShare environment. The main purpose of VM Upload with combination of VM Export is to provide complete VM portability. These features offer great flexibility as they allow you to share your externally configured VM with your organization, project members or end users in the Cloud or export to on-premise and offline use.
VM Upload Workflow Overview
The following steps describe the technical specifications and pre-requisites to create, package and upload the VM using CloudShare's "VM Upload" workflow.
- Prepare your VM locally
- Supported Format: Export your local image to OVF (recommended and preferred format) or OVA for single file upload (Do not use for images that have larger than 12GB of disk size)
- Export using VMware based products (Worksation, ESX, vCenter Server, Fusion)
- Hardware version: 4 through 11 are supported.
- VM Name: Should contain a minimum of 4 characters. Do not use symbols in the name or less than 4 characters
- CPU: VM may have up to 4 CPUs
- Disks: Supports at least 1 disk, SCSI only
- Network adapters: Up to 10, use only VMXnet3 driver
- Make sure you remove any ‘Floppy’ and ‘CDROM’ drives from the VM definition
- VM CPU ID Mask: must not be set to AMD processor
- VMware Tools must be installed and enabled
- You must change the "VMware Tools update" option to "manual"
- Using the "Multi-part Zip Archive" to package your OVF image - for OVA skip to next step
- Prepare Instructions Using Windows Host:
- Copy the script and executable files at the bottom of this article to your PC locally (e.g. c:\MultipartZip)
- Rename the folder of your exported OVF package using the identical name of the .ovf file without the extension
- Run ovf_cloudshare.bat from command prompt's script folder (e.g. C:\MultipartZip>ovf_cloudshare.bat)
- Provide the full path of the directory created containing the exported .ovf and .vmdk files, ensuring that you exclude any quotes(e.g. C:\Windows 8x64)
- Note: When the script completes execution, you will find a subfolder named upload located in your exported ovf directory
- Prepare Instructions Using Linux Host:
- Install p7zip from here
- Install support of 32bit app in 64bit machines
- CentOS - 'yum install ld-linux.so.2'
- Ubuntu - 'apt-get install libc6-i386'
- Important! No spaces allowed in folder/file name
- Copy the script named ovf_cloudshare.sh at the bottom of this article to your PC locally
- Rename the folder of your exported OVF package using the identical name of the .ovf file without the extension
- Run ovf_cloudshare.sh from command prompt's script location
- Provide the full path of the folder created containing the exported .ovf and .vmdk files, ensuring that you exclude any quotes
- Note: When the script completes execution, you will find a subfolder named upload located in your exported ovf directory
- Prepare Instructions Using Windows Host:
- Upload your VM to CloudFolder
- From your CloudShare Dashboard, navigate to Cloud Folders tab, and make a note of your FTP host and your credentials
- Expand the "Upload your own virtual machine" section and Validate the image
- Using the FTP host and credentials you copied, begin transferring the image (note: if you used the Multi-Part Zip Archive, transfer the directory named "upload" as noted in the previous step. Otherwise use the set of OVF files or the OVA image you created to begin the transfer.
- Import your VM from CloudShare Cloud Folder into a CloudShare Environment
- Configure your VM Networking and User Access in the CloudShare Environment
- Take Snapshot to save your work from CloudShare
Prepare your VM locally
In order to upload a VM you need to have a VM image in one of the following formats prepared for portability:
- OVF (preferred format) - Complete VM package contains a minimum of three files: <vm_image>.ovf, <vm_image>disk#.vmdk, <vm_image>.mf)
- OVA (is a single Tarball file which contains individual files that make up the package)
- Created using VMware infrastructure (Workstation, ESX, vCenter Server, Fusion)
- Hardware version 4 through 11 are supported.
Your guest OS should be one of the following:
Linux flavors:
- CentOS
- Ubuntu
- SUSE
- Red Hat
- Solaris
Windows versions:
- Windows Server 2003 R2 (32-bit)
- Windows Server 2003 R2 (64-bit)
- Windows Server 2008 (32-bit)
- Windows Server 2008 (64-bit)
- Windows Server 2008 R2 Enterprise SP1 (64-bit)
- Windows Server 2012 (64-bit)
- Windows Server 2012 R2 (64-bit)
- Windows Server 2016 Tech Preview
- Your VM CPU ID mask must not be set to use an AMD processor
- VMware Tools must be installed on your VM
Virtual Hardware Specification
- CPU: VM may have up to 4 CPUs
- Disks: VM must have at least 1 attached disk. (The VM can include more than 1 disk but you will not be able to change the disk size of the additional drives after uploading the VM to CloudShare)
- Network adapters: VM may have up to 10 network adapters
- CPU, RAM, Disk size – Totals should not exceed your CloudShare hardware quota as agreed upon in your contract
Additional requirements
The following requirements ensure higher performance and better compatibility when running on CloudShare’s service:
- Set screen resolution to 1024 x 768
- Install latest Windows updates and disable Windows auto-update
- Allow Remote Desktop connectivity (Computer Properties > Advanced > Remote)
- Add the Administrator account to the Remote Users Group (if you have other users, you may need to add them as well)
- Set desktop visual effect to “best performance”
- Set wallpaper to a single solid color
- Set classic start menu (for applicable Microsoft operating systems)
- Disable 3D graphics support
- Disable sound over Remote Desktop connection
- Disable automatic sleep or hibernate mode
- Disable automatic power off for the display and hard disk
- Disable the Internet Explorer enhanced security mode
- Turn off screensaver
- Disable Windows Firewall (alternatively you can add an exception for RDP access on ports 443, 3389)
VMware Workstation instructions
Pre-requisite 1: You must change the "VMware Tools update" option to "manual":
***Right-click the virtual machine in Workstation and click Edit Settings --> In the Options tab, change the VMware Tools update option from Use application default to "Manual".*** For more information, please see this article.
Pre-requisite 2: Your VM's name must consist of 4 or more characters. Use the right click > rename prior to exporting the image.
Step #1 – Clone the snapshot you want to upload (the following steps may be different depending on the version of VMware Workstation you are using):
To create a fully independent copy of a virtual machine from a snapshot, you must make a clone. Note: The snapshot must be from a virtual machine that is powered off. You cannot make a clone from a snapshot of a virtual machine that is powered on.
- In VMware workstation, choose VM > Snapshot > Snapshot Manager
- Select the snapshot to clone
- Click Clone (There is an option to make linked clones or full clones. Please select full clone)
- Click OK in the confirmation dialog box
- In VMware workstation, choose File -> Import or Export (This will start a conversion wizard)
- Source Type = other
- Choose the .vmx file of your clone
- Choose all disks and maintain size
- Destination Type = virtual appliance
- Create a name and choose a location
- File Options = choose single file (*.ova) or multiple files (*.ovf)
- Finish
VMware ESX Instructions
- In VMware Virtual Center, choose File -> Export -> Export OVF Template…
- Create a name for your image
- Choose a destination directory
- Choose single file (*.ova) or multiple files (*.ovf)
- Finish
Package your VM
CloudShare supports VM Upload with multi-part zip archive using the open-source application 7-zip. This method splits the large OVF package into many smaller parts (chunks of 2GB each) which results in a faster, more efficient and more reliable upload transfer. In addition, if a corruption or failure is reported, you will only need to re-upload the affected zip file(s).
- Copy the script and executable files attached within this article to your PC locally (e.g. c:\MultipartZip)
- Rename the folder of your exported OVF package using identical name of .ovf file without the extension
- Run ovf_cloudshare.bat from command prompt's script folder (e.g. C:\MultipartZip>ovf_cloudshare.bat)
- Provide the full path of the directory created containing the exported .ovf and .vmdk files, ensuring that you exclude any quotes(e.g. C:\Windows 8x64)
- Note: When script completes execution, you will find a subfolder named "upload" located in your exported ovf directory
Upload your VM
All registered Project Members will have access to a dedicated personal Cloud Folder and a Project Folder for each project of which you are a member. To find your Cloud Folder details, login to your CloudShare account and browse to your “Cloud Folders” tab.
- When configuring your FTP client of choice, make sure to use FTP passive connection mode
- Note to users who are still using the old UI with separate "Run and Create" options under Environments: Do not to upload the VM image to a Project Folder, importing from here is only available for user who are setup with the new UI. Upload you VMs to your personal Cloud Folder instead.
- It is recommended to validate that your VM format is supported by using our OVF validation tool prior to transferring the image
- Once your VM was validated successfully, you can start uploading your VM using the FTP client of your choice that supports resume on failed transfers
- We generally see the file transfer fail when customers use wireless connections. We highly recommend that you disable wireless connection and use wired connection before you begin the transfer
- Also, if you are using laptop computers to upload, then please disable power management so there are no interruptions during transfer
- Another important tip is to disable timeout settings on Client FTP application
Import your VM from CloudShare Cloud Folder
- Import to an existing environment
- Import to a new environment
Alternatively, Use Environment -> Create Environment -> Create a Custom Environment,
-
- VM name
- Description
- Administrator username
- Administrator Password
- Operating system family (Windows or Linux)
Note: Since the import process might take a long time (up to few hours), you are requested to extend the environment so it will have at least 5 hours of remaining time until its expiration, otherwise the environment might be deleted and the import process will be aborted. Once the import process is completed, an e-mail will be sent to your e-mail address as configured in your CloudShare’s account (your CloudShare account name). If this step was successful, you are ready for the last step – Configuring your VM.
To configure the VM networking, follow these steps:
- Click on the relevant VM or choose a node from the drop down menu
- Select the “more details” link of the network adapter you want to configure
- Select the relevant Network the VM should be connected to
- Configure the IP the machine will have – this IP should be on the relevant network
- Use the Confirm Changes button to save these changes
- Connect to the VM using console access to configure the IP, default gateway and DNS settings on the VM itself. The default gateway IP will be the first IP in the subnet - xxx.xxx.xxx.1
NOTE: For Linux OSs, if your VM has a specific MAC set, when configuring your network in the CloudShare UI, we will add a new NIC with a new MAC. Please update the MAC in the guest OS accordingly. If you require a specific MAC to be set, please contact support@cloudshare.com.
User credentials
You were asked to enter the administrator credentials during the import. If for some reason the user credentials were not correct you will see a notification in the environment details page:
In order to fix this you should select the environment Edit Environment button > Edit users & access:
Take Snapshot to save your work from CloudShare
IMPORTANT: In order to save your work you will need to take a snapshot
What’s Next?
Once you have a snapshot of the environment, you can then use CloudShare’s great features to create and share environments. In addition, you can copy your environments, and then customize each environment based on your requirements.
You will be able to use the uploaded VM files, importing them to other environments or use the Copy VM feature.
CloudShare continuously adds functionality to its service but we are especially proud of the VM upload feature and are sure you will enjoy the benefits that it upload provides. Our features make CloudShare the easiest way to bring your business applications to the Cloud.
Comments
1 comment
Hi guys,
I noticed that there's no guide about importing vm's that was created on VirtualBox to CloudShare.
I did a little research and came up with these findings:
Here are some useful links:
http://www.virtualbrigade.com/2015/04/import-virtual-machine-running-in.html
http://www.itsecurenet.com/virtualbox-ova-to-vsphere-ovf/
http://datos.asia/2013/04/09/migrate-from-virtualbox-to-vsphere-5-1-vmware/
For my specific case, those are the changes i did:
I wanted to import a CentOS 6.6 machine that was created on VirtualBox to CloudShare. I had to change the OVF file as follow (With text editor - Notepad ++):
1)
Original - (this is happening on every import, that is why i think it would be a bit problematic to support virtualbox imports)
vssd:VirtualSystemTypevirtualbox-2.2/vssd:VirtualSystemType
Changed
vssd:VirtualSystemTypevmx-07/vssd:VirtualSystemType
2)
Original
rasd:ResourceSubTypeAHCI/rasd:ResourceSubType
rasd:ResourceType20/rasd:ResourceType
Changed
rasd:ResourceSubTypelsilogic/rasd:ResourceSubType
rasd:ResourceType6/rasd:ResourceType
3)
Original
OperatingSystemSection ovf:id="80">
<Info>The kind of installed guest operating system</Info>
<Description>RedHat_64</Description>
<vbox:OSType ovf:required="false">RedHat_64/vbox:OSType
</OperatingSystemSection>
Changed
<OperatingSystemSection ovf:id="107" vmw:osType="centos64Guest">
<Info>The kind of installed guest operating system</Info>
<Description>CentOS 4/5/6/7 (64-bit)</Description>
</OperatingSystemSection>
The Main Problem was with this line:
<Disk ovf:capacity="22298625696" ovf:diskId="vmdisk1" ovf:fileRef="file1" ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized" vbox:uuid="ebb0ab8d-874e-49f1-85e6-5dec53b94707"/>
Changed the capacity to - ovf:capacity="22298626048" - had to use OVF Tool, which was the only tool helped to determine the Delta between the VirtualBox Capacity calculation to the vSphere
** But you can just increase size randomly without using OVF tool to calculate the delta.
(The VirtualBox and The Vmware (tried Workstation and vSphere) apparently have a different way to calculate it
Please sign in to leave a comment.