question
- The operation and maintenance personnel go to the customer's site to deploy application services. The customer is
windows server
the server (the customer does not want to buy a new machine), and our program runs inlinux
the system (in factwindows
, it is also possible, mainly to maintain a consistent environment in various places to facilitate updates and troubleshoot problems) - We use
VirtualBox
the virtual machine tool to create a new virtual machine,CentOS7
install all middleware and programs, and export it as an ova image file (relatively large, 11G) - The operation and maintenance personnel bring
VirtualBox
the installation package,winscp
installation package, andova
image files to the customer's site for implementation (the public security intranet is not allowed to connect to any external network, and can only bring a U disk to the site for deployment) - Install first
VirtualBox6.1.36
, then importova
the file, but the import is not successful. There is no detailed error message when importing a virtual machine, only the classicE_INVALIDARG (0x80070057)
solve
-
This error message is very familiar, I have encountered it before, and I have dealt with it. It takes a lot of time to process each time, this time too, here is a summary record
-
It was the first time I encountered it.
windows server 2008
I tried various methods, but I couldn’t solve it. The version was too low. I asked the operation and maintenance to redo the system and installed itwindows server 2012
(because many customer system versions are relatively low, some of them are from 2012). Importing the virtual machine no longer reports an error, solve it, you can check the operating system version before importing
-
The second time, it was a problem of the number of CPUs. It was deployed on an older PC with only one CPU. Because the original virtual machine of the exported ova was set to 6 CPUs, it was not modified during import and an error was reported. On the import interface, double-click to edit the number of cpus to 1, and the import is successful. Before importing, you can check the number of CPUs and memory size of the local machine. If the number of CPUs and memory size exceed the host machine, the import cannot be successful. You can find it through the task manager.
-
The third time, a colleague tested the import on his own computer, but the import failed, and finally found out that it was a permission problem. Close virtualbox, right-click to open with administrator user rights, and then import, it is successful
-
The fourth time, this time, I was busy for several hours. The operating system is windows server 2012, and the VirtualBox is 6.1.36, but the import is unsuccessful. I tried various methods on the Internet, but it didn’t work. So I chose the alternative solution and installed vmware on the computer, but the result indicated that some windows installation updates were missing, downloaded it, copied it in and installed it successfully. The ova file import was finally successful, but the virtual machine failed to start
-
After checking the logs, the metadata of the centosxfs file is wrong. It is suspected that the file is damaged and the ova file is incomplete.
XFS (dm-0):metadata I/O error in"xfs_trans_read_buf_map" error 117
-
This ova file is copied from the company computer to a USB flash drive, and then deployed on site by the customer. So I found a file verification tool, and md5ed the files in the company and the files at the customer's site, and they were inconsistent. It may be that the U disk problem caused the file to be damaged, so it could not be imported. Put the ova file on the network disk, and after the operation and maintenance personnel re-downloaded it, the hash was indeed the same (Hasher Lite was used), and the import was successful
References to other possible causes
- Referring to this lesson, if it is a copied ova file, first do the md5 check to see if it is consistent with the original file.
- If there is a specific error report, it can be processed according to the error message. This is the most direct and quickest way, but many times it does not return an effective error report, which is a headache.
- If no error is reported, first check whether the number of CPUs and memory size exceed the limit, and whether the disk space of the folder to be installed is sufficient
- You also need to check whether the version of the operating system is too low, or too low. According to the operating system, you also need to check the version of virtualBox. The older operating system cannot use the newer version of virtualBox. I still use 6.1. My experience is that the operating system windows server 2008 is not available, and 2012 and above are no problem.
- It is also possible that the import failed before. In the virtualbox tool, there are virtual media that failed to import and need to be cleared. The top toolbar management - virtual media management, delete the existing ones (confirm that you just failed to import, don't delete other ones that are in normal use)
- It may also be related to the folder to be imported, for example, the folder is not empty, or something was written to the folder when the import failed.
- There is also a simple and rude trick, delete virtualBox, then delete the two related folders, restart the computer, reinstall virtualBox, and then import it