OpenMediaVault installation in LXC with attached HW block device

Hi.
The main idea of my manipulations is like this:
Container can't mount correctly due to limitations of lxc.
so, you can mount all needed partions via lxc.mount in config.
But OMV uses many configs (not only via fstab). So after you mknodes (/dev/sd*) in OMV lxc, you should mount file system via omv gui.
Only after successful mount of file system via GUI, you should comment mount lines in containers /etc/fastab and uncomment lxc.mount in containers config and restart the container. Only after that manipulation you have correct configs of OMV inside container and correct lxc.mount in container's config.
 
ok. let me know about it. Don't use latest debian stretch images from linuxcontainers.org - it has poor status (not booting).
Are you trying omv v4 ?
 
U used latest debian template (9.3.1), and latest OMV 4.1.4-1 Arrakis.
First I had no errors installing OMV in container
(I did not have to mount container volume and finish installing in chrooted environment nor comment line in avahi config)
one more quiestion:
when I would like to use in omv my data drives sdb and sdc do I need to config sda also?
and will it be possible to format drive within OMV gui directly?
I will configure my drives in few hours - work needs to be done ...
 
Hi.
U used latest debian template (9.3.1), and latest OMV 4.1.4-1 Arrakis.
First I had no errors installing OMV in container
(I did not have to mount container volume and finish installing in chrooted environment nor comment line in avahi config)
one more quiestion:
when I would like to use in omv my data drives sdb and sdc do
I need to config sda also?
and will it be possible to format drive within OMV gui directly?
I will configure my drives in few hours - work needs to be done ...

Hi.
You can use any drive name in non-aphanumeric order. you should use only block devices type via mknod.
you can provide via such hook an lvm volume also.
You can format drive via OMV or via host - as you like.
 
Now I'm fighting different problem, already tried this:

Done.
...
1. comment lines with:
lxc.mount.entry: /media/dane1 srv/sdc1 none bind,create=dir,optional 0 0
lxc.mount.entry: /media/dane2 srv/sdb1 none bind,create=dir,optional 0 0
in /etc/pve/lxc/<lxc_num>.conf on Proxmox server
2. restart container
3. check in containers /etc/fstab that there is no any lines about mount /dev/sd*
if any mount lines exist - comment them and restart container.
if not - skip reboot and follow to gui and try to mount file systems with applying changes.
4. after successful mount you'll find a new mount options in /etc/fstab of container.
you should comment all this lines with mount options.
5. go back again to Proxmox server to edit /etc/pve/lxc/<lxc_num>.conf and uncomment
lxc.mount.entry: /media/dane1 srv/sdc1 none bind,create=dir,optional 0 0
lxc.mount.entry: /media/dane2 srv/sdb1 none bind,create=dir,optional 0 0
6. restart container with OpenMediaVault.
7. after this manipulati0ns you'll be able to create shared directories via GUI of OpenMediaVailt.

I'm successfully tested this way

this is my output from PVE host:

root@serwer:~# blkid | grep dane
/dev/sdb1: LABEL="dane2" UUID="7980df78-8173-4ae7-a38e-0b3bcb2b9df5" TYPE="ext4" PARTLABEL="dane2" PARTUUID="d34a2a2e-3aff-4e26-b177-8ee886409b3f"
/dev/sdc1: LABEL="dane1" UUID="a6dfa5fb-d16d-4852-a502-7201c3fa9a37" TYPE="ext4" PARTLABEL="dane1" PARTUUID="74df1554-9edc-4b38-b48d-43e0a17c1f8b"

root@serwer:~# cat /etc/fstab | grep dane
UUID=a6dfa5fb-d16d-4852-a502-7201c3fa9a37 /srv/dane1 ext4 defaults 0 0
UUID=7980df78-8173-4ae7-a38e-0b3bcb2b9df5 /srv/dane2 ext4 defaults 0 0

