zvol by iscsi

freebee

Active Member
May 8, 2020
66
4
28
41
Hi.

I have this servers:
Proxmox - Virtualization Server ( 5 units).
FreeBSD - Storage Server (2 units).

I'm testing in this way.
FreeBSD with zfs. Inside this ZFS i have a raw file. The iscsi share this raw file with proxmox in the network.
So in proxmox i can format on any file system. Then when create a VM, the Hardisk is store inside that file.

So, this is not the best way for performance (i think).

I read about iscsi/zfs shared on proxmox but don't have pratical examples of setup.
Searching in the web proxmox can create zvol. ok.

How this can work ?.
FreeBSD or Linux share the zfs disk using ISCSI with proxmox and in proxmox i mark shared option when add storage ?.
FreeBSD or Linux share the pure harddisk using ISCSI and the zfs is configurated just on proxmox with shared option selected ?.

The intention is: When creating a VM, i select the storage and the proxmox create the zvols and resize when need (everything using iscsi). The back storages is dedicated to provide files and care other things.

Best Regards.
 
Yes, but I'm afraid it's out of date (proxmox 3.x). Is it still valid?.
Other thing: The wiki say istgt but the native freebsd iscsi is ctld. This configuration is restrict only for istgt ?.

If i understand the wiki is:
1. Create a zpool on freebsd (tank, using the example above).
2. Configure istgt to access the tank (i will look how is configurated).
3. From one proxmox servers i generate the keys and copy to the SAN server, repeting on other proxmox servers too (like wiki explain) and testing.
4. Add the storage to storage.cfg like in wiki.

I presume proxmox access the remote SAN, create zvol on pool and access by address using id and etc (like explained on wiki).
 
Yes, its still valid, I believe. The storage plugin responsible for this type of storage did not change for your use case.
I am not familiar with differences between the two, perhaps the CLI commands to manage the two are compatible, but if not - you would need to pick a different OS or iSCSI target, one thats compatible.

Your understanding of how this particular plugin works is correct. Once you have the backend configured, the Proxmox hosts ssh's into storage host and executes appropriate ZFS and iSCSI target commands to export the new volume. This is where dependency on exactly CLI comes to play.

I would venture to say that Proxmox developers dont have Freebds/CTLD compatibility high on their list. You could check github to see if anyone made any changes to work with your config. Or you could write your own plugin and submit it:)

Good luck

P.S.
You can review relevant plugin here /usr/share/perl5/PVE/Storage/ZFSPlugin.pm and try to figure out if it might work for you.
 
Last edited:
Hi.
I tested the wiki and works. Some commands like ssh (to test connection when ssh-copy is made) need a better correction.
In FreeBSD is necessary create a zvol to istgt share with proxmox (/dev/zvol/pool1/pool2), but just for compatibility because proxmox use the true pool (pool1) to made changes.
Looking on the internet i found this project: https://github.com/ktrace/pxmx-ctld
I think proxmox project can add, because the actual stage of istgt is the same of pxmx-ctld (don't auto create portal and etc).
If proxmox project add, the changes made by this project got not lost with updates. Istgt can be dropped.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!