Managing SMB
The Content Software for File system has a number of CLI commands for setting up an SMB cluster over Content Software for File filesystems. Used for managing the cluster itself, they are all located under theweka smb cluster command. They define what Content Software for File hosts will participate in the SMB cluster, and what (if any) public IPs will be exposed by the SMB cluster.
Showing an SMB cluster using the CLI
weka smb cluster
Use this command to view information about the SMB cluster managed by the Content Software for File system.
Showing an SMB domain configuration using the CLI
weka smb domain
Use this command to view information about the SMB domain configuration.
Creating an SMB cluster using the CLI
Use the following command line to create a new SMB cluster to be managed by the Content Software for File system:
weka smb cluster create <name> <domain> [--samba-hosts samba-hosts]... [--smb-ips-pool smb-ips-pool]... [--smb-ips-range smb-ips-range]...
Name | Type | Value | Limitations | Mandatory | Default |
name | String | NetBIOS name for the SMB cluster | Must be a valid name (ASCII) | Yes | |
domain | String | The domain which the SMB cluster is to join | Must be a valid name (ASCII) | Yes | |
samba-hosts | Comma-separated strings | List of 3-8 Content Software for File system hosts to participate in the SMB cluster, based on the host IDs in Content Software for File | Must be valid host IDs | Yes | |
smb-ips-pool | Comma-separated IP addresses | The public IPs used as floating IPs for the SMB cluster to serve the SMB over and thereby provide HA; should not be assigned to any host on the network | Must be valid IP addresses | No | |
smb-ips-range | IP address range | The public IPs used as floating IPs for the SMB cluster to serve the SMB over and thereby provide HA; should not be assigned to any host on the network | Format: A.B.C.D-E for example, 10.10.0.1-100 | No | |
domain-netbios-name | String | Domain NetBIOS name | Must be a valid name (ASCII) | No | First part of domain parameter |
- All IPs must reside on the same subnet, in order to enable HA through IP takeover.
- The IPs must be configured but MUST NOT be in use by any other application/host in the subnet, including Content Software for File system management nodes, Content Software for File system IO nodes, or Content Software for File system NFS floating IPs. In AWS environments, this is not supported and these IPs should not be provided.
- The --smb-ips parameter is supposed to accept the public IPs that the SMB cluster will expose. To mount the SMB cluster in an HA manner, they should be mounted via one of the exposed public IPs, thereby ensuring that they will not lose connection if one of the SMB hosts fails.
- If it is necessary to set global options to the SMB library, contact customer support.
weka smb cluster create wekaSMB mydomain --samba-hosts 0,1,2,3,4 --smb-ips-pool 1.1.1.1,1.1.1.2 --smb-ips-range 1.1.1.3-5
In this example of a full command, an SMB cluster is configured over the Content Software for File system hosts 0-4. The SMB cluster is called wekaSMB, the domain name is called mydomain, and is directed to use public IPs 1.1.1.1 to 1.1.1.5.
Checking status of SMB host readiness using the CLI
weka smb cluster status
Use this command to check the status of the hosts which are part of the SMB cluster. Once all host are prepared and ready, it is possible to join an SMB cluster to an Active Directory.
Joining an SMB cluster to an Active Directory using the CLI
Use the following command line to join an SMB domain to an Active Directory:
weka smb domain join <username> <password>
Name | Type | Value | Limitation | Mandatory | Default |
username | String | Name of a user with permissions to add a machine to the domain | Must be a valid name (ASCII) | Yes | |
password | String | The password of the user | Must be a valid password (ASCII) | Yes |
In order to join another Active Directory to the current SMB cluster configuration, it is necessary to leave the current Active Directory. This is performed using the following command line:
weka smb domain leave <username> <password>
On completion of this operation, it is possible to join another Active Directory to the SMB cluster.
Deleting an SMB cluster using the CLI
weka smb cluster destroy
Use this command to destroy an SMB cluster managed by the Content Software for File system. Deleting an existing SMB cluster managed by the system does not delete the backend Content Software for File filesystems, but removes the SMB share exposures of these filesystems.
Configuring trusted domains using the CLI
How to configure trusted domains using the CLI.
Listing trusted domains using the CLI
Use this command to list all the configured trusted domains and their ID ranges.
Adding trusted domains using the CLI
Use the following command line to add an SMB trusted domain:
weka smb cluster trusted-domains add <domain-name> <from-id> <to-id>
Name | Type | Value | Limitations | Mandatory | Default |
domain-name | String | The name of the domain being added | Must be a valid name (ASCII) | Yes | |
from-id | Number | The first ID of the range for the domain ID mapping | The range cannot overlap with other domains | Yes | |
to-id | Number | The last ID of the range for the domain ID mapping | The range cannot overlap with other domains | Yes |
Removing trusted domains using the CLI
Use the following command line to remove an SMB trusted domain:
weka smb cluster trusted-domains remove <domain-id>
Name | Type | Value | Limitations | Mandatory | Default |
domain-id | Number | The internal ID of the domain to remove | Yes |
Listing SMB shares using the CLI
weka smb share
Use this command to list all existing SMB shares.
Adding SMB shares using the CLI
weka smb share add
Use the following command line to add a new share to be exposed to SMB:
smb share add <share-name> <fs-name> [--description description] [--internal-path internal-path] [file-create-mask] [directory-create-mask]
Name | Type | Value | Limitations | Mandatory | Default |
share-name | String | Name of the share being added | Must be a valid name (ASCII) | Yes | |
fs-name | String | Name of the filesystem to share | Must be a valid name. A filesystem set with required authentication cannot be used for SMB share. | Yes | |
description | String | Description of what the share will receive when viewed remotely | Must be a valid string | No | No description |
internal-path | String | The internal path within the filesystem (relative to its root) which will be exposed | Must be a valid path | No | |
file-create-mask | String | POSIX permissions for the file created through the SMB share | Numeric (octal) notation | No | 0744 |
directory-create-mask | String | POSIX permissions for directories created through the SMB share | Numeric (octal) notation | No | 0755 |
weka smb share add rootShare default weka smb share add internalShare default --internal-path some/dir --description "Exposed share"In this example, the first SMB share added has the Content Software for File system share for default. The second SMB share has internal for default.
Updating SMB shares using the CLI
weka smb share update
Use the following command line to update an existing share:
weka smb share update <share-id> [--encryption encryption]
Name | Type | Value | Limitations | Mandatory | Default |
share-id | Number | The ID of the share to be updated | Must be a valid share ID | Yes | |
encryption | String | The share encryption policy. desired - turns on data encryption for this share for clients that support encryption if negotiation has been enabled globally. required - enforces encryption for the shares. Clients that do not support encryption will be denied access to the share. If the global option is set to disabled access will be denied to these shares for all clients | cluster_default desired or required | No |
Controlling SMB shares users lists using the CLI
How to control SMB shares users lists using the CLI.
Showing SMB share user lists using the CLI
weka smb share lists show
Use this command to view the various user-list settings:
Adding SMB share user to list using the CLI
weka smb share lists add
Use the following command line to add users to a share user-list:
weka smb share lists add <share-id> <user-list-type> <--users users>...
Name | Type | Value | Limitations | Mandatory | Default |
share-id | Number | The ID of the share to be updated | Must be a valid share ID | Yes | |
user-list-type | String | The type of permissions list for users |
read_only - list of users that will not be given write access to the share, regardless of the read-only setting. read_write - list of users that will be given write access to the share, regardless of the read-only setting. valid - list of users that are allowed to log-in to this share SMB service (empty list - all users are allowed) invalid - list of users that are not allowed to log-in to this share SMB service | Yes | |
users | A comma-separated list of strings | A list of users to add to the user-list-type list. Can use the @ notation to allow groups of users, for example root, Jack, @domain\admins | Up to 8 users/groups for all lists combined per share | Yes |
Removing SMB share user from lists using the CLI
weka smb share lists remove
Use the following command line to remove users from a share user-list:
weka smb share lists remove <share-id> <user-list-type> <--users users>...
Name | Type | Value | Limitations | Mandatory | Default |
share-id | Number | The ID of the share to be updated | Must be a valid share ID | Yes | |
user-list-type | String | The type of permissions list for users | read_only - list of users that will not be given write access to the share, regardless of the read-only setting. read_write - list of users that will be given write access to the share, regardless of the read-only setting. valid - list of users that are allowed to log-in to this share SMB service (empty list - all users are allowed) invalid - list of users that are not allowed to login to this share SMB service | Yes | |
users | A commaseparated list of Strings | A list of users to remove from the user-list-type list. Can use the @ notation to allow groups of users, for example, root, Jack, @domain\admins | Up to 8 users/groups for all lists combined per share | Yes |
Resetting SMB share user lists using the CLI
weka smb share lists reset
Use the following command line to remove all users from a share user-list:
weka smb share lists reset <share-id> <user-list-type>
Name | Type | Value | Limitations | Mandatory | Default |
share-id | Number | The ID of the share to be updated | Must be a valid share ID | Yes | |
user-list-type | String | The type of permissions list to reset | read_only - list of users that will not be given write access to the share, regardless of the read-only setting. read_write - list of users that will be given write access to the share, regardless of the read-only setting. valid - list of users that are allowed to log-in to this share SMB service (empty list - all users are allowed) invalid - list of users that are not allowed to log-in to this share SMB service | Yes |
Removing SMB shares using the CLI
weka smb share remove
Use the following command line to remove a share exposed to SMB:
weka smb share remove <share-id>
Name | Type | Value | Limitation | Mandatory | Default |
share-id | String | The ID of the share to be removed | Must be a valid share ID | Yes |
weka smb share remove 1