root@serwer:~# ls -la /dev/sd*
brw-rw---- 1 root disk 8, 0 Apr 22 19:11 /dev/sda
brw-rw---- 1 root disk 8, 1 Apr 22 19:11 /dev/sda1
brw-rw---- 1 root disk 8, 2 Apr 22 19:11 /dev/sda2
brw-rw---- 1 root disk 8, 3 Apr 22 19:11 /dev/sda3
brw-rw---- 1 root disk 8, 16 Apr 22 19:11 /dev/sdb
brw-rw---- 1 root disk 8, 17 Apr 22 19:11 /dev/sdb1
brw-rw---- 1 root disk 8, 32 Apr 22 19:11 /dev/sdc
brw-rw---- 1 root disk 8, 33 Apr 22 19:11 /dev/sdc1

I need to use only /dev/sdb1 and /dev/sdc1 partitions in OMV

root@serwer:~# cat /etc/pve/lxc/100.conf
arch: amd64
cores: 2
hostname: omv
memory: 2048
net0: name=eth0,bridge=vmbr0,gw=192.168.0.1,hwaddr=6A:CA:0F:C1:EC:C6,ip=192.168.0.3/24,type=veth
onboot: 1
ostype: debian
rootfs: local-lvm:vm-100-disk-1,size=4G
swap: 2048
lxc.apparmor.profile: unconfined
lxc.mount.auto: cgroup:rw
lxc.mount.auto: proc:rw
lxc.mount.auto: sys:rw
lxc.cgroup.devices.allow: b 8:16 rwm
lxc.cgroup.devices.allow: b 8:17 rwm
lxc.cgroup.devices.allow: b 8:32 rwm
lxc.cgroup.devices.allow: b 8:33 rwm
lxc.autodev: 1
lxc.hook.autodev: /var/lib/lxc/100/mount-hook.sh
lxc.mount.entry: /srv/dane1 media/a6dfa5fb-d16d-4852-a502-7201c3fa9a37 none bind,create=dir,optional 0 0
lxc.mount.entry: /srv/dane2 media/7980df78-8173-4ae7-a38e-0b3bcb2b9df5 none bind,create=dir,optional 0 0

root@serwer:~# cat /var/lib/lxc/100/mount-hook.sh
#!/bin/sh
mknod -m 777 ${LXC_ROOTFS_MOUNT}/dev/sdb b 8 16
mknod -m 777 ${LXC_ROOTFS_MOUNT}/dev/sdb1 b 8 17
mknod -m 777 ${LXC_ROOTFS_MOUNT}/dev/sdc b 8 32
mknod -m 777 ${LXC_ROOTFS_MOUNT}/dev/sdc1 b 8 33

and this is my output from OMV container:

root@omv:~# blkid | grep dane
/dev/sdb1: LABEL="dane2" UUID="7980df78-8173-4ae7-a38e-0b3bcb2b9df5" TYPE="ext4" PARTLABEL="dane2" PARTUUID="d34a2a2e-3aff-4e26-b177-8ee886409b3f"
/dev/sdc1: LABEL="dane1" UUID="a6dfa5fb-d16d-4852-a502-7201c3fa9a37" TYPE="ext4" PARTLABEL="dane1" PARTUUID="74df1554-9edc-4b38-b48d-43e0a17c1f8b"

root@omv:~# cat /etc/fstab
# UNCONFIGURED FSTAB FOR BASE SYSTEM
tmpfs /tmp tmpfs defaults 0 0
# >>> [openmediavault]
# <<< [openmediavault]

root@omv:~# ls -la /dev/sd*
brw-rw---- 1 root disk 8, 16 Apr 22 17:11 /dev/sdb
brw-rw---- 1 root disk 8, 17 Apr 22 17:11 /dev/sdb1
brw-rw---- 1 root disk 8, 32 Apr 22 17:11 /dev/sdc
brw-rw---- 1 root disk 8, 33 Apr 22 17:11 /dev/sdc1

and the problem is I can mount and unmount /dev/sdc1 (dane1) in OMV GUI but not /dev/sdb1 (dane2), it's mounted when I try to umount it I get:
Failed to execute command 'export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin; export LANG=C; umount -v -f '/dev/disk/by-label/dane2' 2>&1' with exit code '32': umount: /media/7980df78-8173-4ae7-a38e-0b3bcb2b9df5: block devices are not permitted on filesystem

what I did wrong?
 
