[Devel] [TRD] NFS migration
Stanislav Kinsburskiy
skinsbursky at virtuozzo.com
Tue Jul 26 08:06:43 PDT 2016
Unlinked files are supported starting from version spfs-0.07.0-1.vz7
27.05.2016 12:09, Stanislav Kinsburskiy пишет:
> 1. Feature
>
> NFS mount point migration via CRIU
> https://jira.sw.ru/browse/PSBM-26967
>
> 2. Description
>
> CRIU now supports NFS file system migration (all versions).
> CRIU itself does mount of SPFS file system (fuse based) instead of NFS
> and starts SPFS manager program.
> SPFS-manager does NFS remount and replaces SPFS by NFS on a running
> container.
>
> 3. Products
>
> Virtuozzo 7
>
> Packages versions (or later):
> vzkernel-3.10.0-327.18.2.vz7.14.5
> criu-2.1.0.31-1.vz7
> spfs-0.03.2-1.vz7
> libvzctl-7.0.217
>
> 4. Testing
>
> 4.1 Basics
> ** Install criu, libvzctl and spfs packages
> ** Create a container
> ** Enable NFS support in container (see man vzctl)
> ** Install NFS package inside the container (nfs-utils in case of
> rpm-based distribution)
> ** Mount NFS share within container
> ** Suspend and resume container.
> ** Wait till all SPFS-related processes exited ("spfs" and
> "spfs-manager").
> ** Check, that NFS mount point is restored.
>
> 4.2 Process, using NFS
> ** Mount NFS share
> ** Start some program, using NFS files (criu has zdtm test suite
> for such purpose)
> ** Suspend and restore container
> ** Wait till all SPFS-related processes exited ("spfs" and
> "spfs-manager").
> ** Check, that processes, using NFS, are running correctly (in case
> of zdtm test suite, stop the test and check result)
>
> 4.3. Multiple suspend/resume
> ** Mount NFS share
> ** Start some program, using NFS files (criu has zdtm test suite
> for such purpose)
> ** Do suspend and restore of a container multiple times
> ** Wait till all SPFS-related processes exited ("spfs" and
> "spfs-manager").
> ** Check, that processes, using NFS, are running correctly (in case
> of zdtm test suite, stop the test and check result)
>
> 4.4. Multiple different NFS shares
> ** Mount NFS share A
> ** Mount NFS share B
> ** Start some program, using NFS A files (criu has zdtm test suite
> for such purpose)
> ** Start some program, using NFS B files (criu has zdtm test suite
> for such purpose)
> ** Do suspend and restore of a container
> ** Wait till all SPFS-related processes exited ("spfs" and
> "spfs-manager").
> ** Check, that processes, using NFS, are running correctly (in case
> of zdtm test suite, stop the test and check result)
>
> 4.5. Multiple equal NFS shares
> ** Mount NFS share A
> ** Bind-mount NFS A to some other directory (NFS B) inside the
> container
> ** Start some program, using NFS A files (criu has zdtm test suite
> for such purpose)
> ** Start some program, using NFS B files (criu has zdtm test suite
> for such purpose)
> ** Do suspend and restore of a container
> ** Wait till all SPFS-related processes exited ("spfs" and
> "spfs-manager").
> ** Check, that processes, using NFS, are running correctly (in case
> of zdtm test suite, stop the test and check result)
> ** Check, that NFS A and NFS B have equal super block (device id)
>
> 4.6. Processes, using NFS
> ** Mount NFS share
> ** Start all the programs supported by SPFS (see below), using NFS
> files (criu has zdtm test suite for such purpose)
> ** Suspend and restore container
> ** Wait till all SPFS-related processes exited ("spfs" and
> "spfs-manager").
> ** Check, that processes, using NFS, are running correctly (in case
> of zdtm test suite, stop the test and check result)
>
> 4.7. MIgrate different NFS versions of NFS (v3, v4, v4.1) without
> locks support
> ** Mount NFS share
> ** Start all the programs supported by SPFS (see below), using NFS
> files (criu has zdtm test suite for such purpose)
> ** Suspend and restore container
> ** Wait till all SPFS-related processes exited ("spfs" and
> "spfs-manager").
> ** Check, that processes, using NFS, are running correctly (in case
> of zdtm test suite, stop the test and check result)
> ** Repeat with different version
>
> 4.8. Migrate different NFS versions of NFS (v3, v4, v4.1) with locks
> support
> ** Mount NFS share
> ** Start all the programs supported by SPFS (see below), using NFS
> files (criu has zdtm test suite for such purpose)
> ** Suspend and restore container
> ** Wait till all SPFS-related processes exited ("spfs" and
> "spfs-manager").
> ** Check, that processes, using NFS, are running correctly (in case
> of zdtm test suite, stop the test and check result)
> ** Repeat with different version
>
> 5. Known issues
>
> Most of NFS restore is done by SPFS (and not by CRIU).
> Currently, SPFS doesn't support:
>
> 1) Fifo migration (will be restored without content)
> 2) Unix socket migration (will be restored without content)
> 3) Unlinked files (will be restored, but files won't be unlinked)
>
> 6. What was checked by developer
>
> From 4.1 to 4.5.
>
> 7. Feature owners
>
> skinsbursky at virtuozzo.com
>
More information about the Devel
mailing list