Project

General

Profile

Actions

Feature #17502

closed

Thinly provisioned RBD image creation/resize should check RBD pool free size

Added by Vikhyat Umrao over 7 years ago. Updated over 6 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
Target version:
-
% Done:

0%

Source:
Support
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:

Description

Thinly provisioned RBD image creation/resize should check RBD pool free size

Additional info:
------------------

[root@ceph4-230 ~]# ceph -v
ceph version 10.2.2-38.el7cp (119a68752a5671253f9daae3f894a90313a6b8e4)
[root@ceph4-230 ~]# 

[root@ceph4-230 ~]# ceph -s
    cluster e9b22e9e-27a2-47e6-8b64-65312a8c13c1
     health HEALTH_OK
     monmap e1: 3 mons at {ceph4-230=192.168.4.230:6789/0,ceph4-231=192.168.4.231:6789/0,ceph4-232=192.168.4.232:6789/0}
            election epoch 28, quorum 0,1,2 ceph4-230,ceph4-231,ceph4-232
      fsmap e21: 1/1/1 up {0=ceph4-231=up:active}, 2 up:standby
     osdmap e49: 6 osds: 6 up, 6 in
            flags sortbitwise
      pgmap v27771: 320 pgs, 3 pools, 2068 bytes data, 21 objects
            240 MB used, 113 GB / 113 GB avail
                 320 active+clean
  client io 202 B/s rd, 0 op/s rd, 0 op/s wr

[root@ceph4-230 ~]# ceph df
GLOBAL:
    SIZE     AVAIL     RAW USED     %RAW USED 
    113G      113G         240M          0.21 
POOLS:
    NAME                ID     USED     %USED     MAX AVAIL     OBJECTS 
    rbd                 0         0         0        38806M           1 
    cephfs_data         1         0         0        38806M           0 
    cephfs_metadata     2      2068         0        38806M          20 
[root@ceph4-230 ~]# rbd create rbd/testrbd -s 1T 

^^ I am able to create RBD image with 1T size and pool has only 38806M available.

[root@ceph4-230 ~]# rbd -p rbd ls -l 
NAME     SIZE PARENT FMT PROT LOCK 
testrbd 1024G          2           

[root@ceph4-230 ~]# ceph df
GLOBAL:
    SIZE     AVAIL     RAW USED     %RAW USED 
    113G      113G         240M          0.21 
POOLS:
    NAME                ID     USED      %USED     MAX AVAIL     OBJECTS 
    rbd                 0      65649         0        38805M           4 
    cephfs_data         1          0         0        38805M           0 
    cephfs_metadata     2       2068         0        38805M          20 

[root@ceph4-230 ~]# rbd resize rbd/testrbd -s 2T 
Resizing image: 100% complete...done.

^^ I am able to resize to 2T but rbd pool has only 38805M max available.

[root@ceph4-230 ~]# rbd -p rbd ls -l 
NAME     SIZE PARENT FMT PROT LOCK 
testrbd 2048G          2    

[root@ceph4-230 ~]# ceph df
GLOBAL:
    SIZE     AVAIL     RAW USED     %RAW USED 
    113G      113G         240M          0.21 
POOLS:
    NAME                ID     USED     %USED     MAX AVAIL     OBJECTS 
    rbd                 0      128k         0        38805M           4 
    cephfs_data         1         0         0        38805M           0 
    cephfs_metadata     2      2068         0        38805M          20
Actions #2

Updated by Vikhyat Umrao over 7 years ago

This feature will be good to check RBD pool size before allowing create or resize to go beyond the MAX AVAIL. We should give an error message and fail.

Actions #3

Updated by Vikhyat Umrao over 7 years ago

As this is a thin provision feature may be instead of error we can give WARNING and user should ack it to goahead with bigger size than MAX AVAIL.

Actions #4

Updated by Gaurav Garg over 7 years ago

  • Assignee set to Gaurav Garg

Yeah, same problem exist with current master branch code.

Actions #5

Updated by Jason Dillaman over 6 years ago

  • Status changed from New to Rejected

RBD is inherently thinly provisioned.

Actions

Also available in: Atom PDF