Hi.
Described below steps notes that you has:
1. mounted /dev/sdb1 to /mnt/dane2 on the host machine with ext4 file system type;
2. mounted /dev/sdc1 to /mnt/dane1 on the host machine with ext4 file system type;
3. OpenMediaVault container has id = 100 on the host.

After you installed OMV in lxc:
1. create lxc.hook.autodev: /var/lib/lxc/100/mount-hook.sh
#!/bin/sh
mknod -m 777 ${LXC_ROOTFS_MOUNT}/dev/sdb b 8 16
mknod -m 777 ${LXC_ROOTFS_MOUNT}/dev/sdb1 b 8 17
mknod -m 777 ${LXC_ROOTFS_MOUNT}/dev/sdc b 8 32
mknod -m 777 ${LXC_ROOTFS_MOUNT}/dev/sdc1 b 8 33
2. chmod +x /var/lib/lxc/100/mount-hook.sh
3. add this lines to the container config file: /etc/pve/lxc/100.conf
.....
lxc.apparmor.profile: unconfined
lxc.mount.auto: cgroup:rw
lxc.mount.auto: proc:rw
lxc.mount.auto: sys:rw
lxc.cgroup.devices.allow: b 8:16 rwm
lxc.cgroup.devices.allow: b 8:17 rwm
lxc.cgroup.devices.allow: b 8:32 rwm
lxc.cgroup.devices.allow: b 8:33 rwm
lxc.autodev: 1
lxc.hook.autodev: /var/lib/lxc/100/mount-hook.sh
4. restart the container. Via OMV gui try to mount /dev/sdb1 and /dev/sdc1. Don't forget to apply changes in gui.
If this step passed normally, You should see 2 new mount options in OMV /etc/fstab:
.....
# >>> [openmediavault]
/dev/sdb1 /srv/dev-sdb1 ext4 defaults,nofail,user_xattr,noexec,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,acl 0 2
/dev/sdc1 /srv/dev-sdc1 ext4 defaults,nofail,user_xattr,noexec,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,acl 0 2
# <<< [openmediavault]
.....
5. edit OMV /etc/fstab and comment this new mount options.
6. edit on the host /etc/pve/lxc/100.conf and add lxc.mount.entry lines :
.....
lxc.mount.entry: /mnt/dane2 srv/dev-sdb1 none bind,create=dir,optional 0 0
lxc.mount.entry: //mnt/dane2 srv/dev-sdb1 none bind,create=dir,optional 0 0
7. restart the container. After this steps you'll be able to use /dev/sdb1 and /dev/dsc1 in OMV container.

In OMV gui you can see mounted hard drives with inactive "mount" and "unmount" buttons. this is ok.
 
after step 4, everything went OK, and in container's fstab that lines appear:
Code:
/dev/disk/by-label/dane1 /srv/dev-disk-by-label-dane1 ext4 defaults,nofail,user_xattr,noexec,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,acl 0 2
/dev/disk/by-label/dane2 /srv/dev-disk-by-label-dane2 ext4 defaults,nofail,user_xattr,noexec,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,acl 0 2
and my drives are mounted on host as:
Code:
/dev/sdc1 on /srv/dane1 type ext4 (rw,relatime,data=ordered)
/dev/sdb1 on /srv/dane2 type ext4 (rw,relatime,data=ordered)
what exactly should I insert in container conf, becouse this:
Code:
lxc.mount.entry: /srv/dane1 srv/dev-sdb1 none bind,create=dir,optional 0 0
lxc.mount.entry: /srv/dane2 srv/dev-sdc1 none bind,create=dir,optional 0 0
does not work ...
Thank you again for your effort.
 
hi.

Simply change to this lines in container's conf:
lxc.mount.entry: /srv/dane2 srv/dev-disk-by-label-dane2 none bind,create=dir,optional 0 0
lxc.mount.entry: /srv/dane1 srv/dev-disk-by-label-dane1 none bind,create=dir,optional 0 0

Don't forget to comment all mount options in fstab of container after.

This should be enough.
 
