How to Recover ZVOLs and LXC Containers from a RAIDZ Array in Proxmox VE
In this article, we will examine the process of recovering virtual machines stored as ZVOL block devices and LXC containers from a RAIDZ software array based on the ZFS file system, created in Proxmox Virtual Environment version 9.1.1.

- How ZFS Works in Proxmox
- How to Connect Server Disks to a Computer
- How to Recover Data from RAIDZ in Proxmox VE
- Conclusion
- Frequently Asked Questions
- Comments
We will analyze the most common data loss scenarios. These include accidental deletion of important files inside the guest system or the mistaken deletion of the virtual machine itself or the container dataset. We will also consider data recovery in the event of hardware issues, such as array damage caused by drive failure or a general server malfunction. We will also address software failures, for example, a Proxmox VE hypervisor crash caused by failed updates, critical errors, or corruption of the system partition.
We will show how to correctly remove the disks from a failed array, connect them directly to a working PC, automatically assemble the RAIDZ array, and recover your data.
Our specialized software allows you to recover data from any guest file systems for Windows, Linux, and macOS without issues.
Proxmox ZFS Data Recovery: Recover ZVOLs, VMs and LXC Containers
How ZFS Works in Proxmox
The ZFS file system in a Proxmox environment differs fundamentally from traditional solutions such as Ext4. Instead of creating a standard directory and placing conventional virtual disk files there, ZFS is tightly integrated with the hypervisor at the storage management level. This provides high performance and reliability, but it completely changes the approach to data storage and retrieval.
- For full-featured virtual machines, Proxmox does not use the familiar qcow2 or RAW image files. The system creates special dedicated block devices for them called ZVOL. Data recovery software sees them not as separate files in a folder, but as complete physical drives. This approach allows the hypervisor to work more efficiently with snapshots and server resource allocation.
- For lightweight LXC containers, a somewhat different approach is used. Instead of creating virtual disks, Proxmox deploys each container in its own isolated ZFS dataset, known as a subvolume. When scanning the array, these datasets will appear as ordinary folders with a standard Linux system directory hierarchy inside, from which the required files can be extracted directly.
| Characteristic | Virtual Machines (ZVOL) | LXC Containers (subvolume) |
|---|---|---|
| Storage method | Dedicated ZVOL block devices | Separate ZFS datasets |
| Data organization | Data is stored as a block device that operates like an independent drive | Data is organized as a file system with a Linux directory hierarchy |
| Virtual disk format | Standard qcow2 or RAW image files are not used — ZVOLs are created instead | No separate virtual disk file is required |
| How they appear during recovery | As a single block device, similar to a physical drive | As folders with files and subfolders |
| File access | The contents of the block device must be analyzed to determine the file system structure | The directory structure can be browsed, and the required files can be extracted directly |
| ZFS usage specifics | Efficient block storage management and snapshot support | Isolated storage of each container file system |
| Main recovery object | Virtual disks and data inside ZVOLs | Files, folders, and data of LXC containers |
How to Connect Server Disks to a Computer
Before starting software-based recovery, we need to connect the server disks to a working computer correctly. The most reliable option is a direct connection through the SATA connectors on the motherboard.
Since we are dealing with server drives, they may use the SAS interface. In that case, an appropriate SAS controller must be installed to read them on a standard computer. External USB adapters or docking stations can also be used, but it should be noted that the scanning speed of large arrays over USB will be significantly lower.
When connecting the drives, it is important to remember the minimum number of drives required to work with RAIDZ1 arrays. Since this array architecture allocates space for one parity block, the software can fully reconstruct the data even if one physical drive is missing.
In our case, the original pool consisted of three drives. Therefore, to successfully extract all data, it will be sufficient to connect only two working drives to the computer.

If there are not enough available ports, the optimal solution is to create virtual images of some of the drives. You can connect some physical drives directly and use exact bit-for-bit copies of the others, mounted directly in the utility interface.
The software recognizes such images as full physical devices and automatically uses them to reconstruct the array structure. This method ensures the safety of the original data, since further analysis is performed on virtual copies. After all pool components are connected physically or mounted as images, Hetman RAID Recovery will automatically read the ZFS metadata and display the assembled array in the main window, providing access to further scanning and file saving.
To create an image, launch Hetman RAID Recovery, select the required drive from the list, and click Save disk.

In the window that appears, specify the file save location.
Note that the image size will be equal to the full capacity of the source drive, regardless of how much of it is used. Therefore, make sure in advance that the target drive has enough free space.
After the image is saved, go to the main menu and select Mount disk.

In the list of types, select Raw disk images and load your file.

It will appear in the list of devices alongside the physically connected drives. If there are several problematic drives, repeat this procedure for each one.
After all pool components are connected physically or mounted as images, Hetman RAID Recovery will automatically read the ZFS metadata and display the assembled array in the main window, providing access to further scanning and file saving.

