Dne 2.2.2012 02:36, Busby.Cheung napsal(a):
Hi Alasdair, The kernel mesg log "failed to resize data device" while use dmsetup CMDs to create pool will be ok. use LVM2 cmd mesgs: --------------------------- [root@host2 ~]# pvs Ignoring too small pv_min_size 512KB, using default 2048KB. PV VG Fmt Attr PSize PFree /dev/sda2 VolGroup00 lvm2 a-- 931.41G 0 /dev/sdg vg_pool lvm2 a-- 931.51G 931.51G /dev/sdl vg_pool lvm2 a-- 931.51G 931.51G [root@host2 ~]# vgs Ignoring too small pv_min_size 512KB, using default 2048KB. VG #PV #LV #SN Attr VSize VFree VolGroup00 1 2 0 wz--n- 931.41G 0 vg_pool 2 0 0 wz--n- 1.82T 1.82T [root@host2 ~]# lvcreate -L65G -T vg_pool/pool Ignoring too small pv_min_size 512KB, using default 2048KB. Rounding up size to full physical extent 4.00 MB device-mapper: resume ioctl on failed: Cannot allocate memory Unable to resume vg_pool-pool-tpool (253:12) Aborting. Failed to activate thin pool. [root@host2 ~]# dmesg device-mapper: space map checker: Loading debug space map from disk. This may take some time device-mapper: space map checker: Load complete device-mapper: thin: failed to resize data device [root@host2 ~]# cat /var/log/messages Feb 2 09:14:45 host2 kernel: device-mapper: space map checker: Loading debug space map from disk. This may take some time Feb 2 09:14:45 host2 kernel: device-mapper: space map checker: Load complete Feb 2 09:14:45 host2 kernel: device-mapper: thin: failed to resize data device -------------------------- use dmsetup cmd: [root@host2 ~]# lvcreate -n metadata_lv -L40M vg_pool Ignoring too small pv_min_size 512KB, using default 2048KB. Logical volume "metadata_lv" created [root@host2 ~]# lvcreate -n data_lv -L300G vg_pool Ignoring too small pv_min_size 512KB, using default 2048KB. Logical volume "data_lv" created [root@host2 ~]# dmsetup create pool --table "0 209715200 thin-pool /dev/vg_pool/metadata_lv /dev/vg_pool/data_lv 1024 20000" [root@host2 ~]# dmsetup status vg_pool-metadata_lv: 0 81920 linear VolGroup00-LogVol01: 0 24510464 linear vg_pool-pool-tpool: 0 136314880 thin-pool 0 76/1024 0/0 - vg_pool-pool_tdata: 0 136314880 linear VolGroup00-LogVol00: 0 1928790016 linear vg_pool-pool_tmeta: 0 8192 linear pool: 0 209715200 thin-pool 0 21/10240 0/204800 - vg_pool-data_lv: 0 629145600 linear [root@host2 ~]# dmesg device-mapper: space map checker: Loading debug space map from disk. This may take some time device-mapper: space map checker: Load complete device-mapper: thin: failed to resize data device device-mapper: space map checker: Loading debug space map from disk. This may take some time device-mapper: space map checker: Load complete device-mapper: space map checker: free block counts differ, checker 1020, sm-disk:948 device-mapper: space map checker: free block counts differ, checker 10236, sm-disk:10219
Have you tried to build kernel without CONFIG_DM_DEBUG_SPACE_MAPS and CONFIG_DM_DEBUG_BLOCK_STACK_TRACING ?
These two options are there only for debugging - and have major impact on performance (and possibly on memory resource as well).
To check consistency of metadata there are now user-space tools available. Zdenek -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel