-
Notifications
You must be signed in to change notification settings - Fork 0
AWS Cluster Setup
phs-sakshi edited this page Aug 7, 2026
·
2 revisions
- In AWS console, start ec2 instances (e.g. m5d.2xlarge) with required private IPs setup for each node
-
The Coordinator node should be able to ssh into all other nodes. Follow instructions: Setup SSH key.
-
Also manually add the public key to github account so we can clone the repo.
The Coordinator node requires manual setup. Follow the instructions on the Experiment Environment Setup page:
- Setup firewall rules
- Mount to local SSD (required for ec2 instances)
- Environment setup
- Install Golang
- Clone the system repo in Coordinator node
# Clone the git repo to under the SSD folder
cd /home/ubuntu/ssd
git clone git@github.com:CASP-Systems-BU/disaggregated-streaming.git-
Modify the
/home/ubuntu/ssd/disaggregated-streaming/scripts/aws/instance.txtfile to include all nodes except the Coordinator node (current node). -
Automatically setup all these nodes
cd /home/ubuntu/ssd/disaggregated-streaming/scripts/aws/
python3 setup_cluster.py- Now your cluster is ready to use!
To stop the cluster, we should persist everything from SSD to EBS
cd /home/ubuntu/ssd/disaggregated-streaming/scripts/aws/
python3 persist_ssd_before_stop.pycd /home/ubuntu/
sudo rsync -a --delete --remove-source-files --exclude='lost+found' /home/ubuntu/ssd/ /home/ubuntu/ebs/ && \
sudo find /home/ubuntu/ssd -mindepth 1 -type d -empty ! -path '/home/ubuntu/ssd/lost+found' -delete && \
sync
Stop all ec2 instances in the AWS console.
To resume a stopped cluster, we should re-mount SSD and move everything from EBS back to SSD.
- Restart all ec2 instances in the AWS console.
- Manually re-mount SSD
sudo mkfs -t ext4 -F /dev/nvme1n1
sudo mount /dev/nvme1n1 /home/ubuntu/ssd
sudo chmod o+w /home/ubuntu/ssd
sudo chown -R ubuntu /home/ubuntu/ssd
df -h- Move everything in EBS back to SSD
sudo rsync -a /home/ubuntu/ebs/ /home/ubuntu/ssd/cd /home/ubuntu/ssd/disaggregated-streaming/scripts/aws/
python3 recover_ssd_after_restart.py