[Sheepdog] free space handling issues
Piavlo
piavka at cs.bgu.ac.il
Sun Jan 3 08:40:02 CET 2010
Hi again,
I wanted to see how sheepdog would behave when it is short in disk space.
1) First as you can see below the "Use%" field is not calculated correctly
fire-srv4 ~ # shepherd info -t sheep
Id Size Used Use%
0 5G 9G 181%
1 2G 12G 643%
2 8G 6G 83%
fire-srv4 ~ #
I think it is obvious from the output exactly how wrong the "Use%" gets
calculated :)
2) I've created a 15G btrfs on 3 nodes and --copies=2 for the test and
wanted to fully fill just one of the nodes and see how sheepdog
behaves then.
I hoped that once one of the nodes gets out of space it would continue
to allocate blocks on the other 2 remaining nodes, but it just
got stuck with "aio_read_response 869: I/O error"
fire-srv3 ~ # kvm-img convert -f raw -O sheepdog /dev/sys/kvm-img zopa
sd_claim 1492: zopa
sd_release 1533: zopa
sd_close 1478: zopa
fire-srv3 ~ # kvm-img convert -f raw -O sheepdog /dev/sys/kvm-img zopa2
sd_claim 1492: zopa2
sd_release 1533: zopa2
sd_close 1478: zopa2
fire-srv3 ~ # kvm-img convert -f raw -O sheepdog /dev/sys/kvm-img zopa3
sd_claim 1492: zopa3
sd_release 1533: zopa3
sd_close 1478: zopa3
fire-srv3 ~ # kvm-img convert -f raw -O sheepdog /dev/sys/kvm-img zopa4
sd_claim 1492: zopa4
aio_read_response 869: I/O error
...
this is from the fire-srv3 node on which kvm-img was ruinning:
...
Dec 30 14:09:28 localhost collie: store_queue_request(181) 0, 4,
/sheepdog/0/100000, 3, 3
Dec 30 14:09:28 localhost collie: store_queue_request(181) 2, 4,
/sheepdog/0/100000, 3, 3
Dec 30 14:09:28 localhost collie: store_queue_request(181) 1, 4,
/sheepdog/0/100000, 3, 3
Dec 30 14:09:28 localhost collie: store_queue_request(181) 3, 4,
/sheepdog/0/100000, 3, 3
Dec 30 14:09:28 localhost collie: store_queue_request(181) 0, 4,
/sheepdog/0/100000, 3, 3
Dec 30 14:09:28 localhost collie: store_queue_request(181) 2, 1,
/sheepdog/0/100354, 3, 3
Dec 30 14:09:28 localhost collie: store_queue_request(250) 1049428
Dec 30 14:09:28 localhost collie: store_queue_request(254) 1049428
Dec 30 14:09:28 localhost collie: store_queue_request(181) 1, 4,
/sheepdog/0/100000, 3, 3
Dec 30 14:09:28 localhost collie: listen_handler(337) accepted a new
connection, 258
Dec 30 14:09:28 localhost collie: cluster_queue_request(175) 0xa66c90 19
Dec 30 14:09:28 localhost collie: client_handler(298) closed a
connection, 258
Dec 30 14:09:34 localhost collie: listen_handler(337) accepted a new
connection, 258
Dec 30 14:09:34 localhost collie: store_queue_request(181) 0, b0,
/sheepdog/0/0, 3, 3
Dec 30 14:09:34 localhost collie: client_handler(298) closed a
connection, 258
Dec 30 14:09:34 localhost collie: listen_handler(337) accepted a new
connection, 258
Dec 30 14:09:34 localhost collie: so_read_vdis(367) 40000
Dec 30 14:09:34 localhost collie: so_read_vdis(386)
0000000000040000-00000000
Dec 30 14:09:34 localhost collie: so_read_vdis(367) 80000
Dec 30 14:09:34 localhost collie: so_read_vdis(386)
0000000000080000-00000000
Dec 30 14:09:34 localhost collie: so_read_vdis(367) c0000
Dec 30 14:09:34 localhost collie: so_read_vdis(386)
00000000000c0000-00000000
Dec 30 14:09:34 localhost collie: so_read_vdis(367) 100000
Dec 30 14:09:34 localhost collie: so_read_vdis(386)
0000000000100000-00000000
Dec 30 14:09:34 localhost collie: so_read_vdis(403) 128
Dec 30 14:09:34 localhost collie: client_handler(298) closed a
connection, 258
Dec 30 14:09:49 localhost collie: listen_handler(337) accepted a new
connection, 258
Dec 30 14:09:49 localhost collie: store_queue_request(181) 1, b0,
/sheepdog/0/0, 3, 3
Dec 30 14:09:49 localhost collie: client_handler(298) closed a
connection, 258
Dec 30 14:09:49 localhost collie: listen_handler(337) accepted a new
connection, 258
Dec 30 14:09:49 localhost collie: so_read_vdis(367) 40000
Dec 30 14:09:49 localhost collie: so_read_vdis(386)
0000000000040000-00000000
Dec 30 14:09:49 localhost collie: so_read_vdis(367) 80000
Dec 30 14:09:49 localhost collie: so_read_vdis(386)
0000000000080000-00000000
Dec 30 14:09:49 localhost collie: so_read_vdis(367) c0000
Dec 30 14:09:49 localhost collie: so_read_vdis(386)
00000000000c0000-00000000
Dec 30 14:09:49 localhost collie: so_read_vdis(367) 100000
Dec 30 14:09:49 localhost collie: so_read_vdis(386)
0000000000100000-00000000
Dec 30 14:09:49 localhost collie: so_read_vdis(403) 128
Dec 30 14:09:49 localhost collie: client_handler(298) closed a
connection, 258
...
Also sheepdog show that zopa4 vdi is in running state in spite of that
i've terminated the kvm-img process:
fire-srv4 ~ # shepherd info -t vm
Name |Vdi size |Allocated| Shared | Status
----------------+---------+---------+---------+------------
zopa | 5120 MB| 4068 MB| 0 MB| not running
zopa2 | 5120 MB| 4068 MB| 0 MB| not running
zopa3 | 5120 MB| 4068 MB| 0 MB| not running
zopa4 | 5120 MB| 2848 MB| 0 MB| running on 192.1.1.4
fire-srv4 ~ # shepherd info -t vdi
40000 : zopa 5120 MB (allocated: 4068 MB, shared: 0 MB),
2009-12-30 13:54:04, tag: 0, current
80000 : zopa2 5120 MB (allocated: 4068 MB, shared: 0 MB),
2009-12-30 14:01:17, tag: 0, current
c0000 : zopa3 5120 MB (allocated: 4068 MB, shared: 0 MB),
2009-12-30 14:04:28, tag: 0, current
100000 : zopa4 5120 MB (allocated: 2848 MB, shared: 0 MB),
2009-12-30 14:07:31, tag: 0, current
fire-srv4 ~ #
Alex
More information about the sheepdog
mailing list