ONTAP Discussions

snapmirror compression 7-mode 8.x

axsys
6,479 Views

 Hey Guys,

 

My current snapmirror configuration is pretty simple asynchron every 30min all fine with that:

fil-02-p:volname1 fil-01-p:volname1 - 30 * * *

 

Now I've been asked to enable compression. I've been checking https://library.netapp.com/ecmdocs/ECMP1511538/html/man5/na_snapmirror.conf.5.html and various threads on here and several other sites. As far as I understood compression can only be enabled through a snapmirror relationship entry but I'm not able to get this thing going. This is my current configuration in snapmirror.conf:

rep = failover(fil-02-p,fil-01-p)(fil-02-p-e0a,fil-01-p-e0a)
rep:volname1 dest:volname1 compression=enable - 30 * * *

 

when I'm trying now to update the snapmirror:
snapmirror update volname1
Source not set on command line or in /etc/snapmirror.conf file.

 

snapmirror update -S rep:volname1 dest:volname1
Illegal destination filer specification: dest.
Destination filer, if specified, must match the local host: fil-01-p.

 

When I replace "dest" with fil-01-p this isn't really what I'm after as the failover logic wouldn't be there anymore?

snapmirror update -S rep:volname1 fil-01-p:volname1
SnapMirror: destination transfer from rep:volname1 to volname1 : cannot connect to source filer.
Transfer aborted: cannot connect to source filer.

 

Can anyone help who's got this configured on their system?

Cheers, axsys

1 ACCEPTED SOLUTION

axsys
6,383 Views

Found the issue. I only had the localhost ip / hostname in each of the host files.

means on fil-01-p:/etc/hosts I had to add:

IPADDRESS fil-02-p
IPADDRESS fil-02-p-e0a

 

means on fil-02-p:/etc/hosts I had to add:

IPADDRESS fil-01-p
IPADDRESS fil-01-p-e0a

 

I was so sure I had them both in as I expected snapmirror to not work without it. But somehow he found a way with the DNS I guess.

 

then I adjusted the config according to this article: https://library.netapp.com/ecmdocs/ECMP1196991/html/GUID-BB8BD542-B83F-43FD-A565-1FD20026B4C3.html

rep = failover(SRC_IPADDRESS_1,DEST_IPADDRESS_1)(SRC_IPADDRESS_2,DEST_IPADDRESS_2)
rep:volname1 fil-01-p:volname1 compression=enable * * * *

 

re-initialized snapmirror.conf by:

snapmirror off

snapmirror on

 

and snapmirror status should give you something like that:

Snapmirror is on.
Source Destination State Lag Status
rep:volname1 fil-01-p:volname1 snapmirrored 00:02:55 Idle

 

You should now be able to update with:

snapmirror update volname1

 

If not, you're still having a configuration issue somewhere.
Cheers,
axsys

View solution in original post

6 REPLIES 6

YIshikawa
6,461 Views

Last one is collect. Destination name must be nodename of destination filer.

By the way, comibation of hostnames is correct? Both hostname can be resolved to IP address? Source IP is reachable from destination IP? Have you already added snapmirror.access?

axsys
6,414 Views

Hey Guys! Thanks for getting back at me. For some reason I wasn't emailed about your replies and only just remembered this 😞


 

 


YIshikawa wrote:

 

 

 

Destination name must be nodename of destination filer.

 


See that's where I'm confused. I can't figure, out of the netapp man for snapmirror.conf, how to build the replication. So you're saying it should look like this?

 

rep = failover(fil-02-p,fil-01-p)(fil-02-p-e0a,fil-01-p-​e0a)
rep:volname1 fil-01-p:volname1 compression=enable - 30 * * *


 

 


YIshikawa wrote:

 

 

 

By the way, comibation of hostnames is correct? Both hostname can be resolved to IP address? Source IP is reachable from destination IP? Have you already added snapmirror.access?

 


1. Asuming that mypath = failover (SRC,DEST)(SRC-e0a,DEST-e0a) then, yes
2. I use host files:
fil-01-p> ping fil-02-p
fil-02-p.mydomain is alive
fil-01-p> ping fil-02-p-e0a
fil-02-p-e0a.mydomain is alive
fil-02-p> ping fil-01-p
fil-01-p.mydomain is alive
fil-02-p> ping fil-01-p-e0a
fil-01-p-e0a.mydomain is alive
3. yes they are reachable, if not I wouldn't be able to do snapmirror in the first place with the classic srcfilername:volume destfilername:volume with about 20 or so volumes.
4. snapmirror.access is legacy
5. snapmirror.allow have both hosts in both files - once again classic style snapmirror works without problems.

