| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2022-01-19 | |||
| 17:39:25 | sean-k-mooney | in terems of deleting files | |
| 17:39:45 | sean-k-mooney | when you delete the vm it should delete the vm disk and other files in general | |
| 17:40:12 | sean-k-mooney | the backing files for hte guest image may stay in the image cache for a peiord of time but it will eventully get cleaned up | |
| 17:40:19 | sean-k-mooney | i wonder if this is liek the ceph issue | |
| 17:40:55 | sean-k-mooney | https://docs.openstack.org/nova/latest/configuration/config.html#workarounds.ensure_libvirt_rbd_instance_dir_cleanup | |
| 17:41:24 | spatel | hmm why did you say don't support glusterfs for /var/lib/nova ? | |
| 17:41:58 | sean-k-mooney | spatel: because we dont offcialy support or test that upstream | |
| 17:42:27 | sean-k-mooney | we test /var/lib/nova on nfs even thouhg we recommend using it | |
| 17:42:34 | spatel | but generally shared storage is storage just create file and delete file.. no matter who is in backend | |
| 17:42:42 | sean-k-mooney | but we have never offcially supprot clusterfs as afar as i recall | |
| 17:43:03 | sean-k-mooney | spatel: there are a buch of issue with locks and move operation that the latency of shared storage can cause | |
| 17:43:12 | sean-k-mooney | so in general we do not support it | |
| 17:43:19 | spatel | we have 800TB of glusterfs and it would be bad if i mount that on foo server and then mount on 50 compute nodes | |
| 17:44:07 | spatel | That is interesting... | |
| 17:44:12 | sean-k-mooney | in generall if you want ot use glusterfs with openstack the only supporte way to do it would via cinder | |
| 17:44:37 | sean-k-mooney | it can work the way you have it deplyed but its not a tested configuration and was never expiclty supported | |
| 17:46:06 | spatel | may be i am the first use case here.. :) i would still like to push it and try out because we already have large storage which i would like to use. | |
| 17:46:33 | spatel | if i see any issue (major issue) then i may switch to NFS | |
| 17:47:20 | spatel | If i go with cinder then its not going to be shared storage correct? does live migration will be supported with cinder base deployment? | |
| 17:48:07 | sean-k-mooney | spatel: well jsut a word of warning if we could remove support for this capablity entirly we would | |
| 17:48:25 | sean-k-mooney | we dont like support nfs backed /var/lib/nova | |
| 17:48:51 | sean-k-mooney | we only maintian supprot becasue we have some old large clouds that use it but this area fo the code is not activly maintained | |
| 17:49:03 | spatel | hmm! so in short no to shared storage except ceph. correct? | |
| 17:49:24 | sean-k-mooney | basically and even for ceph not by using cephfs | |
| 17:49:42 | spatel | ceph rbd | |
| 17:49:49 | sean-k-mooney | the probelm is that when using shared storate like this we are actully using a local storage driver in nova | |
| 17:50:06 | sean-k-mooney | e.g. image_type=qcow | |
| 17:50:07 | spatel | i know what you saying.. mounting nova on shared storage can have all kind of issue | |
| 17:50:31 | sean-k-mooney | and have sprincked some check in random parts of the code to do something else fi we detect its on shared storage | |
| 17:50:59 | sean-k-mooney | the main one come up aroudn move operations and evacuate | |
| 17:51:16 | sean-k-mooney | e.g. we need to make sure we dont overrie the image if we do a cold/live migration | |
| 17:51:36 | sean-k-mooney | and dont recreate it if we evacuate | |
| 17:51:42 | sean-k-mooney | to prevent loosing data | |
| 17:51:56 | spatel | hmm | |
| 17:52:22 | spatel | so what option i have in current design with glusterfs ? | |
| 17:52:36 | spatel | cinder boot volum? | |
| 17:52:43 | sean-k-mooney | if the sync time between writing a file on one host and reading it on another is long enough we might not detect its on shared storage whchi can be bad | |
| 17:52:58 | sean-k-mooney | cinder boot form vomue woudl work yes | |
| 17:53:19 | spatel | does cinder support glusterfs ? | |
| 17:53:23 | sean-k-mooney | what you are doign can work just be aware that there are dragons wehn you do this. | |
| 17:53:26 | sean-k-mooney | am it used too | |
| 17:54:08 | spatel | I understand this cluster not going to hold critical data. this is for crunch some data and give dynamic result | |
| 17:54:37 | sean-k-mooney | am its avaible for cinder backup | |
| 17:54:38 | sean-k-mooney | https://docs.openstack.org/cinder/latest/drivers.html#glusterfsbackupdriver | |
| 17:54:44 | sean-k-mooney | not sure about cidner in general | |
| 17:55:42 | spatel | let me do some research and see what i can do | |
| 17:56:21 | sean-k-mooney | in generall it looks like no | |
| 17:56:30 | spatel | oh boy :( | |
| 17:56:39 | sean-k-mooney | we do not have a volume driver in nova for gluster | |
| 17:56:41 | sean-k-mooney | https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L176-L191 | |
| 17:56:51 | sean-k-mooney | so it can be used for backup bug not vms | |
| 17:57:25 | spatel | I think i should try NFS now because folks are using it.. | |
| 17:57:45 | spatel | i know you hate but i need something to move forward and deal with issue later. :) | |
| 17:58:22 | spatel | we have plan to buy dedicated ceph storage but that is not today but after few months | |
| 17:59:05 | sean-k-mooney | ack the way we detech shared storage https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L10893-L10912 | |
| 17:59:15 | sean-k-mooney | in principal shoudl work with gluster | |
| 17:59:29 | sean-k-mooney | but im not sure why it woudl not delete the instace directory | |
| 18:00:06 | sean-k-mooney | althogh i dont think that is the only way we check | |
| 18:00:54 | sean-k-mooney | spatel: we have things like this | |
| 18:00:56 | sean-k-mooney | https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L1723-L1731 | |
| 18:01:38 | spatel | sean-k-mooney does nova has any time etc.. where it wait and delete? | |
| 18:01:55 | spatel | I am planning to turn on debug to see what is going on ? | |
| 18:02:01 | sean-k-mooney | well i think part of the delete wil be done by libvirt | |
| 18:02:38 | sean-k-mooney | this si where we do some o fthe lean up https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L1502 | |
| 18:02:54 | sean-k-mooney | https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L11641-L11697 | |
| 18:02:55 | spatel | hmm.. is there any special config which i may missed | |
| 18:03:48 | sean-k-mooney | look for LOG.info('Deletion of %s failed', remaining_path, | |
| 18:03:50 | sean-k-mooney | instance=instance) | |
| 18:06:38 | sean-k-mooney | spatel: you could try https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L10619-L10647 | |
| 18:06:54 | sean-k-mooney | its contoled by instance_delete_interval | |
| 18:07:08 | sean-k-mooney | https://docs.openstack.org/nova/latest/configuration/config.html#DEFAULT.instance_delete_interval | |
| 18:08:18 | sean-k-mooney | spatel: so nova will try to delete the instance every 5 minuts and then retry up to 5 times | |
| 18:08:26 | sean-k-mooney | https://docs.openstack.org/nova/latest/configuration/config.html#DEFAULT.maximum_instance_delete_attempts | |
| 18:09:07 | spatel | let me check that setting and wait.. i can turn on debug also | |
| 18:09:31 | sean-k-mooney | spatel: check the compute agent log for that info message first | |
| 18:09:44 | sean-k-mooney | to confirm that nova failed to delete the instance files | |
| 18:11:56 | spatel | give me few minute to collect some logs | |
| 18:15:01 | sean-k-mooney | no worries | |
| 18:28:54 | spatel | sean-k-mooney as quick check i found this - https://paste.opendev.org/show/812229/ | |
| 18:29:18 | spatel | libvirt trying to delete but its getting failed.. very odd | |
| 18:29:34 | spatel | now going to turn on debug and see | |
| 18:30:05 | sean-k-mooney | ya that is the message i was expecting | |
| 18:31:38 | sean-k-mooney | so like nfs https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L11079 it look like deleteion on gluster is also unreliable | |
| 18:32:22 | spatel | https://paste.opendev.org/show/812230/ | |
| 18:33:08 | spatel | This is odd, when i tried to delete that by hand i got above error | |
| 18:33:21 | sean-k-mooney | so ya looks like a gluster issue | |
| 18:33:34 | spatel | but it deleted files inside that directory | |
| 18:33:48 | spatel | I am going to talk to someone who own that storage and see what is going on | |
| 18:33:55 | sean-k-mooney | ack | |
| 18:34:11 | spatel | Thanks for checking | |
| 18:34:12 | sean-k-mooney | im not sure how gluster tracks files vs direcoties | |
| 18:34:28 | sean-k-mooney | but it may handel directory inodes differently | |
| 18:34:53 | spatel | https://paste.opendev.org/show/812231/ | |
| 18:35:33 | spatel | something is wrong with gluster for sure.. i am able to delete files but not directory | |
| 18:35:46 | sean-k-mooney | ack | |
| 18:35:51 | sean-k-mooney | ya it could also be fuse | |
| 18:36:07 | sean-k-mooney | are you mounting glusterfs with fuse or using a kernel dirver | |
| 18:37:00 | spatel | 10.10.217.21:gluster_vol2/voyager /mnt/glusterfs glusterfs defaults,backup-volfile-servers=10.10.217.22:10.10.217.23:10.10.217.24:10.10.217.25:10.10.217.26 | |
| 18:37:22 | spatel | fuse.. hmm ? | |
| 18:37:47 | spatel | i just install glusterfs-client RPM package and use mount tool to mount it | |