Can't create container on specific zfs pool

mdickinson

New Member
Feb 23, 2016
4
1
3
45
Creating containers fails when I try to use my "tank" pool but succeeds when I use my "storage" pool.

These commands are just for easy illustration and error messages. I get the same messages clicking buttons on the gui.

failure using the "tank" zfs pool:
Code:
root@kvm-1:~# pct create 200 /var/lib/vz/template/cache/debian-8.0-standard_8.0-1_amd64.tar.gz -storage zfs-disks
mount: special device /tank/subvol-200-disk-1 does not exist
mounting container failed
command 'mount -o bind -o '' /tank/subvol-200-disk-1 /var/lib/lxc/200/rootfs/' failed: exit code 32

success using the "storage" zfs pool:
Code:
root@kvm-1:~# pct create 200 /var/lib/vz/template/cache/debian-8.0-standard_8.0-1_amd64.tar.gz -storage zfs-disks-storage
extracting archive '/var/lib/vz/template/cache/debian-8.0-standard_8.0-1_amd64.tar.gz'
Total bytes read: 533012480 (509MiB, 109MiB/s)
Detected container architecture: amd64
Creating SSH host key 'ssh_host_dsa_key' - this may take some time ...
Creating SSH host key 'ssh_host_ed25519_key' - this may take some time ...
Creating SSH host key 'ssh_host_key' - this may take some time ...
Creating SSH host key 'ssh_host_ecdsa_key' - this may take some time ...
Creating SSH host key 'ssh_host_rsa_key' - this may take some time ...

A dataset does not get created on the "tank" pool.

Code:
root@kvm-1:~# zfs list
NAME                        USED  AVAIL  REFER  MOUNTPOINT
storage                     290G   609G   289G  /storage
storage/subvol-105-disk-1   542M  7.47G   542M  /storage/subvol-105-disk-1
storage/subvol-106-disk-1   285M  7.72G   285M  /storage/subvol-106-disk-1
storage/subvol-200-disk-1   285M  3.72G   285M  /storage/subvol-200-disk-1
tank                        207G   208G    96K  none
tank/local                  189M   208G   189M  /var/lib/vz
tank/vm-100-disk-1         89.4G   208G  89.4G  -
tank/vm-101-disk-1         1.01G   208G  1.01G  -
tank/vm-102-disk-1           64K   208G    64K  -
tank/vm-102-disk-2         20.1G   208G  20.1G  -
tank/vm-103-disk-1         96.4G   208G  96.4G  -

Code:
root@kvm-1:~# zpool status
  pool: storage
state: ONLINE
  scan: none requested
config:

    NAME            STATE     READ WRITE CKSUM
    storage         ONLINE       0     0     0
      mirror-0      ONLINE       0     0     0
        sdc1_crypt  ONLINE       0     0     0
        sdd1_crypt  ONLINE       0     0     0

errors: No known data errors

  pool: tank
state: ONLINE
  scan: scrub repaired 0 in 0h6m with 0 errors on Mon Feb 22 07:10:39 2016
config:

    NAME          STATE     READ WRITE CKSUM
    tank          ONLINE       0     0     0
      sda3_crypt  ONLINE       0     0     0

errors: No known data errors

I can create volumes on the "tank" pool manually just fine.

Code:
root@kvm-1:~# pct destroy 200
root@kvm-1:~# zfs create -V 8G tank/subvol-200-disk-1
root@kvm-1:~# zfs list
NAME                        USED  AVAIL  REFER  MOUNTPOINT
storage                     290G   609G   289G  /storage
storage/subvol-105-disk-1   542M  7.47G   542M  /storage/subvol-105-disk-1
storage/subvol-106-disk-1   285M  7.72G   285M  /storage/subvol-106-disk-1
tank                        215G   199G    96K  none
tank/local                  189M   199G   189M  /var/lib/vz
tank/subvol-200-disk-1     8.25G   208G    64K  -
tank/vm-100-disk-1         89.4G   199G  89.4G  -
tank/vm-101-disk-1         1.01G   199G  1.01G  -
tank/vm-102-disk-1           64K   199G    64K  -
tank/vm-102-disk-2         20.1G   199G  20.1G  -
tank/vm-103-disk-1         96.4G   199G  96.4G  -

Code:
root@kvm-1:~# pveversion -v
proxmox-ve: 4.1-37 (running kernel: 4.2.8-1-pve)
pve-manager: 4.1-13 (running version: 4.1-13/cfb599fb)
pve-kernel-4.2.8-1-pve: 4.2.8-37
lvm2: 2.02.116-pve2
corosync-pve: 2.3.5-2
libqb0: 1.0-1
pve-cluster: 4.0-32
qemu-server: 4.0-55
pve-firmware: 1.1-7
libpve-common-perl: 4.0-48
libpve-access-control: 4.0-11
libpve-storage-perl: 4.0-40
pve-libspice-server1: 0.12.5-2
vncterm: 1.2-1
pve-qemu-kvm: 2.5-5
pve-container: 1.0-44
pve-firewall: 2.0-17
pve-ha-manager: 1.0-21
ksm-control-daemon: 1.2-1
glusterfs-client: 3.5.2-2+deb8u1
lxc-pve: 1.1.5-7
lxcfs: 0.13-pve3
cgmanager: 0.39-pve1
criu: 1.6.0-1
zfsutils: 0.6.5-pve7~jessie
openvswitch-switch: 2.3.2-2

Proxmox is new to me and I haven't done much with zfs in a while. This is a test box I'm using to kind of validate some design ideas for an all-in-one that uses zol instead of passthrough to freenas or similar. I installed from debian so that I could setup luks. Root is lvm on luks on mdraid1 ssds. "tank" would be a zfs mirror of luks partitions off of the ssds to host VMs. "storage" would be mirrors of luks partitions on spinners mainly for media.

My google skills are letting me down here. Any hints?
 
Last edited:
Proxmox assumes that zfs zools are mounted at the default mount pount (/tank). But seems your tank pool
has no mount point - change that first.
 
That was it! I set a mountpoint for the "tank" pool and creating containers works as expected now. Thanks for your help!