I did it but have more problems:
I can mount and umount both dane1 and dane2 filesystems, without errors (inc. apply of course)
but when I try to format umounted dane2 this is what I get:
Code:
Device '/dev/dm-0' does not exist.
this is less important, but when I would like to make a share from dane2 and click apply this is what I get:
Code:
Failed to execute command 'export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin; export LANG=C; systemctl start 'sharedfolders-dane2.mount' 2>&1' with exit code '4': Failed to start sharedfolders-dane2.mount: Access denied See system logs and 'systemctl status sharedfolders-dane2.mount' for details.
 
It seems to me that this is not a good idea to format and mount any partition inside lxc container. lxc has only minimal /dev. When you creating any new lxc container, the host script create and format it by itself, there is no fsck or other partition tools inside lxc.

Device '/dev/dm-0' does not exist.

On my host /dev/dm-0 is a swap partition
you can check it by: ls -la /dev/mapper/dm-*

The second your's error - is a permissions error.

It seems to me that if you'll switch from mount by-label to a classic mount by /dev/sd* on the host and inside lxc with OMV, you'll reach success.
You doesn't have any /dev/disk/by-* symbolic links in lxc.
 
hi. This weekend I'll update my first post to help you to solve all the issues. Please wait for a while :)
 
UPDATE for installation of OMV into LXC container.

1. Install OpenMediaVault NAS into Debian 9 LXC container on ProxmoxVE server with hardware RAID controller card.
2. Provide to OpenMediaVault in LXC container as a storage LSI MegaRAID RAID1 - /dev/sda1.
3. Also continue to use /dev/sda1 as a backup storage for many backup scripts (mysqldump for example) from ProxmoxVE itself.

Definitions.

ProxmoxVE — latest official 5.2 release from http://www.proxmox.com/en/downloads with testing updates;
OpenMediaVault — latest 4 (arrakis) from http://www.openmediavault.org with codename Erasmus;
OpenMediaVault plugins — plugins for Erasmus from http://omv-extras.org/joomla/;
Debian 9 (codename Stretch) LXC template — Daily LXC Template Image from https://jenkins.linuxcontainers.org/view/Images/job/image-debian/
LXC container config — file, located in /etc/pve/lxc/XXX.conf where XXX is a container number from ProxmoxVE.
LXC container hook script — bash shell script, located in /var/lib/lxc/XXX/<script-name>.sh where XXX is a container number from ProxmoxVE.

Step 1 — installation of OpenMediaVault

1. download latest available Debian 9 template into container templates storage.
2. create Debian 9 LXC container with at least 1Gb RAM (2Gb as RAM will be much comfortable), 2Gb RootFS and at least one network device with Internet connection.
*** Notes for point 2:
You should add a few lines into LXC container config before it first start:
lxc.apparmor.profile: unconfined

3. login into this container and update system:
apt-get update && apt-get dist-upgrade

4. add OpenMediaVault repository and start it installation
echo «deb http://packages.openmediavault.org/public arrakis main» > /etc/apt/sources.list.d/openmediavault.list
apt-get update
apt-get install openmediavault-keyring

* Don’t forget to answer «Y», and only after it push «ENTER»
apt-get update
apt-get install openmediavault

# Disable some checks because this installation in not on a bare metal hardware
chmod -x /usr/share/openmediavault/initsystem/60rootfs
chmod -x /usr/share/openmediavault/mkconf/sysctl.d/nonrot

# Start init of omv
omv-initsystem
5 Login into web-gui of OpenMediaVault
Our installation of OpenMediaVault is finished successfully.

Step 2 — installation of OpenMediaVault plugins

1. Go back to web-gui of OpenMediaVault

2. Download via your browser plugins from omv-extras.org:
https://bintray.com/openmediavault-...org/openmediavault-omvextrasorg_4.1.7_all.deb
and install it via web-gui of OpenMediaVault.

This all for the installation.

Step 3 — provide block device (hard disk) from ProxmoxVE to OpenMediaVault in LXC container to operate it as a storage device.

I’m trying to attach /dev/sda1
This is my LSI MegaRAID mirrored volume.
I obtain a cooking receipt from here:
https://forum.proxmox.com/threads/lxc-cannot-assign-a-block-device-to-container.23256/#post-118361

3.1. in ProxmoxVE shell type this commands:

ls -la /dev/sda*

