[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