Symptoms
After upgrading to Parallels Cloud Server 6.0, it is impossible to create a ploop-based container.
The creation process fails with the following error: [root@pcs ~]# prlctl create 101 --ostemplate centos-6-x86_64 --vmtype ct
Creating the Virtuozzo Container...
Failed to register the CT: Operation failed. The ploop image can not be used on ext3 or ext4 file system without extents.
Failed to resize image: The ploop image can not be used on ext3 or ext4 file system without extents. [21]
Cause
ploop
is a new container layout/technology represented in Parallels Cloud Server 6.0. It is mandatory to have the /vz/
partition file system formatted as ext4.
The upgrade process doesn't convert partitions, which means that if /vz/
was formatted as ext3 before the upgrade, it will be the same after the upgrade.
The file system must be formatted manually (can be done before the upgrade).
Resolution
To be able to create a ploop container, you need to convert your /vz/
partition file system type to ext4.
The file system can be converted by following the official steps from the kernel.org wiki Ext 4 Howto: Converting an ext3 filesystem to ext4:
- Stop virtualization services:
[root@pcs ~]# service vz stop
[root@pcs ~]# service parallels-server stop - Remove /vz/pfcache.hdd partition:
[root@pcs ~]# rm -rf /vz/pfcache.hdd
- Unmount
/vz/
partition:[root@pcs ~]# umount /vz
- Convert the file system:
[root@pcs ~]# tune2fs -O extents,uninit_bg,dir_index /dev/DEVICE_NAME
(This command will ask if you would like to fix errors; press Y to continue.)
[root@pcs ~]# e2fsck -fDC0 /dev/DEVICE_NAME - Change mounting options in
/etc/fstab
:[root@pcs ~]# mount /dev/DEVICE_NAME /vz
[root@pcs ~]# grep "/vz" /etc/fstab
/dev/DEVICE_NAME /vz ext3 defaults,noatime 1 2
[root@pcs ~]# vi /etc/fstab
[root@pcs ~]# grep "/vz" /etc/fstab
/dev/DEVICE_NAME /vz ext4 defaults,noatime 1 2 - Start virtualization services:
[root@pcs ~]# service parallels-server start
[root@pcs ~]# service vz start
NOTE: Replace DEVICE_NAME with the actual partition name.