brw-rw—- 1 root disk 8, 0 Oct 20 20:12 /dev/sda
brw-rw—- 1 root disk 8, 1 Oct 20 20:12 /dev/sda1


**NOTE
If you have sdb, sdc or any other HD drives, you should use "host system assigned names for devices" to map them to a acontainer - renaming will cause unexpected result.

3.2 edit LXC container config (with number XXX) to add a few new lines:
nano etc/pve/lxc/XXX.conf
lxc.cgroup.devices.allow: b 8:0 rwm
lxc.cgroup.devices.allow: b 8:1 rwm
lxc.autodev: 1

***
This lines allow to use /dev/sda, /dev/sda1 (with read-write-mount) inside container itself.
But our LXC container has none block devices in /dev
There is one way is to create device via mknod. But after container reboot we’ll loose those devices. We should create a hook.

3.3 In ProxmoxVE shell create this file:
nano /var/lib/lxc/XXX/mount-hook.sh
and add the following lines into it:
#!/bin/sh
mknod -m 777 ${LXC_ROOTFS_MOUNT}/dev/sda b 8 0
mknod -m 777 ${LXC_ROOTFS_MOUNT}/dev/sda1 b 8 1


Don’t forget to make this file executable (chmod +x)
3.4. restart LXC container to apply changes.

3.5 Via web gui investigate that /dev/sda1 exists in "Storage -> Disks".
go to "Storage -> File Systems", select your partition and push "mount". Don't forget to apply changes.
3.6 Restart LXC container.
But after you are logged in after reboot - you'll see tha your's mounted before file system is in "not mounted" state. You can mount it "by hand" only not via containers fstab.
To solve this issue - add this line to LXC container's config:
lxc.mount.entry: /raid srv/dev-sdb1 none bind,create=dir,optional 0 0
3.7. restart LXC container to apply changes.
 
UPDATE for installation of OMV into LXC container.

Hello,

Thank you for your tutorial. I managed to get my 2 disks to appear in OMV and I can mount them individually.
However, I have two problems:
1- when I restart OMV, they don't automount
2- when I try to create a Union Filesystem in OMV, I have this error:
Code:
Failed to execute command 'export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin; export LANG=C; mount -v '/srv/834990ca-b113-42b7-9f48-3bda5714862d' 2>&1' with exit code '1': fuse: device not found, try 'modprobe fuse' first

Here are my config files.

/etc/pve/lxc/100.conf:
Code:
arch: amd64
cores: 4
hostname: omv.2566335.lan
memory: 2048
net0: name=eth0,bridge=vmbr0,hwaddr=A6:78:A6:00:4D:94,ip=dhcp,ip6=dhcp,type=veth
ostype: debian
rootfs: local-lvm:vm-100-disk-1,size=8G
swap: 2048
lxc.apparmor.profile: unconfined
lxc.cgroup.devices.allow: b 8:16 rwm
lxc.cgroup.devices.allow: b 8:17 rwm
lxc.cgroup.devices.allow: b 8:32 rwm
lxc.cgroup.devices.allow: b 8:33 rwm
lxc.autodev: 1
lxc.hook.autodev: /var/lib/lxc/100/mount-hook.sh
/var/lib/lxc/100/mount-hook.sh:
Code:
#!/bin/sh
mknod -m 777 ${LXC_ROOTFS_MOUNT}/dev/sdb b 8 16
mknod -m 777 ${LXC_ROOTFS_MOUNT}/dev/sdb1 b 8 17
mknod -m 777 ${LXC_ROOTFS_MOUNT}/dev/sdc b 8 32
mknod -m 777 ${LXC_ROOTFS_MOUNT}/dev/sdc1 b 8 33

Could you tell me what I did wrong or missed? Thank you.

I tried adding
Code:
lxc.mount.entry: /diskmedia1 srv/dev-sdb1 none bind,create=dir,optional 0 0
lxc.mount.entry: /diskmedia2 srv/dev-sdc1 none bind,create=dir,optional 0 0
to /etc/pve/lxc/100.conf but it didn't change anything. I don't understand this part so I probably got it wrong.
 
Hi.