I tried following now:
rep = failover(fil-02-p,fil-01-p)(fil-02-p-e0a,fil-01-p-​e0a)
rep:volname1 fil-01-p:volname1 compression=enable - 30 * * *

Don't really understand the idea behind it because you actually tell what src & dest is in the "rep" path. So how the hell would the filer know wether to take failover link or not? Like fil-01-p or fil-01-p-e0a as a destination?

Anyway the snapmirror update doesn't work either. The only thing that works is a:

 

snapmirror update -S fil-02-p:volname1 fil-01-p:volname1

 

but that's not doing it with any compression so it's ignoring the snapmirror.conf entries.

neto
6,452 Views

Hi my friend,

 

This is neto from Brazil

 

How are you?

 

Assuming it's 7-mode 😉

 

rep = failover(fil-02-p,fil-01-p)(fil-02-p-e0a,fil-01-p-e0a)
rep:volname1 dest:volname1 compression=enable - 30 * * *

 

when I'm trying now to update the snapmirror:
snapmirror update volname1
Source not set on command line or in /etc/snapmirror.conf file.

 

----- You need to add this on snapmirror.conf if you want to execute snapmirror update

 

snapmirror update -S rep:volname1 dest:volname1
Illegal destination filer specification: dest.
Destination filer, if specified, must match the local host: fil-01-p.

 

------ Probably the filername is fil-01-p and you are using specific hostnames (with specific ports) to replicate. Is that correct? Why not to add on /etc/hosts that rep is fil-01-p 

like:

 

<ip address> rep fil-01-p

 

When I replace "dest" with fil-01-p this isn't really what I'm after as the failover logic wouldn't be there anymore?

snapmirror update -S rep:volname1 fil-01-p:volname1
SnapMirror: destination transfer from rep:volname1 to volname1 : cannot connect to source filer.
Transfer aborted: cannot connect to source filer.

 

Could you please try and let me know?

 

if you want to schedule a WebEx with me, please send me an email to [n,netofrombrazil,neto] at netapp dot com

 

Thank you

 

neto

axsys
6,413 Views

@neto wrote:

Hi my friend,

 

This is neto from Brazil

 

How are you?

 

Assuming it's 7-mode 😉

 

----- You need to add this on snapmirror.conf if you want to execute snapmirror update

  

------ Probably the filername is fil-01-p and you are using specific hostnames (with specific ports) to replicate. Is that correct? Why not to add on /etc/hosts that rep is fil-01-p 

like:

 

Could you please try and let me know?


Oi Neto 😉

1. The title of the subject: Re: snapmirror compression 7-mode 8.x states clearly that I'm talking about 7-mode 😉
2. I did mention that this is already in snapmirror.conf of course: "This is my current configuration in snapmirror.conf:" where else should I put that in? 😉
3. I've got them in my /etc/hosts and I can resolve them via DNS. Both ways work. Current classical snapmirror is working fine. I need to figure how to snapmirror with the non traditional configuration so I can compress the transfer.

Obrigado,
Carlos

neto
6,409 Views

Oi Carlos,

 

This is neto from Brazil

 

How are you?

 

Tudo bem?

 

Have you tried this:

/etc/hosts

 

<ip address> rep fil-01-p

 

Thanks

 

neto

axsys
6,384 Views

Found the issue. I only had the localhost ip / hostname in each of the host files.

means on fil-01-p:/etc/hosts I had to add:

IPADDRESS fil-02-p
IPADDRESS fil-02-p-e0a

 

means on fil-02-p:/etc/hosts I had to add:

IPADDRESS fil-01-p
IPADDRESS fil-01-p-e0a

 

I was so sure I had them both in as I expected snapmirror to not work without it. But somehow he found a way with the DNS I guess.

 

then I adjusted the config according to this article: https://library.netapp.com/ecmdocs/ECMP1196991/html/GUID-BB8BD542-B83F-43FD-A565-1FD20026B4C3.html

rep = failover(SRC_IPADDRESS_1,DEST_IPADDRESS_1)(SRC_IPADDRESS_2,DEST_IPADDRESS_2)
rep:volname1 fil-01-p:volname1 compression=enable * * * *

 

re-initialized snapmirror.conf by:

snapmirror off

snapmirror on

 

and snapmirror status should give you something like that:

Snapmirror is on.
Source Destination State Lag Status
rep:volname1 fil-01-p:volname1 snapmirrored 00:02:55 Idle

 

You should now be able to update with:

snapmirror update volname1

 

If not, you're still having a configuration issue somewhere.
Cheers,
axsys

Public