Comments (11)
Yes, this is the issue I was talking about and it puts VM in bad state.
Thanks for documenting.
I'll create a xenserver7 branch because (my first impression from yesterday) it seems SR+RBDSR are both adding the paused state which crash the snapshot process.
I'm not going to test on xenserver<7 and let other people check if the xs7 branch will be compatible with xs<7.
from rbdsr.
Hi,
This error occurs because we unmap image before making snapshot due to problem, described in issue #4. If we have only one host it works fine. But if we have more then one host the error occurs as the image mapped on host2 but snapshot operation is executed by pool master i.e. host1 and try to unmap image that already unmapped on host1.
We could do not unmap the image before making snapshot but if we use nbd and try to make a snapshot the nbd device hang.
So we should find a means how to unmap the image on the right host.
As workaround you can use FUSE mode as it doesn't use map/unmap
from rbdsr.
Hi,
I was not aware that pool master is actually taking the snapshots - but sounds logical. Do you know if it's necessary to map/unmap on host2 (VM running on host2) when host1 is pool master and creating the snapshot?
If not necessary then it would be enough for RDBSR to check for existence of the /dev/nbd/xxx device before unmapping.
If it's also hanging the nbd driver on host2 then we need a mechanism for RBDSR on pool master to contact RBDSR on the pool member(s). Makes it quite complex i guess.
Same situation for VDI cloning?
from rbdsr.
BTW: fuse mode is broken in latest build, too:
['rbd-fuse', '-p', 'RBD_XenStorage-ff12160f-ff09-40bb-a874-1366ad907f44', '/run/sr-mount/ff12160f-ff09-40bb-a874-1366ad907f44', '--name', 'client.admin']
FAILED in util.pread: (rc 1) stdout: '', stderr: 'fuse: invalid argument `client.admin'
Seems as if rdb-fuse doesn't like: --name client.admin
Pull in from my fork to fix.
from rbdsr.
I added the fallback to kernel mode if fuse mode and cephx is used (commit 6e5ed2d)
from rbdsr.
By the way: why unmap + remap if blktap is paused + unpaused?
Isn't it double "paused" of the FS ?
from rbdsr.
because mapped nbd device hangs if you try to make snapshot of the image
i don't know why it hangs but if you unmap before snapshot it doesn't hang
from rbdsr.
Has anyone actually tested if nbd does hang too on a mapped volume if snapshot is done on another host where the volume ist NOT mapped?
from rbdsr.
Issue has been fixed.
copy ceph_plugin.py to /etc/xapi.d/plugins on each host in pool
rename to ceph_plugin and make it executable
It now calls rbd-nbd map/unmap
on the right host
Please test it
from rbdsr.
Just tested it - look very promising. VM Snapshot and snapshot deletion always worked. Regardless of host running on or moving to another host. So i guess you really fixed this.
Well done!
from rbdsr.
Ok. Thank you Martin.
I'm going to close the issue.
from rbdsr.
Related Issues (20)
- install/netinstall out of date, incomplete
- plugin.py appears to be missing on zip package
- v3.0 issue HOT 1
- Convert branch 3.0 in default branch HOT 1
- Wrong archive downloaded by netinstall.sh script. Issues in install.sh downloaded HOT 1
- v3.0 CentOS-Ceph-luminous repo issue
- v3.0 XCP-ng 7.5 got error message on pluggin pbd HOT 2
- v3.0 import .ova images directly to ceph storage doesn't work HOT 7
- a little suggestion with using yum
- 7.5 ceph mimic error pdb-plug HOT 4
- XCP-NG 7.5 - Storage_interface.Backend_error_with_backtrace(_)
- VM not starting, get Hotplug.device.timeout HOT 9
- v2.0 Cluster HA activation fails
- mkdir_p failed HOT 1
- v3.0 cannot activate HA on xcp-cluster with ceph storage HOT 3
- sparse_dd is stuck running at 1MB/s HOT 4
- XCP 7.6 - Tried everything I can think of.. HOT 2
- xcp-ng 7.6 can't create ceph SR HOT 3
- Can't Add Vol in CEPH RBD Storage HOT 2
- Have some error,can't create SR HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rbdsr.