To add /dev/fuse to a container you need additional line in mount-hook.sh
...
mknod -m 777 ${LXC_ROOTFS_MOUNT}/dev/fuse c 10 229
...

let me show:

ls -la /dev/sd*
from yours proxmox

and also:
ls -la /dev/sd*
inside container
 
I have two main problems:
my filesystems does not mount after restart container,
I have two 3TB drives seen as /dev/sdb and /dev/sdc formated whole device (/dev/sdx) not partition.
(existing system is ext4 and owner is root:root)
they mount perfectly by gui, but not by container config

Code:
arch: amd64
cores: 2
hostname: omv
memory: 2048
net0: name=eth0,bridge=vmbr0,gw=192.168.1.1,hwaddr=46:A4:0A:67:91:F8,ip=192.168.1.3/24,type=veth
ostype: debian
rootfs: local-lvm:vm-100-disk-0,size=4G
swap: 2048
lxc.apparmor.profile: unconfined
lxc.cgroup.devices.allow: b 8:16 rwm
lxc.cgroup.devices.allow: b 8:32 rwm
lxc.autodev: 1
lxc.hook.autodev: /var/lib/lxc/100/mount-hook.sh
lxc.mount.entry: /dev/sdb srv/dev-sdb none bind,create=dir,optional 0 0
lxc.mount.entry: /dev/sdc srv/dev-sdc none bind,create=dir,optional 0 0

but even if the're mounted by gui I cannot create shared folders:

Code:
Failed to execute command 'export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin; export LANG=C.UTF-8; systemctl restart 'sharedfolders-dane1.mount' 2>&1' with exit code '4': Failed to restart sharedfolders-dane1.mount: Access denied See system logs and 'systemctl status sharedfolders-dane1.mount' for details.
Error #0:
OMV\ExecException: Failed to execute command 'export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin; export LANG=C.UTF-8; systemctl restart 'sharedfolders-dane1.mount' 2>&1' with exit code '4': Failed to restart sharedfolders-dane1.mount: Access denied
See system logs and 'systemctl status sharedfolders-dane1.mount' for details. in /usr/share/php/openmediavault/system/process.inc:182
Stack trace:
#0 /usr/share/php/openmediavault/system/systemctl.inc(86): OMV\System\Process->execute(Array, 4)
#1 /usr/share/php/openmediavault/system/systemctl.inc(160): OMV\System\SystemCtl->exec('restart', NULL, false)
#2 /usr/share/openmediavault/engined/module/sharedfolders.inc(66): OMV\System\SystemCtl->restart()
#3 /usr/share/openmediavault/engined/rpc/config.inc(194): OMVModuleSharedfolders->startService()
#4 [internal function]: OMVRpcServiceConfig->applyChanges(Array, Array)
#5 /usr/share/php/openmediavault/rpc/serviceabstract.inc(123): call_user_func_array(Array, Array)
#6 /usr/share/php/openmediavault/rpc/serviceabstract.inc(149): OMV\Rpc\ServiceAbstract->callMethod('applyChanges', Array, Array)
#7 /usr/share/php/openmediavault/rpc/serviceabstract.inc(565): OMV\Rpc\ServiceAbstract->OMV\Rpc\{closure}('/tmp/bgstatuscp...', '/tmp/bgoutputvK...')
#8 /usr/share/php/openmediavault/rpc/serviceabstract.inc(159): OMV\Rpc\ServiceAbstract->execBgProc(Object(Closure))
#9 /usr/share/openmediavault/engined/rpc/config.inc(213): OMV\Rpc\ServiceAbstract->callMethodBg('applyChanges', Array, Array)
#10 [internal function]: OMVRpcServiceConfig->applyChangesBg(Array, Array)
#11 /usr/share/php/openmediavault/rpc/serviceabstract.inc(123): call_user_func_array(Array, Array)
#12 /usr/share/php/openmediavault/rpc/rpc.inc(86): OMV\Rpc\ServiceAbstract->callMethod('applyChangesBg', Array, Array)
#13 /usr/sbin/omv-engined(536): OMV\Rpc\Rpc::call('Config', 'applyChangesBg', Array, Array, 1)
#14 {main}

any help would be greatly appreciated
 

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!