AQUA FIELD GUIDE
Aqua field guide · Mount Aqua

Mount Aqua.
Log in less.

Open Aqua’s files on your own computer through one connection, and check on jobs by reading status files instead of logging in over and over.

Why mount?

Fewer logins, same files.

Every SSH login opens a new connection to Aqua. Polling loops, per-job checks and scripts that connect repeatedly can open hundreds. Mounting Aqua keeps one connection open and lets you browse Aqua’s files like a local folder, in your own editor.

Don’t log in over and over.

Many SSH connections in a short time can trip Aqua’s connection limits. In our experience, SSH can then hang for about an hour—it looks exactly like an outage. This is an observation, not a published QUT limit.

To do this… Use
Read logs, status files and small results The mount
Edit job scripts and configs The mount
Copy datasets or large results rsync or scp. The mount is much slower for bulk data (about 25× in our tests).
Submit jobs or check the queue One batched ssh command (see below)
Run programs A PBS job on a compute node, never through the mount
Set up once

Mount Aqua on your computer.

You need working SSH access first, ideally with an SSH key so the mount can reconnect without a password. Follow QUT’s Aqua guidance for keys and VPN. Replace YOUR_QUT_USERNAME in each example.

  1. Linux

    Your computer · Linux (Debian/Ubuntu shown)
    sudo apt install sshfs
    mkdir -p ~/aqua
    sshfs YOUR_QUT_USERNAME@aqua.qut.edu.au: ~/aqua \
      -o reconnect,idmap=user,ServerAliveInterval=30,ServerAliveCountMax=6
    ls ~/aqua

    The trailing : mounts your Aqua home folder. reconnect recovers after sleep or a network drop; files open at that moment need reopening.

  2. macOS

    Install macFUSE and SSHFS from macfuse.github.io, and allow the system extension if macOS asks. Then:

    Your computer · macOS, after installing macFUSE and SSHFS
    mkdir -p ~/aqua
    sshfs YOUR_QUT_USERNAME@aqua.qut.edu.au: ~/aqua \
      -o reconnect,ServerAliveInterval=30,ServerAliveCountMax=6
    ls ~/aqua
  3. Windows

    SSHFS-Win needs WinFsp; install WinFsp first if winget doesn’t. sshfs.k uses the key in your .ssh folder; use \\sshfs\… instead to be asked for a password. You can also map the same path with File Explorer → Map network drive.

    Your computer · Windows, in PowerShell
    winget install SSHFS-Win.SSHFS-Win
    net use A: \\sshfs.k\YOUR_QUT_USERNAME@aqua.qut.edu.au

Unmount when you are done:

Your computer · when you are finished
# Linux
fusermount -u ~/aqua     # or fusermount3 -u on newer systems
# macOS
umount ~/aqua
# Windows
net use A: /delete

Sources: SSHFS, macFUSE and SSHFS-Win documentation.

The SSH you still need

Reuse one connection.

Submitting and checking the queue still need SSH. With connection sharing, every ssh aqua command for the next 10 minutes reuses one connection instead of logging in again.

Your computer · add to ~/.ssh/config (Linux, macOS, WSL)
Host aqua
    HostName aqua.qut.edu.au
    User YOUR_QUT_USERNAME
    ControlMaster auto
    ControlPath ~/.ssh/cm-%r@%h:%p
    ControlPersist 10m
    ServerAliveInterval 30

Then batch what you need into a single command:

Your computer · one connection, several checks
ssh aqua 'qstat -u "$USER"; qstat -xf JOB_ID | grep -E "job_state|Exit_status"'
  • Run SSH commands one after another, never many in parallel.
  • With this alias you can also mount with sshfs aqua: ~/aqua.
  • Windows’ built-in OpenSSH doesn’t support connection sharing. Use WSL, or keep one interactive session open instead of reconnecting.
Watching jobs

Poll files, not logins.

Have each job write a small status file, then check it through the mount. Checking costs no new connections.

  1. Write status from the job

    Inside job.pbs · after set -euo pipefail and cd
    status="$PBS_O_WORKDIR/status.txt"
    echo "running $PBS_JOBID $(date -Is)" > "$status"
    trap 'echo "finished exit=$? $(date -Is)" >> "$status"' EXIT

    status.txt says running when the job starts and finished exit=0 (or another code) when it ends, even if it fails.

  2. Read it from your computer

    Your computer · check every 5 minutes; Ctrl+C to stop
    while sleep 300; do
      date
      cat ~/aqua/YOUR_RUN_FOLDER/status.txt
    done

    Every few minutes is plenty. You can also just open the file in your editor.

  3. Confirm the end once with PBS

    A job still waiting in the queue hasn’t written a status file yet, and the mount can briefly show a cached copy. When the file says finished, confirm once with ssh aqua 'qstat -xf JOB_ID' and check the outputs.

Using an AI agent?

Point your agent at the mount.

Agents poll often and can open many SSH connections quickly. Tell yours where the mount is and how to use SSH:

Agent prompt · adjust the path and interval
Aqua is mounted at ~/aqua. Read logs, status files and small outputs
through the mount instead of over SSH. Use rsync for large transfers.
When you need the scheduler, batch checks into one `ssh aqua` command,
at most every 10 minutes, and never open SSH connections in parallel.

The aqua-hpc skill already prefers an existing mount for small progress files and batches its SSH queries.

Good habits

Keep the mount light.

  • Don’t run programs or builds against files through the mount; do the work in a job on Aqua.
  • Avoid searching or indexing huge folders through it (for example, an editor indexing a dataset folder). Open the run folder you need.
  • Use rsync for anything large, and never delete remote data through the mount without checking what is there.
  • Unmount when you are finished for the day.