Terkadang kita perlu mengattach volume tambahan (secondary volume EBS) ke instance yang kita punya. Tujuannya adalah:
- Untuk menampung file temporary
- Sebagai tempat backup / archive data.
Pada demo kali ini, anggaplah kita sudah punya instance dan ingin menambahkan secondary volume ke instance tersebut.
Spesifikasi yang saya gunakan:
- Instance dengan tipe t2.micro
- Instance berada di region singapore, pada Availability Zone (AZ) ap-southeast-1a
- OS ubuntu 24.04
Ringkasan step-stepnya adalah:
- Membuat volume EBS
- Meng-attach volume ke Instance
- Mounting volume ke folder
Membuat volume EBS
Langkah pertama adalah membuat volume.
- Masuk ke EC2
- Pada menu sebelah kiri > Elastic Block Store > pilih Volumes
- Click Create volume
- Lalu muncul form untuk membuat volume, isikan:
- Volume type: gp3 (note: ada banyak jenis volumenya bisa dibaca di webnya aws). Saya pilih gp3 karena defaultnya gp3
- Size (GiB): 2 (sesuaikan dengan keinginan kalian)
- IOPS: 3000 (default)
- Throughput (MiB/s): 125 (default)
- Availability Zone: ap-southeast-1a (Note: harus sama dengan Availability zone EC2 instance)
- Klik Create volume
- Setelah itu akan terbuat volumenya, tunggu sampai volume state-nya Available, artinya volume sudah siap digunakan (untuk diattach ke instance)
Meng-attach volume ke Instance
Selanjutnya kita perlu menempelkan / attach volume ke instance. Caranya:
- Pilih volume
- Klik Actions > Attach volume
- Pada halaman Attach volume, isikan:
- Instance: pilih instancenya (yang berada di Availability Zone yang sama dengan volume yang sebelumnya sudah dibuat, yaitu
ap-southeast-1a
- Device name: pilih apa saja yang tersedia. Disini saya pilih
/dev/xvdbz/
. Note: Perlu dicatat disini, penamaan device akan berbeda antar AWS dan OS. Bisa saja kita set di AWS/dev/xvdbz/
tapi nanti di OSnya menjadi/dev/nvme1n1
atau yang lainnya
- Instance: pilih instancenya (yang berada di Availability Zone yang sama dengan volume yang sebelumnya sudah dibuat, yaitu
- Setelah itu volume berhasil terattach ke instancenya. Bisa dilihat dibawah pada kolom Attached resources, volume sudah terattach ke instance-id = i-0733152abc2f2f532
Mounting volume ke folder
Terakhir kita mount volume ke folder.
- Masuk ke server lewat SSH
- Cek semua daftar device yang tersedia di OS:
lsblk
- Terlihat device baru xvdbz dengan size 2GiB (sama dengan size volume yang kita buat tadi. Jadi cara mencocokkannya adalah dengan melihat size volume di AWS dengan di OS). Dan kebetulan device namenya sama antara di AWS dan OS (xvdbz).
- Berikan format file system ke device xvdbz tersebut. Disini kita akan menggunakan format file sistem
ext4
. (Note: jalankan command berikut hanya sekali saja diawal, karena akan memformat device dan data sebelumnya akan hilang)
mkfs -t ext4 /dev/xvdbz
- Cek format file system ext4 sudah terbuat ke xvdbz
file -s /dev/xvdbz
- Buat folder external_volume di /home/ubuntu, lalu mounting device ke folder tersebut
cd /home/ubuntu/
mkdir external_volume
mount /dev/xvdbz /home/ubuntu/external_volume
- Lalu cek folder tersebut sudah termount
df -h
- Buat sebuah file didalam folder external_volume
touch /home/ubuntu/external_volume/test_file
ls -al /home/ubuntu/external_volume/
Test unmount dan mount
File test_file diatas sudah tersimpan di secondary volume. Sekarang kita coba unmount dan mount lagi, untuk memastikannya apakah file tersebut tersimpan di secondary volume?
Unmount
- Unmount device:
umount /home/ubuntu/external_volume/
- Kembali ke halaman volume di AWS, kita akan detach volumenya agar tidak lagi connect ke instancenya. Klik Actions > Detach volume > Muncul popup, klik Detach
- Sekarang volume statenya adalah Available, artinya tidak terattach ke instance manapun
- Jika kita cek lagi folder external_volume, maka tidak ada lagi file test_file
ls -al /home/ubuntu/external_volume
Mount
Sekarang kita mount ulang volumenya. Apakah file test_file tadi masih ada di volume tersebut?
- Kembali ke halaman volume di EC2, pilih volumenya
- Klik Actions > Attach volume
- Lalu attach ke instance lagi dan pilih /dev/xvdbz. Klik Attach volume
- Kembali ke OS, Cek daftar semua device. Akan ada device dengan nama xvdbz
lsblk
- Mount lagi ke folder external_volume
mount /dev/xvdbz /home/ubuntu/external_volume
- Cek file test_file, seharusnya ada di volume tersebut
ls -al /home/ubuntu/external_volume/