[CRIU] [PATCH v3 00/17] NFS migration support

Stanislav Kinsburskiy skinsbursky at virtuozzo.com
Thu May 19 03:57:06 PDT 2016


v3:
Fixed issues, reported by gcc for armv7

v2:
Rebased on criu-dev

This series adds support for NFS migration (including opened and mapped
files).
To migrate NFS, CRIU uses SPFS - Stub-Proxy File system.
SPFS is a separated project, which can be found here:

https://github.com/skinsbursky/spfs.git

The ideas (very briefly):

Changes on dump:

1) To dump NFS files, network must be operational (at least partially): NFS
ports are opened via action script after CRIU has blocked the network.

Changes on restore:

1) CRIU starts SPFS manager (part of SPFS project; one instance per
container).
2) CRIU instructs SPFS manager to mount SPFS in Proxy mode instead of NFS.
3) CRIU instructs SPFS manager, how to remount the actual file system (NFS).
4) CRIU creates the files to open and map on SPFS mount and opens/maps them.
5) CRIU switches SPFS to Stub mode via action script on restore once all the
files are opened/mapped.

There CRIU task is done.

The rest is done by SPFS manager. It does the following:
1) Remount actual file system.
2) Switch SPFS to proxy mode to the new mounted file system.
3) Freeze container.
4) Replace mount points.
5) Replace opened files and mappings from SPFS files to the actual ones.


More information about the CRIU mailing list