ONTAP Discussions

Issue recreating a vfiler with "vfiler create -r" command

REGIS_GARRUCHET
2,189 Views

Hi,

IHAC who is using the following command:

vfiler create new_vfiler -r /vol/vol_root -b oldvfilername

on a snapmirror destination.

Usually, it works very well (and it permits to keep the whole vfiler configuration while using the NMC DR Mirror policies to do some easy failover to DRP site)

Why changing the name of the vfiler? Just to avoid having 2 objects with the same name in the DFM database.

So usually, you can use this command to do the DR :

vfiler create secondary_vfiler -r /vol/vol_root -b primary_vfiler

and come back to the original (after a reverse snapmirror).

vfiler create primary_vfiler -r /vol/vol_root -b secondary_vfiler

But today, my customer got this message (with the real names):

Could not import vfiler configuration from the given etcstore "/vol/sv001272_root" for vfiler "sv001272_bis".Unable to recreate vfiler sv001272_bis.
Vfiler sv001272_bis not created

I know he was using the right names and path.
After searching for a while, I found that it worked with this command:

vfiler create secondary_vfiler -r /vol/vol_root -b previous_secondary_vfiler_name

On the primary controller, the vfiler name was "primary_vfiler", so there is no reason that we must use the name "previous_secondary_vfiler_name" after the "-b" argument.

So, it seems, the vfiler on the secondary controller kept the configuration of a previous version of this vfiler with a different name.

I haven't found anything about such an issue.

Is there a way to know the name of a vfiler configuration that should be used after the "-b" argument by looking at the configuration files or by using a command.

Thank you for your help.

Régis

1 ACCEPTED SOLUTION

REGIS_GARRUCHET
2,194 Views

Just to close the thread:

The issue happens when you have the following sequence:

1. primary vfiler mirrored to secondary controller

2. Failover to secondary controller:

vfiler create secondary_vfiler -r /vol/vol_root -b primary_vfiler

3. then secondary vfiler mirror to primary controller

4. Failback to primary controller : vfiler start primary vfiler

5. primary vfiler mirrored to secondary controller

6. Failover to secondary controller:

vfiler create secondary_vfiler -r /vol/vol_root -b primary_vfiler ----> the problem occurs because we didn't completely recreate the primary vfiler after the failback. We must use the previous secondary_vfiler name instead of the primary_vfiler name in the vfiler create command.

To avoid this, one must use the following sequence:

1. primary vfiler mirrored to secondary controller

2. Failover to secondary controller:

vfiler create secondary_vfiler -r /vol/vol_root -b primary_vfiler,

2.5. On primary controller, destroy the primary vfiler instead of just stopping it.

3. then secondary vfiler mirror to primary controller

4. Failback to primary controller : vfiler create primary_vfiler -r /vol/vol_root -b secondary_vfiler

5. primary vfiler mirrored to secondary controller

6. Failover to secondary controller:

vfiler create secondary_vfiler -r /vol/vol_root -b primary_vfiler ----> the problem doesn't occur

View solution in original post

1 REPLY 1

REGIS_GARRUCHET
2,195 Views

Just to close the thread:

The issue happens when you have the following sequence:

1. primary vfiler mirrored to secondary controller

2. Failover to secondary controller:

vfiler create secondary_vfiler -r /vol/vol_root -b primary_vfiler

3. then secondary vfiler mirror to primary controller

4. Failback to primary controller : vfiler start primary vfiler

5. primary vfiler mirrored to secondary controller

6. Failover to secondary controller:

vfiler create secondary_vfiler -r /vol/vol_root -b primary_vfiler ----> the problem occurs because we didn't completely recreate the primary vfiler after the failback. We must use the previous secondary_vfiler name instead of the primary_vfiler name in the vfiler create command.

To avoid this, one must use the following sequence:

1. primary vfiler mirrored to secondary controller

2. Failover to secondary controller:

vfiler create secondary_vfiler -r /vol/vol_root -b primary_vfiler,

2.5. On primary controller, destroy the primary vfiler instead of just stopping it.

3. then secondary vfiler mirror to primary controller

4. Failback to primary controller : vfiler create primary_vfiler -r /vol/vol_root -b secondary_vfiler

5. primary vfiler mirrored to secondary controller

6. Failover to secondary controller:

vfiler create secondary_vfiler -r /vol/vol_root -b primary_vfiler ----> the problem doesn't occur

Public