Apa yang bisa kami bantu?

A. Pendahuluan

S3(Simple Storage Service) adalah layanan penyimpanan objek yang menawarkan skalabilitas, ketersediaan data, keamanan, dan kinerja terdepan dalam industri. Ini berarti pelanggan dari segala ukuran dan industri dapat menggunakannya untuk menyimpan dan melindungi data sebanyak apa pun untuk berbagai kasus pengunaan, seperti situs web, aplikasi perusahaan, perangkat IoT, dan analisis big data.

Pada Layanan Neo Cloud mempunyai Layanan Object Storage yang memiliki kompatibilitas standar industri S3 dari Amazon Web Service, Anda dapat mengoptimalkan pertumbuhan penyimpanan data besar dengan cepat sesuai kebutuhan. Untuk informasi harga dapat dilihat pada halaman https://www.biznetgio.com/neo/cloud/products/neo-flex-storage

Pada bagian ini akan menjelasan bagaimana cara untuk implementasi layanan S3 menggunakan FUSE (File System in User Space) atau dikenal dengan S3FS yang dapat digunakan untuk me-mount sebuah bucket Amazon S3 atau Object Storage pada OS yang seakan ini sebagai drive/Hard Disk lain dalam sistem. Pada sistem file yang dipasang S3FS kita dapat menggunakan perintah Unix seperti cp, mv dan ls seperti disk yang terhubung secara lokal.

B. Konfigurasi

Untuk cara implementasi pada OS Debian 9 dan Ubuntu 16.04 sama saja karena masih dalam distro linux yang sama. 

  1.   Buat telebih dahulu Object Storage Pada Neo Cloud, untuk cara membuatnya dapat melihat pada halaman https://kb.biznetgio.com/neo/konfigurasi/membuat-neo-object-storage-pertama 
  2.   Setelah selesai membuat object storage yang perlu di perhatikan adakah S3 Endpoint, Access Key dan Secret Key

Gambar 1. S3 Endpoint 

 

Gambar 2. Access Information

Selanjutnya mulai untuk install S3FS 

  1.  Install paket dan dependensi yang diperlukan untuk menjalankan S3FS

#sudo apt-get install automake autotools-dev fuse g++ git libcurl4-gnutls-dev libfuse-dev libssl-dev libxml2-dev make pkg-config

Download dan Compile Fuse 

# cd /usr/src
# git clone https://github.com/s3fs-fuse/s3fs-fuse.git
# cd s3fs-fuse
# ./autogen.sh
#./configure
# make
# make install

Buat file yang menyimpas Access Key dan Secret Key

# nano /etc/passwd-s3fs

  

Gambar 3. /etc/passwd-s3fs

Antara Access Key dan Secret Key ditambahkan tanda “:”  *( Access Key:Secret Key )

Lakukan chmod pada file passwd-s3fs

# chmod 640 /etc/passed-s3fs

Setelah instalasi dan konfigurasi selesai selanjutnya lakukan mounting pada Object Storage 

  1.  Buat terlebih dahulu folder/directory yang akan di mounting object storage 
# mkdir /mys3bucket

Mounting  

#s3fs cobabikin_35 /mys3bucket/ -o passwd_file=/etc/passwd-s3fs -o url=https://nos.wjv-1.neo.id -o use_path_request_style –o nonempty –o allow_other
  1.  Cek apakah Object storage sudah berhasil termount dengan perintah df 

Gambar 4. Mount Result

         Untuk melihat isi dari Object Storage dapat masuk ke directory yang sudah di buat untuk mounting tadi

Gambar 5. Isi Directory


Secara default pada saat dilakukan restart pada server tidak akan otomatis mounting untuk object storage ke directory, agar otomatis di mounting maka perlu ditambahkan pada rc.local

  • Buat File Bash
# vi /etc/s3fs-rclokal.sh
  •  Masukan script berikut
#!/bin/bash
s3fs backup-vm /backup-vm/ -o passwd_file=/etc/passwd-s3fs -o url=https://nos.wjv-1.neo.id -o use_path_request_style
  •  Set permission nya berikut ini  
# chmod +x /etc/s3fs-rclokal.sh
  •  Edit file pada directory berikut /etc/rc.d/rc.local
# #!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local
/etc/s3fs-rclokal.sh
  • Berikan hak akses berikut ini   
# chmod +x /etc/rc.d/rc.local

 Apabila pada saat mounting sudah tidak ada error maka bisa di coba masuk ke direcroty dan dilihat isinya

Setelah berhasil di mounting ke directory dan dapat di akses untuk Object Storage, selanjutnya dapat digunakan untuk melakukan Backup pada file atau directory yang di inginkan secara manual dengan menggunakan perintah copy file atau move file, atau dengan cara otomatis dengan menggunakan rsync dan cron job untuk melakukan perintah secara otomatis. 

Perintah rsync  

#rsync -aur --progress /direktory-sumber/ /direktory-tujuan/

Keterangan :

a        : copy file dan menambahkannya ke lokasi tujuan

u        : menambahkan file dan di skip apabila file sudah ada di lokasi tujuan 

r         : mode rekursif

--progress     : melihat proses pada saat rsync

/sumber/       : file atau folder yang hendak di backup

/tujuan/         : lokasi tujuan backup

Buat file script untuk melakukan backup, misalnya di taruh di directory /opt 

#cd /opt/

#nano script-backup.sh

Gambar 6. script-backup.sh

Tambahkan permission execute 

#chmod +x /opt/script-backup.sh

Lakukan testing  

#sh script-backup.sh

Apabila sudah tidak ada error bisa dilanjutkan untuk membuat cron job

Membuat cron job  

#crontab -e

Untuk pertama kali buka cron tab akan muncul pilihan untuk memilih editor teks, silahkan di pilih editor yang sudah familiar 

Gambar 7. crontab

 

Setelah selesai memilih editor teks akan muncul tampilan editor untuk crontab

 

Gambar 8. crontab 2

Silahkan ditambahkan command untuk menjalankan cron job, dan dapat di sesuaikan dengan directory 

Keterangan : 

Angka 1 untuk waktu di jalankannya cron job yaitu setiap jam 1 Pagi / 01:00 
/bin/sh untuk menjalahkan script .sh
/opt/script-backup.sh lokasi file script yang sudah dibuat.

C. Kesimpulan

Dengan melakukan backup ke s3 storage menggunakan s3fs, kita bisa mengintegrasikan s3 dengan VM yang kita gunakan sehingga action backup dari dalam VM bisa berlangsung dengan dikondisikan juga dengan CronJob