reached the maximum partitions on my virtual machine
Solution 1:
The simple solution is to add more virtual disks, instead of expanding the drive and adding more partitions.
On top of allowing more partitions, this method allows you to move a single drive to a new VM (useful for building an updated server then just switching the data drives over. It also reduces the risk of a corrupt virtual drive trashing all your data - only one virtual disk would need to be recovered.
On physical machines separate drives are usually preferred over partitions, but physical space and cost forces you to use partitions. Virtual machines typically have no such limitations, so use separate drives.
Of course this depends on the storage system behind the disks. If each requires a LUN on a SAN for example you might have limitations. But surely you can have at least 2 disks.
As an added bonus with most virtualization platforms you can easily add disks while the system is live. Not always the case for expanding an existing disk.
On all my virtual machines each disk has only one partition (excluding small boot and utility partitions). There is rarely any good reason to do it any other way.
Solution 2:
Using standard fdisk layout, you do have the maximum number of partitions: 3 primary and 4 extended. What you would need to do is format the entire virtual disk using GPT partitioning which essentially allows unlimited number of partitions (practically through I think that the number is 64). Windows can handle this format.
So my guess at this point is that you'll probably have to end up backing up everything, reformatting the virtual disk, repartitioning the disk, and then restoring the data.
Of course, if you end up regenerating and reformatting the virtual disk, then you can the fdisk partitioning scheme and properly size the partitions.