How to Recover Data from RAIDZ in Proxmox VE
METHOD 1. Automatic Data Recovery
After physically connecting the drives to the computer, launch Hetman RAID Recovery.
The utility will automatically begin scanning all connected devices and read the service metadata of the ZFS file system. Based on this data, the program will reconstruct the damaged RAIDZ array independently. This process is fully automatic and allows you to regain access to the data even after a fatal Proxmox hypervisor crash or a complete server hardware failure.

In the main window, you will see all detected arrays. Select your assembled pool and start the Fast Scan mode for a quick analysis of the storage structure.

After the scan is complete, the recovered file system will be displayed in the main window. Here it is important to understand how the program labels different types of Proxmox virtual environments. Block devices of full-featured virtual machines will be displayed with the vm identifier and the word disk in the name, and will be marked as ZVOL volumes. Isolated datasets of your LXC containers will be shown by the program as ordinary folders with the word subvol.

To automatically recover data from a container, you only need to find the folder with the corresponding number of your LXC and open it.
Since containers are stored as file system datasets, inside this folder you will see the standard Linux system directory hierarchy. You can easily navigate between directories and search for the required user files, databases, or configurations. Select the required objects for saving and click the Recovery button on the toolbar.

On the next step, the program will prompt you to specify a path for saving the files. Be sure to choose a separate drive with sufficient free space to avoid overwriting the original data on your server disks. Confirm the start of the copying process, and the utility will safely transfer the selected files from the container to your local drive.

After the operation is complete, all recovered data will be fully ready for further use without the need for mounting or any other additional actions.
METHOD 2. Working with Virtual Machines (ZVOL)
Recovering data from full-featured virtual machines requires a different approach. Since Proxmox stores them not as ordinary files, but as dedicated ZVOL block devices, the program will work with them on the same principle as with physical drives. To extract data from the guest operating system, we need to export this block device, mount it, and scan it.

When analyzing the pool, find the required ZVOL block device and save it to your computer using the Recovery function.

The utility exports this object in RAW format. This format is an exact byte-for-byte copy of the data and has no complex internal structure or compression. As a result, it delivers maximum performance and is the most convenient object for recovery algorithms, which can analyze it like a standard physical disk.
The procedure for mounting the saved file is as simple as possible. Open the disk mounting tool in the program’s top menu. Next, find the field for standard disk images and select the RAW option. After that, in the search window, simply select the saved file of your virtual machine. The program will mount it immediately and display it on the main screen, fully preparing the virtual disk for the final scan.

After successful mounting, the object will appear in the device list as a standard drive, ready for detailed examination of its internal contents. The choice of analysis mode depends on the nature of the data loss. If files were simply deleted accidentally inside the guest system, using Fast Scan will be sufficient to quickly display the directory hierarchy.
In more complex cases, after formatting or changing the logical partition structure, Full Scan should be used for a thorough search for data. After the analysis is complete, you will be able to view the found files, verify their integrity in the preview window, and save the required data to a safe storage device.

METHOD 3. Recovery After Deleting a Virtual Machine
Deleting a virtual machine or container in Proxmox usually happens because of an administrator error. In the ZFS file system, this causes the ZVOL block device or subvolume dataset to disappear instantly. Since there is no recycle bin in the system, the freed space becomes available for new writes immediately. However, your data still physically remains on the disks.
The main rule in this situation is to stop the server immediately and halt any writes to the array to avoid permanent overwriting of the data.
To recover the lost objects, we will use Hetman RAID Recovery again.
Select your reconstructed pool and start the deep analysis Full scan mode. This process takes more time because the program works directly with disk sectors, carefully searching for fragmented file system components by their signatures.

After the scan is complete, the found objects will be displayed in the program window.

To quickly find the required ZVOL or deleted dataset, it is convenient to use the search function. If you are recovering an LXC container, look for folders named subvol and check their contents.

For full-featured virtual machines, the main reference point will be the size of the found ZVOL volume, especially if its original name is no longer preserved. Found files from containers can be checked immediately through the preview window.
The detected ZVOL volumes only need to be mounted directly in the program for further analysis of their contents.
After verifying the integrity of the data, select the required items and click the Recovery button. Specify the path to a separate safe storage device with sufficient free space and wait for the copying process to complete.

Conclusion
Recovering data from a RAIDZ array in Proxmox VE has its own specifics, because ZFS uses its own storage and data management structure. Virtual machines in such an environment can use ZVOL, which is presented as a block device, while LXC containers are stored as separate ZFS datasets containing the container file structure.
In the event of damage to or loss of access to RAIDZ, it is important not to recreate the array, not to format the drives, and not to perform operations that may overwrite ZFS service data. For successful recovery, it is necessary to preserve the original array structure and, whenever possible, work with drive copies.
Specialized data recovery software makes it possible to analyze the ZFS structure, find ZVOL virtual disks, file systems, and LXC container data even in situations where Proxmox VE or the RAIDZ array itself no longer provides normal access to the information.
Thus, the correct recovery approach makes it possible to access both the data of virtual machines stored in ZVOL and the files and directories of LXC containers while preserving their original structure. This is especially important after drive failure, ZFS pool corruption, accidental data deletion, or critical Proxmox VE errors.







