FreeNAS + CARP + HAST?

Status
Not open for further replies.

ternarybit

Cadet
Joined
Nov 6, 2012
Messages
6
I had this dream, a wonderful dream, where two FreeNAS boxes could mirror each other and automatically fail over to one another, creating elegant, simple, cost-effective, automatically backed-up, highly available storage.

Then I read about CARP and HAST, which sounds like just the ticket. I read several guides and manpages, and it all looks very promising.

But the devil's in the details, as they say.

My biggest question is how to keep *everything* mirrored. In my dream, these two boxes would seamlessly remain mirrors of each other, not only in data, but configuration. Can HAST be configured on top of the FreeNAS volumes to keep configs replicated? If this is even possible, are there caveats, pitfalls, etc. I should be aware of?

Also, I don't want to duplicate effort. Is HA on the roadmap for future releases? If so, I might be better off just leaving this to the pros.

Finally, has anyone actually done this, or something like it? Care to share your experience? If such a storage nirvana isn't quite ready for the world of FreeNAS, how might I go about it?

As always, thanks in advance!
 

titan_rw

Guru
Joined
Sep 1, 2012
Messages
586
I don't think freenas has any high availability options.

For that, I think you'll have to look at truenas, the commercially supported version of freenas. I think it does HA. You should maybe give iXsystems a call and explain your requirements.
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
High availability of the sort you're discussing is wickedly more difficult than it seems. In general, NAS has severe difficulty with high availability due to the complexity of the access protocols. If you have a client that is currently talking to one fileserver (CIFS, etc) the second fileserver doesn't have all that context, or even an open connection, for that matter. You can hope that maybe the client will be able to accept a RST and re-establish the connection plus establish that context plus attempt to re-send any data that might have been in-flight. CARP is always problematic with any established-connection style service. A network administrator must build a network with this in mind.

Most of the time, people are simply looking to be able to cut over to the secondary system as a quick way of restoring service. This is definitely more viable, and depending on the specifics, might even be manageable via the existing replication service, which may offer some benefits over HAST as well.
 

ternarybit

Cadet
Joined
Nov 6, 2012
Messages
6
I don't think freenas has any high availability options.

For that, I think you'll have to look at truenas, the commercially supported version of freenas. I think it does HA. You should maybe give iXsystems a call and explain your requirements.

I know that FreeNAS includes CARP and HAST, but it's just not part of the web GUI.

I may contact iXsystems if I can't get something working.

- - - Updated - - -

High availability of the sort you're discussing is wickedly more difficult than it seems. In general, NAS has severe difficulty with high availability due to the complexity of the access protocols. If you have a client that is currently talking to one fileserver (CIFS, etc) the second fileserver doesn't have all that context, or even an open connection, for that matter. You can hope that maybe the client will be able to accept a RST and re-establish the connection plus establish that context plus attempt to re-send any data that might have been in-flight. CARP is always problematic with any established-connection style service. A network administrator must build a network with this in mind.

Most of the time, people are simply looking to be able to cut over to the secondary system as a quick way of restoring service. This is definitely more viable, and depending on the specifics, might even be manageable via the existing replication service, which may offer some benefits over HAST as well.

Thanks very much for this. Before I knew what HAST is, I thought of using CARP for network failover but just syncing the two boxes via replication or even rsync.

A dropped connection and even a few minutes of downtime is perfectly acceptable in my case. Ideally, when the primary system goes offline, the second system becomes available to serve requests under the same hostname or IP. If this switch takes 10 minutes that's a win, compared to a down share that requires manual intervention to fix.

Could I set up two boxes under a CARP address that replicate ZFS to each other?

There is also the question of replicating configuration changes. Every time I modify the primary box, the secondary would need a way of getting that. I have no real solution for this. Any ideas?
 

rofel

Cadet
Joined
Aug 1, 2013
Messages
1
other HA implementations store mappings, configs, etc on the shared pool. in a switchover the old head exports the pool, the scsi reservation changes to the new head, the new head imports the pool and runs scripts with parameters fetched from the pool.

for ha-interconnect you could use a ssh tunnel for exchanging config commands
 
Status
Not open for further replies.
Top