# Managing Filesystems

## Viewing Filesystems

### Viewing Filesystems Using the GUI

The main Filesystems screen in the GUI contains information about the filesystems, including names, tiering status, encryption status, total capacity and used capacity.

![Main Filesystem / Filesystem Group View Screen](https://2246950216-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L7Tp-Uz2nSheoqU9cuv%2F-Lnl8vlY20ve3YQ4G1Lb%2F-LnlGITOmZtY09fPDHWT%2FFS%20Main%20Screen%203.5.png?alt=media\&token=39af285e-5e84-4645-b840-94ee05384502)

### Viewing Filesystems Using the CLI

**Command:** `weka fs`

Use this command to view information on the filesystems in the Weka system.

## Adding a Filesystem

### Adding a Filesystem Using the GUI

From the main filesystem/filesystem group view screen, click the Add Filesystem button at the top right-hand side of the screen. The Add Filesystem screen will be displayed.

![Add Filesystem Screen](https://2246950216-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L7Tp-Uz2nSheoqU9cuv%2F-Lnl8vlY20ve3YQ4G1Lb%2F-LnlFQUABkzKPmquvwkW%2FFS%20add%20Screen%203.5.png?alt=media\&token=3267e5e7-c172-4f1a-a76c-9e656ce187f6)

The Create Filesystem dialog box will be displayed.

![Create Filesystem Dialog Box](https://2246950216-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L7Tp-Uz2nSheoqU9cuv%2F-Lnl8vlY20ve3YQ4G1Lb%2F-LnlAE-6RD4F-WwaxoA3%2FCreate%20fs%203.5.png?alt=media\&token=aa250b41-6803-435b-925d-7f80c30dfde8)

Enter the relevant parameters and click Create to create the filesystem.

### Adding a Filesystem Using the CLI

**Command:** `weka fs create`

Use the following command line to add a filesystem:

`weka fs create <name> <group-name> <total-capacity> [--ssd-capacity <ssd-capacity>] [--thin-provision-min-ssd <thin-provision-min-ssd>] [--thin-provision-max-ssd <thin-provision-max-ssd>] [--max-files <max-files>] [--encrypted] [--obs-name <obs-name>] [--auth-required <auth-required>]`

**Parameters in Command Line**

| **Name**                 | **Type** | **Value**                                                                                                                                                                                        | **Limitations**                    | **Mandatory**                                                                                                                  | **Default**                                                      |
| ------------------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- |
| `name`                   | String   | Name of the filesystem being created                                                                                                                                                             | Must be a valid name               | Yes                                                                                                                            | ​                                                                |
| `group-name`             | String   | Name of the filesystem group to which the new filesystem is to be connected                                                                                                                      | Must be a valid name               | Yes                                                                                                                            |                                                                  |
| `total-capacity`         | Number   | Total capacity of the new filesystem                                                                                                                                                             | Minimum of 1GiB                    | Yes                                                                                                                            |                                                                  |
| `ssd-capacity`           | Number   | For tiered filesystems, this is the SSD capacity. If not specified, the filesystem is pinned to SSD                                                                                              | Minimum of 1GiB                    | <p>No. </p><p>To set a thin provisioned filesystem the <code>thin-provision-min-ssd</code> attribute must be used instead.</p> | SSD capacity will be set to total capacity                       |
| `thin-provision-min-ssd` | Number   | For [thin-provisioned](https://docs.weka.io/3.14/overview/filesystems#thin-provisioning) filesystems, this is the minimum SSD capacity that is ensured to be always available to this filesystem | Minimum of 1GiB                    | <p>No. </p><p>Must be set when defining a thin-provisioned filesystem.</p>                                                     |                                                                  |
| `thin-provision-max-ssd` | Number   | For [thin-proviosined](https://docs.weka.io/3.14/overview/filesystems#thin-provisioning) filesystem, this is the maximum SSD capacity the filesystem can consume                                 | Cannot exceed the `total-capacity` |                                                                                                                                |                                                                  |
| `max-files`              | Number   | Metadata allocation for this filesystem                                                                                                                                                          | Must be a valid number             | No                                                                                                                             | Automatically calculated by the system based on the SSD capacity |
| `encrypted`              | Boolean  | Encryption of filesystem                                                                                                                                                                         |                                    | No                                                                                                                             | No                                                               |
| `obs-name`               | String   | Object store name for tiering                                                                                                                                                                    | Must be a valid name               | Mandatory for tiered filesystems                                                                                               |                                                                  |
| `auth-required`          | String   | Determines if mounting the filesystem requires to be authenticated to Weka ([weka user login](https://docs.weka.io/3.14/usage/security/user-management#user-log-in))                             | `yes` or `no`                      | No                                                                                                                             | no                                                               |

{% hint style="info" %}
**Note:** When creating an encrypted filesystem a KMS must be defined.
{% endhint %}

{% hint style="warning" %}
**Note:** To define an encrypted filesystem without a KMS, it is possible to use the`--allow-no-kms` parameter in the command. This can be useful when running POCs but should not be used in production, since the security chain is compromised when a KMS is not used.

If filesystem keys exist when adding a KMS, they are automatically re-encrypted by the KMS for any future use.
{% endhint %}

### Adding a Filesystem when Thin-Provisioning in use&#x20;

To create a new filesystem, the SSD space for the filesystem must be free and unprovisioned. When using thin-provisioned filesystems, that might not be the case. SSD space can be occupied for the thin-provisioned portion of other filesystems. Even if those are tiered, and data can be released (to object-store) or deleted, the SSD space can still get filled when data keeps being written or rehydrated from the object-store.

To create a new filesystem in this case, use the `weka fs reserve` CLI command. Once enough space is cleared from the SSD (either by releasing to object-store or explicit deletion of data), it is possible to create the new filesystem using the reserved space.tse

## Editing a Filesystem

### Editing an Existing Filesystem Using the GUI

Select the filesystem to be modified in the main filesystem/filesystem group view screen and click the Edit button.

![Edit Filesystem Screen](https://2246950216-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L7Tp-Uz2nSheoqU9cuv%2F-Lnl8vlY20ve3YQ4G1Lb%2F-LnlFBgva-n19qCu2TXr%2FFS%20edit%20Screen%203.5.png?alt=media\&token=dd35362a-8a93-4988-b89a-22a32b3a671e)

The Configure Filesystem dialog box will be displayed.

![Configure Filesystem Dialog Box](https://2246950216-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L7Tp-Uz2nSheoqU9cuv%2F-Lnl8vlY20ve3YQ4G1Lb%2F-LnlAOilXnJEWtlpeM29%2FEdit%20fs%203.5.png?alt=media\&token=6ac5043c-986e-4a6f-8eb3-d95542d96a7d)

Edit the existing filesystem parameters and click Configure to execute the changes.

{% hint style="info" %}
**Note:** It is not possible to change the encryption configuration of a filesystem.
{% endhint %}

### Editing an Existing Filesystem Using the CLI

**Command:** `weka fs update`

Use the following command line to edit an existing filesystem:

`weka fs update <name> [--new-name=<new-name>] [--total-capacity=<total-capacity>] [--ssd-capacity=<ssd-capacity>] [--thin-provision-min-ssd <thin-provision-min-ssd>] [--thin-provision-max-ssd <thin-provision-max-ssd>] [--max-files=<max-files>] [--auth-required=<auth-required>]`

**Parameters in Command Line**

| **Name**                 | **Type** | **Value**                                                                                                                                                                                        | **Limitations**                    | **Mandatory** | **Default**    |
| ------------------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------- | ------------- | -------------- |
| `name`                   | String   | Name of the filesystem being edited                                                                                                                                                              | Must be a valid name               | Yes           | ​              |
| `new-name`               | String   | New name for the filesystem                                                                                                                                                                      | Must be a valid name               | Optional      | Keep unchanged |
| `total-capacity`         | Number   | Total capacity of the edited filesystem                                                                                                                                                          | Must be a valid number             | Optional      | Keep unchanged |
| `ssd-capacity`           | Number   | SSD capacity of the edited filesystem                                                                                                                                                            | Minimum of 1GiB                    | Optional      | Keep unchanged |
| `thin-provision-min-ssd` | Number   | For [thin-provisioned](https://docs.weka.io/3.14/overview/filesystems#thin-provisioning) filesystems, this is the minimum SSD capacity that is ensured to be always available to this filesystem | Minimum of 1GiB                    | Optional      |                |
| `thin-provision-max-ssd` | Number   | For [thin-proviosined](https://docs.weka.io/3.14/overview/filesystems#thin-provisioning) filesystem, this is the maximum SSD capacity the filesystem can consume                                 | Cannot exceed the `total-capacity` | Optional      |                |
| `max-files`              | Number   | Metadata limit for the filesystem                                                                                                                                                                | Must be a valid number             | Optional      | Keep unchanged |
| `auth-required`          | String   | Determines if mounting the filesystem requires to be authenticated to Weka ([weka user login](https://docs.weka.io/3.14/usage/security/user-management#user-log-in))                             | `yes` or `no`                      | No            | no             |

## Deleting a Filesystem

### Deleting a Filesystem Using the GUI

Select the filesystem to be deleted in the main filesystem/filesystem group view screen and click the Delete button.

![Filesystem Delete Screen](https://2246950216-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L7Tp-Uz2nSheoqU9cuv%2F-Lnl8vlY20ve3YQ4G1Lb%2F-LnlEfrcQU_A0pXoQcGm%2FFS%20delete%20Screen%203.5.png?alt=media\&token=a35015d0-213c-4188-b369-8dc07fdb35ca)

The Filesystem Deletion dialog box is displayed.

![Filesystem Deletion Dialog Box](https://2246950216-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L7Tp-Uz2nSheoqU9cuv%2F-Lnl8vlY20ve3YQ4G1Lb%2F-LnlElApMKG1C8Kg7Hy1%2FFS%20delete%20dialog%203.5.png?alt=media\&token=db2b46ce-f386-45e4-82c7-55c3ff1c8f92)

Confirm the filesystem deletion by typing the name of the filesystem and clicking Confirm.

### Deleting a Filesystem Using the CLI

**Command:** `weka fs delete`

Use the following command line to delete a filesystem:

`weka fs delete <name> [--purge-from-obs]`

**Parameters in Command Line**

| **Name**         | **Type** | **Value**                                                                                     | **Limitations**      | **Mandatory** | **Default** |
| ---------------- | -------- | --------------------------------------------------------------------------------------------- | -------------------- | ------------- | ----------- |
| `name`           | String   | Name of the filesystem to be deleted                                                          | Must be a valid name | Yes           |             |
| `purge-from-obs` | Boolean  | For a tiered filesystem, if set, all filesystem data is deleted from the object store bucket. |                      | No            | False       |

{% hint style="danger" %}
**Note:** Using `purge-from-obs` will remove all data from the object-store. This includes any backup data or snapshots created from this filesystem (if this filesystem has been downloaded from a snapshot of a different filesystem, it will leave the original snapshot data intact).

* If any of the removed snapshots have been (or are) downloaded and used by a different filesystem, that filesystem will stop functioning correctly, data might be unavailable and errors might occur when accessing the data.

It is possible to either un-tier or migrate such a filesystem to a different object store bucket before deleting the snapshots it has downloaded.
{% endhint %}
