

# Explore the cluster environment in AWS PCS
<a name="getting-started_explore"></a>

 After you have logged into the cluster, you can run shell commands. For instance, you can change users, work with data on shared filesystems, and interact with Slurm. 

## Change user
<a name="getting-started_explore_change-user"></a>

 If you have logged in to the cluster using Session Manager, you may be connected as `ssm-user`. This is an special user that is created for Session Manager. Switch to the default user on Amazon Linux 2023 using the following command. You will not need to do this if you connected using SSH.

```
sudo su - ec2-user
```

## Work with shared file systems
<a name="getting-started_explore_fs"></a>

You can confirm that the EFS filesystem and FSx for Lustre file systems are available with the command `df -h`. Output on your cluster should resemble the following:

```
[ec2-user@ip-10-3-6-103 ~]$ df -h
Filesystem                 Size  Used Avail Use% Mounted on
devtmpfs                   3.8G     0  3.8G   0% /dev
tmpfs                      3.9G     0  3.9G   0% /dev/shm
tmpfs                      3.9G  556K  3.9G   1% /run
tmpfs                      3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/nvme0n1p1              24G   18G  6.6G  73% /
127.0.0.1:/                8.0E     0  8.0E   0% /home
10.3.132.79@tcp:/zlshxbev  1.2T  7.5M  1.2T   1% /shared
tmpfs                      780M     0  780M   0% /run/user/0
tmpfs                      780M     0  780M   0% /run/user/1000
```

 The `/home` filesystem mounts 127.0.0.1 and has a very large capacity. This is the EFS file system that you created earlier in the tutorial. Any files written here will be available under `/home` on all nodes in the cluster. 

 The `/shared` filesystem mounts a private IP and has a capacity of 1.2 TB. This is the FSx for Lustre file system that you created earlier in the tutorial. Any files written here will be available under `/shared` on all nodes in the cluster. 

## Interact with Slurm
<a name="getting-started_explore_slurm"></a>

**Contents**
+ [List queues and nodes](#getting-started_explore_slurm_queues)
+ [Show jobs](#getting-started_explore_slurm_jobs)

### List queues and nodes
<a name="getting-started_explore_slurm_queues"></a>

 You can list the queues and the nodes they are associated with using `sinfo`. Output from your cluster should resemble the following: 

```
[ec2-user@ip-10-3-6-103 ~]$ sinfo
PARTITION AVAIL  TIMELIMIT  NODES  STATE NODELIST
demo         up   infinite      4  idle~ compute-1-[1-4]
[ec2-user@ip-10-3-6-103 ~]$
```

 Note the partition named `demo`. Its status is `up` and it has a maximum of 4 nodes. It is associated with nodes in the `compute-1` node group. If you edit the compute node group and increase the maximum number of instances to 8, the number of nodes would read `8` and the node list would read `compute-1-[1-8]`. If you created a second compute node group named `test` with 4 nodes, and added it to the `demo` queue, those nodes would show up in the node list as well. 

### Show jobs
<a name="getting-started_explore_slurm_jobs"></a>

 You can list all jobs, in any state, on the system with `squeue`. Output from your cluster should resemble the following: 

```
[ec2-user@ip-10-3-6-103 ~]$ squeue
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
```

Try running `squeue` again later, when you have a Slurm job pending or running. 