Table of Contents
Jibe and SMB Providers
SMB2 change notifications can be used to identify files and folders that have been modified outside the Access Anywhere and sync them with the Access Anywhere metadata.
Jibe Sync with SMB Notifications
For general information on Jibe see Jibe Documentation.
Overview
- Near Real-Time - Metadata in Access Anywhere is updated in most cases within 15 seconds after objects are updated in SMB.
Getting Started
SMB Setup
Account credentials are required with at least list-only access to the file servers being monitored.
Access Anywhere Setup
Jibe needs a Access Anywhere account with an Administrator role in order to synchronize files and folders.
Jibe Installation
See Installation.
Configuration File
Change the endpoint and credentials in jibe-config.json
to those of
your Access Anywhere Server.
Create an “SMB” source.
{ "endpoint": "https://example.com", "login": "adminuser@example.com", "password": "*****", "sources": [ { "name" : "Provider Name", "flavor" : "SMB", "share" : "ExampleShare", "smb_dir" : "", "smb_server" : "smb.example.com", "smb_username" : "smbuser", "smb_password" : "smbpass" } ] }
For more information see Jibe Configuration and Jibe Logging.
Implementation Notes
SMB Change Notifications
The SMB2 protocol supports subscribing to change notifications via blocking requests (aka long polling).
For more information:
Recovery
Since we’re using an event stream rather than logs or queues if Jibe is not actively listening to the event stream, changes are lost; there is no history to use for recovery.
For recovery of missing events, use a full provider resync. You could also run Jibe on two different nodes so that Jibe somewhere is always listening to SMB events.
Folders
SMB notification logic currently does not distinguish files from folders. Jibe will try to sync an event as a file, and based on the event and error may retry as a folder.
Folder Rename
When a folder is renamed or moved Jibe will process the SMB event as separate delete and add events. That is, as if a folder is being deleted and a new folder created.
When Access Anywhere detects a removed folder on sync it will start a background delete task to remove child metadata.
When Access Anywhere detects a new folder on sync it does not automatically sync the new folder tree. In this case Jibe will start a deep cloud refresh task in the background.
For new folders Jibe can also walk the new folder tree (depth-first) and run resyncs on each subfolder. To set this behavior for the instance or a source use this setting:
"use_providersyncinbackground": false
Renaming a folder generates two SMB events, remove and add.
Batching
Jibe batches in groups of 5 seconds for better performance.
Cache Consistency
A 5-15 second delay is added before SMB events are processed.
Access Anywhere Files
Jibe will not synchronize internal files and temp files created by Access Anywhere processes.
For more information see the configuation settings for skip_naapath
, skip_tmp
and skip_lock
.
Remote Nasuni Filers
Jibe does not currently process STATUS_NOTIFY_ENUM_DIR
events which indicate changes were made on a remote filer.
Heartbeat
A file is created/removed if an SMB event is not seen for 10 minutes, configurable with heartbeat_minutes
. Disable by setting heartbeat
to false.
The hearbeat file is /jibe-heartbeat.txt. It can be changed with heartbeat_folder
and heartbeat_filename
. An extension 'txt' is always added.
If no events are seen for 20 minutes the SMB connection is closed and reopened.
This is configurable with no_events_restart_minutes
. Disable with no_events_restart
.
Heartbeat
A file is created/removed if an SMB event is not seen for 10 minutes, configurable with heartbeat_minutes
. Disable by setting heartbeat
to false.
The default hearbeat file is /jibe-heartbeat.txt. It can be changed with heartbeat_folder
and heartbeat_filename
. An extension 'txt' is always added.
{ "heartbeat" : true, "heartbeat_minutes" : 10, "heartbeat_folder" : "/", "heartbeat_filename" : "jibe-heartbeat" }
If no events are seen for 20 minutes the SMB connection is closed and reopened. This is configurable with no_events_restart_minutes
. Disable with no_events_restart
.
{ "no_events_restart" : true, "no_events_restart_minutes" : 15 }
Vendors
We have tested with the following implementations.
- Windows NT
- Nasuni UniFS
- AWS FSx for Windows
- Azure NetApp Files
- Hidden folders supported