IDrive® e2 Integration with GeeseFS

    This guide provides step-by-step instructions to integrate IDrive® e2 with GeeseFS, a high-performance FUSE-based file system for S3-compatible storage. By following these steps, you can mount your IDrive® e2 bucket as a local file system, enabling seamless file operations.

    Table of contents

    1. Prerequisites
    2. Install GeeseFS
    3. Configure GeeseFS
    4. Configuring automate mounting with /etc/fstab
    5. Validate the Mount

    Prerequisites

    Before proceeding, ensure you have the following:

    1. An active IDrive® e2 account. Sign up here if you do not have one.
    2. A bucket in IDrive® e2. Learn how to create a bucket.
    3. Valid Access Key ID and Secret Access Key. Refer this to create.
    4. A Linux-based system with FUSE support.
    5. aws cli is installed on your local machine AND, aws configure has been configured with the profile and access keys that will be used by GeeseFS.
      OR
      You have set up the GeeseFS access keys using one of the methods outlined here.
    6. You have a local directory on your machine that your bucket will be mounting to.

    How do I use GeeseFS with IDrive® e2?

    GeeseFS is a *nix based S3 mounting utility validated for use with IDrive® e2. To use this product with IDrive® e2, please follow the config tips below.

    Installing GeeseFS

    1. The following steps were performed on an RHEL/CentOS based system, and can be found here.
      Install fuse,
      sudo yum install fuse fuse3
    2. Download GeeseFS:
      wget 
      https://github.com/yandex-cloud/geesefs/releases/latest/download/geesefs-linux-amd64 -O /usr/bin/geesefs
    3. Update permissions for the GeeseFS program:
      chmod a+x /usr/bin/geesefs

    Configuring GeeseFS

    The following is an outline of the GeeseFS command structure,

    geesefs [OPTIONS] [BUCKET] [LOCAL PATH]

    For more information on available options, you can view the GeeseFS documentation here or use GeeseFS help at your terminal.

    geesefs --help

    This is an example command that will mount the geesefs-bucket you have created in the <IDrive® e2 Region> region with IDrive® e2, using the geesefs profile, to the /mnt/geesefs path on your local machine:

    geesefs --file-mode=0666 --dir-mode=0777 --list-type=1 --region <IDrive e2 Region> --endpoint https://<IDrive e2 endpoint> --profile geesefs geesefs-bucket /mnt/geesefs

    Configuring automount using /etc/fstab

    The following is an outline of the fstab entry structure,

    [BUCKET] [MOUNT POINT] [FILE SYSTEM TYPE] [FILESYSTEM OPTIONS] [dump PARAM] [fsck PARAM]

    For more information, you can view some fstab documentation here.

    This is an example fstab entry that will mount the geesefs-bucket you have created in the <IDrive® e2 Region> region with IDrive® e2, using the geesefs profile, to the /mnt/geesefs path on your local machine upon boot, or when using mount -a.

    geesefs-bucket /mnt/geesefs fuse.geesefs 
    _netdev,allow_other,--file-mode=0666,--dir-mode=0777,--list-type=1,--region=<IDrive e2 Region>,--endpoint=https://<IDrive e2 endpoint>,--profile=geesefs 0 0

    Alternative Heredoc for appending the GeeseFS entry into fstab

    cat <> /etc/fstab 
    # GeeseFS IDrive e2 Mount
    geesefs-bucket /mnt/geesefs fuse.geesefs
    _netdev,allow_other,--file-mode=0666,--dir-mode=0777,--list-type=1,--region=<IDrive e2 Region>,--endpoint=https://<IDrive e2 endpoint>,--profile=geesefs 0 0
    EOF

    Validation

    At this point, the geese-bucket should successfully be mounted to /mnt/geesefs. To validate this you can use normal *nix commands to manage files for /mnt/geesefs, and confirm they are added/removed to the bucket by viewing the bucket in the IDrive® e2 Console or using other commands like aws s3 ls.