Sabtu, 28 Januari 2023

 

Service Aplikasi

1. Container

Teknologi Container merubah cara mengembangkan, mendistribusikan dan menyebarkan perangkat lunak, Teknologi Container diciptakan untuk memperbaiki skalabilitas dan elastisitas dari aplikasi dan operasi pada cloud computing. Container adalah enkapsulasi aplikasi dengan dependensinya. Pada pertama kemunculannya, Container mempunyai bentuk kecil dari mesin virtual (VM) —seperti VM, Container menampung instance terisolasi dari sistem operasi (OS), yang dapat digunakan untuk menjalankan aplikasi. Perbandingan antara teknologi container dan virtuliasasi hardware seperti virtual machine.Pada teknologi virtual machine terdapat hypervisor yang mengatur management VM dan setiap VM mempunyai Guest OS masing masing sedangkan pada teknologi container fungsi hypervisor di gantikan oleh container enginer seperti docker yang diatasnya terdapat container dengan masing masing applikasi yang teisolasi satu dengan yang lainnya. Managemen interface pada container engine berinteraksi dengan kernel sistem operasi untuk menyediakan dan mengatur container itu sendiri. Container engine memanfaatkan beberapa fitur pada kernel seperti cgroup, namespace, SE Linux dan chroot.

Beberapa penjelasan tentang bagaimana container engine menggunakan fitur kernel tersebut antara lain:

· Cgroup atau control group merupakan salah satu fitur dari linux yang menyediakan pembatasan pengunaan sumber daya seperti cpu, memory, group proses dan disk. Untuk magemen sumber daya teknologi container menggunakan cgroup sebagai mekanisme dasar.

· Namespace menyediakan view pada sistem bagi setiap proses seperti limitasi apa saja yang bisa dilihat oleh proses, Linux namespace membuat abstraksi dari sumber daya dan membuatnya muncul sebagai instance terpisah didalam container, inilah yang membuat beberapa container dapat menggunakan sumber daya yang sama secara simultan.

· SE Linux merupakan kepanjangan dari Security Enhance Linux adalah implementasi dari multi-level security (MLS), mekanisme mandatory access control (MAC) dan multi-category security (MSC) pada linux kernel, dengan penggunaan SE Linux policy, container engine dapat menyediakan keamanan pada setiap container

· Chroo atau change root digunakan untuk merubah root direktori pada proses dan ini adalah turunan proses untuk membuat direktori yang hanya dapat terlihat pada proses yang diberikan akses, tujuan dari penggunaan chroot pada container engine adalah untuk isolasi file system pada setiap container.

 

2. Docker

        Docker container adalah sebuah paket software yang berisi semua dependensi yang diperlukan untuk menjalankan aplikasi tertentu. Semua konfigurasi dan instruksi untuk memulai atau menghentikan container diperintahkan oleh sebuah komponen yang disebut ‘image Docker’. Container ini menghindarkan user dari masalah kompatibilitas yang mungkin terjadi ketika menjalankan aplikasi di beberapa sistem yang berbeda. Sebab, dengan container ini, software akan berjalan dengan cara yang sama di environment mana pun. Kapan pun image dijalankan user, container baru akan dibuat. Pengelolaan container juga mudah berkat bantuan Docker API atau command line interface (CLI). Apabila beberapa container diperlukan, user bisa mengontrolnya dengan Docker compose tool.

Selain container yang baru saja dibahas, arsitektur Docker terdiri dari empat komponen utama, yaitu:

— Client Docker – komponen utama untuk membuat, mengelola, dan menjalankan aplikasi dalam container. Client Docker adalah metode utama untuk mengontrol server Docker melalui CLI seperti Command Prompt (Windows) atau Terminal (macOS, Linux).

— Server Docker – juga disebut daemon Docker. Server Docker menunggu permintaan REST API yang dibuat oleh client Docker serta mengelola image dan container.

— Image Docker – komponen yang memerintahkan server Docker terkait persyaratan tentang cara container Docker dibuat. Image bisa didownload dari website seperti Docker Hub. Anda juga bisa membuat custom image, yaitu dengan membuat Dockerfile dan meneruskannya ke server. Perlu diketahui bahwa Docker tidak menghapus image yang tidak digunakan, jadi user harus menghapus data image sendiri agar tidak menumpuk.

— Registry Docker – aplikasi sisi server open-source yang digunakan untuk menghosting dan mendistribusikan image Docker. Registry sangat berguna untuk menyimpan image secara lokal dan mengelolanya sepenuhnya. Atau, user bisa mengakses Docker Hub yang tadi disebutkan, yang merupakan repositori image Docker terbesar di dunia.

 

Docker memiliki banyak fungsi untuk berbagai contoh penerapan, yitu :

Mencoba Software Baru

Dengan Docker, Anda bisa mencoba software baru tanpa harus menginstalnya secara manual. Docker juga berguna kalau Anda memerlukan software yang harus disiapkan cepat.

Sebagai contoh, proses setup server MySQL bisa memakan waktu lama. Nah, dengan Docker, Anda hanya memerlukan satu perintah melalui CLI untuk melakukannya.

Mempelajari CLI

Meskipun bisa berjalan pada semua jenis perangkat, tadinya Docker dirancang khusus untuk Linux. Jadi, kami menyarankan agar Anda mengonfigurasinya pada sistem yang berbasis Linux.

Dengan begitu, Anda pun bisa mempelajari administrasi sistem, command line interface, dan scripting lebih lanjut dengan lebih baik.

Mengurangi Risiko Insiden

Apabila terjadi kegagalan hardware, user bisa segera mengembalikan perubahan apa pun yang dibuat kalau tersedia image Docker.

User hanya perlu mengimpor backup image ke perangkat baru, lalu Docker akan membereskan sisanya. Backup image Docker juga berguna saat developer ingin melakukan rollback ke versi lama software tertentu karena adanya bug atau masalah kompatibilitas.

 

3. Podman

        Podman adalah alat bantu asli Linux tanpa daemon, sumber terbuka, yang dirancang untuk memudahkan menemukan, menjalankan, membangun, berbagi, dan menggunakan aplikasi menggunakan Open Containers Initiative (OCI) Containers dan Container Images. Podman menyediakan antarmuka baris perintah (CLI) yang akrab bagi siapa pun yang telah menggunakan Docker Container Engine. Sebagian besar pengguna dapat dengan mudah melakukan alias Docker ke Podman (alias docker = podman) tanpa masalah. Serupa dengan Mesin Kontainer umum lainnya (Docker, CRI-O, containerd), Podman mengandalkan Container Runtime yang sesuai dengan OCI (runc, crun, runv, dll) untuk berinteraksi dengan sistem operasi dan membuat kontainer yang sedang berjalan. Hal ini membuat kontainer berjalan yang dibuat oleh Podman hampir tidak dapat dibedakan dengan kontainer yang dibuat oleh mesin kontainer umum lainnya.

Kontainer yang berada di bawah kendali Podman dapat dijalankan oleh root atau oleh pengguna yang tidak memiliki hak istimewa. Podman mengelola seluruh ekosistem kontainer yang meliputi pod, kontainer, citra kontainer, dan volume kontainer menggunakan pustaka libpod. Podman berspesialisasi dalam semua perintah dan fungsi yang membantu Anda memelihara dan memodifikasi citra kontainer OCI, seperti menarik dan menandai. Ini memungkinkan Anda untuk membuat, menjalankan, dan memelihara kontainer dan citra kontainer dalam lingkungan produksi.

 

4. Kubernetes

        Kubernetes, juga dikenal sebagai K8s, adalah sistem sumber terbuka untuk mengelola aplikasi dalam kontainer di beberapa host. Kubernetes menyediakan mekanisme dasar untuk penerapan, pemeliharaan, dan penskalaan aplikasi.

Kubernetes dibangun berdasarkan pengalaman selama satu setengah dekade di Google dalam menjalankan beban kerja produksi dalam skala besar menggunakan sistem yang disebut Borg, yang dikombinasikan dengan ide dan praktik terbaik dari komunitas.

Kubernetes dihosting oleh Cloud Native Computing Foundation (CNCF). Jika perusahaan Anda ingin membantu membentuk evolusi teknologi yang dikemas dalam kontainer, dijadwalkan secara dinamis, dan berorientasi pada layanan mikro, pertimbangkan untuk bergabung dengan CNCF. Untuk detail tentang siapa saja yang terlibat dan bagaimana peran Kubernetes, baca pengumuman CNCF.

 

5. Openshift

        OpenShift adalah platform orkestrasi kontainer yang dikembangkan oleh Red Hat. Platform ini dibangun di atas Kubernetes dan menyediakan platform untuk menerapkan, menskalakan, dan mengelola aplikasi dalam kontainer. OpenShift menawarkan fitur-fitur seperti penskalaan otomatis, penyembuhan mandiri, dan keamanan bawaan. OpenShift juga menyediakan konsol manajemen berbasis web, antarmuka baris perintah, dan API untuk mengotomatiskan penerapan. OpenShift bisa digunakan di lokasi, di awan, atau di lingkungan hibrida. Ini sering digunakan di lingkungan perusahaan untuk menerapkan layanan mikro, aplikasi data besar, dan aplikasi cloud-native.

 

6. Elasticsearch

        Elasticsearch adalah mesin pencari dan analitik terdistribusi open-source real-time yang dibangun di atas Apache Lucene™, sebuah perpustakaan mesin pencari teks lengkap dan dikembangkan di Java. Elasticsearch dimulai sebagai versi skalabel dari kerangka kerja pencarian sumber terbuka Lucene yang menggunakan struktur berdasarkan dokumen, bukan tabel dan skema, serta dilengkapi dengan API REST yang ekstensif untuk menyimpan dan mencari data.

Elasticsearch lebih dari sekadar pencarian teks lengkap. Ini dapat digambarkan dengan lebih baik sebagai penyimpanan dokumen real-time terdistribusi di mana setiap bidang diindeks dan dapat dicari. Ini adalah mesin pencari terdistribusi dengan analitik waktu nyata yang mampu menskalakan ke ratusan server dan petabyte data terstruktur dan tidak terstruktur. Dan mengemas semua fungsionalitas ini ke dalam server mandiri yang dapat digunakan oleh aplikasi Anda melalui RESTful API sederhana, menggunakan klien web atau dari baris perintah.

 

7. Grafana

        Grafana adalah perangkat lunak sumber terbuka yang populer yang memungkinkan pengguna untuk membuat dan melihat dasbor yang indah dan interaktif untuk memantau dan menganalisis data. Grafana dapat diinstal pada sistem Linux menggunakan berbagai metode, seperti menggunakan manajer paket (misalnya apt, yum, dll.) atau dengan mengunduh biner dan menjalankannya secara manual. Setelah terinstal, Grafana dapat dikonfigurasi untuk terhubung ke berbagai sumber data, seperti InfluxDB, Prometheus, Elasticsearch, dan banyak lagi. Pengguna kemudian dapat membuat dan menyesuaikan dasbor, visualisasi, dan peringatan untuk memantau dan menganalisis data mereka secara real-time.

 

8. Ansible

        Ansible meledak menjadi populer segera setelah dirilis pada tahun 2012, dan telah menjadi alat bantu utama bagi para administrator jaringan. Dalam artikel hari ini, kita akan langsung membahas dan memberi Anda gambaran yang bagus tentang apa yang dilakukan Ansible dan bagaimana Anda bisa memaksimalkannya.

Ansible adalah platform otomatisasi sumber terbuka. Artinya, platform ini memungkinkan Anda mengelola instalasi perangkat lunak, pembaruan, konfigurasi, dan tugas-tugas dalam lingkungan jaringan Anda. Ini sangat berguna dalam situasi di mana Anda perlu melakukan operasi berurutan. Ini juga mudah digunakan, jika dibandingkan dengan solusi serupa lainnya.

Ansible merupakan manajer server jarak jauh yang gratis dan bersumber terbuka yang tersedia untuk Linux, Mac, dan BSD. Ada juga versi perusahaan yang disebut Ansible Tower, yang merupakan solusi berbasis web dan membuat segalanya lebih mudah.

 

 

 

Dibuat Oleh : Dwi Gita Anggraeni

Sebagai Peserta Beasiswa Protonema 2022/2023

 

Selasa, 24 Januari 2023

Teknologi Jaringan dan Virtualisasi



 

1. LUN (Logical Unit Number)

LUN adalah singkatan dari "Logical Unit Number". Dalam konteks penyimpanan komputer, LUN adalah representasi logis dari satu atau sekelompok perangkat penyimpanan fisik, seperti hard drive atau solid-state drive, yang dikelola oleh pengontrol penyimpanan. LUN dapat dianggap sebagai disk atau partisi virtual yang dapat diakses dan dikelola oleh komputer host atau jaringan. LUN biasanya digunakan dalam Storage Area Network (SAN) dan sistem Network Attached Storage (NAS).

Cara Kerja LUN

Pengaturan LUN berbeda-beda menurut sistem dan perangkat yang Anda gunakan. LUN ditetapkan saat host memindai perangkat SCSI dan menemukan unit logis. LUN mengidentifikasi unit logis spesifik untuk inisiator SCSI bila dikombinasikan dengan informasi seperti pengenal port target.

LUN adalah pusat manajemen array penyimpanan blok dalam storage area network (SAN). Menggunakan LUN dapat menyederhanakan manajemen sumber daya penyimpanan karena hak akses dan kontrol dapat ditetapkan melalui pengenal logis.

Jenis-Jenis LUN

Struktur penyimpana  yang mendasarinya dan tipe unit logis berperan dalam kinerja dan kendala. Beberaa jenisnya termasuk :

Mirror LUN: LUN yang toleran terhadap error dengan salinan identik pada dua drive fisik untuk redundansi dan cadangan data.

Concenatenated LUN: Menggabungkan beberapa LUN menjadi satu unit atau volume logis.

Striped LUN: Menulis data pada beberapa drive fisik, yang berpotensi meningkatkan kinerja dengan mendistribusikan permintaan I / O di seluruh drive.

Striped LUN with parity: Menggunakan data dan informasi paritas pada tiga drive fisik atau lebih. Jika drive fisik gagal, data dapat direkonstruksi dari informasi pada drive yang tersisa. perhitungan paritas mungkin berdampak pada kinerja penulisan.


LUN zoning dan masking

Storage Area Network (SAN) akan mengontrol akses host ke LUN untuk menegakkan keamanan dan integritas data. Cakupan LUN dan zonasi berbasis sakelar mengelola sumber daya SAN yang dapat diakses oleh host yang terhubung.


Penyembunyian LUN membagi akses ke port tertentu. Kemudian, meskipun beberapa LUN diakses melalui port yang sama, server mask dapat didefinisikan untuk membatasi akses setiap server ke LUN masing-masing. Penyembunyian LUN biasanya dilakukan pada host bus adapter (HBA) atau tingkat sakelar.

 

2. WWN dan WWPN

    WWN (World Wide Name) dan WWPN (World Wide Port Name) adalah pengidentifikasi unik yang digunakan untuk mengidentifikasi perangkat Fibre Channel (FC) dalam lingkungan storage area network (SAN).

WWN adalah pengenal 64-bit yang secara unik mengidentifikasi perangkat di dalam SAN. Pengenal ini digunakan untuk mengidentifikasi host bus adapter (HBA) perangkat atau perangkat berkemampuan FC lainnya, seperti sakelar atau array penyimpanan.

WWPN adalah pengenal 64-bit yang secara unik mengidentifikasi port FC perangkat. WWPN digunakan untuk mengidentifikasi port FC perangkat saat mengonfigurasi zonasi atau tugas terkait FC lainnya.

WWN dan WWPN biasanya direpresentasikan sebagai angka heksadesimal dan ditetapkan oleh produsen perangkat. Keduanya dapat ditemukan dengan menggunakan perangkat lunak manajemen perangkat atau dengan menggunakan perintah seperti "fcinfo hba-port" di lingkungan Linux.

Singkatnya, WWN mengidentifikasi perangkat dan WWPN mengidentifikasi port perangkat tersebut.

 

3. SAN dan vSAN

    SAN (Storage Area Network) adalah jaringan khusus berkecepatan tinggi yang menyediakan akses tingkat blok ke penyimpanan data. SAN biasanya terdiri dari host bus adapter (HBA), sakelar, array penyimpanan, dan perangkat penyimpanan. SAN digunakan untuk menghubungkan server dan perangkat penyimpanan di pusat data, sehingga memungkinkan akses data yang lebih cepat dan efisien.

VSAN (Virtual Storage Area Network) adalah solusi penyimpanan yang ditentukan oleh perangkat lunak yang menciptakan jaringan penyimpanan virtual dalam infrastruktur SAN fisik. VSAN memungkinkan penciptaan beberapa lingkungan penyimpanan virtual dalam satu SAN fisik, sehingga memberikan fleksibilitas dan kemudahan pengelolaan yang lebih besar. Hal ini memungkinkan organisasi untuk lebih mudah mengelola dan mengalokasikan sumber daya penyimpanan, serta meningkatkan akses dan kinerja data

Singkatnya, SAN adalah jaringan fisik perangkat penyimpanan dan server, sedangkan VSAN adalah solusi yang ditentukan oleh perangkat lunak yang menciptakan jaringan penyimpanan virtual di dalam infrastruktur SAN fisik.

 

4. Multipath dan Ultrapath

    Multipath dan ultrapath adalah konsep yang terkait namun berbeda dalam komunikasi nirkabel.

Multipath mengacu pada fenomena di mana sinyal nirkabel dipantulkan atau dihamburkan oleh rintangan, seperti bangunan atau medan alami, dan kemudian tiba di penerima dari berbagai arah. Hal ini dapat menyebabkan gangguan, yang dikenal sebagai multipath fading, yang dapat menyebabkan degradasi sinyal dan penurunan kinerja.

Ultrapath, di sisi lain, adalah jenis multipath tertentu yang terjadi ketika sinyal dipantulkan oleh objek besar, seperti gedung atau gunung, dan kemudian menempuh jarak yang lebih jauh sebelum mencapai penerima. Hal ini dapat mengakibatkan penundaan yang jauh lebih besar daripada penundaan biasa yang disebabkan oleh multipath.

Secara ringkas, multipath mengacu pada fenomena umum sinyal yang dipantulkan dan tiba di penerima dari berbagai arah, sedangkan ultrapath mengacu pada jenis multipath tertentu di mana sinyal menempuh jarak yang lebih jauh sebelum mencapai penerima.

 

5. LVM dan non LVM

    LVM (Logical Volume Management) dan non-LVM adalah dua cara yang berbeda untuk mengelola penyimpanan pada sistem Linux.

Non-LVM, juga dikenal sebagai partisi tradisional, melibatkan pembuatan partisi dengan ukuran tetap pada hard drive atau perangkat penyimpanan lainnya. Setiap partisi diperlakukan sebagai area penyimpanan yang terpisah dan independen dan hanya dapat diubah ukurannya dengan mempartisi ulang seluruh drive. Hal ini dapat memakan waktu dan dapat menyebabkan hilangnya data.

LVM, di sisi lain, memungkinkan manajemen penyimpanan yang lebih fleksibel dan efisien. Alih-alih membuat partisi tetap, LVM membuat volume logis yang dapat diubah ukurannya dan dipindahkan secara dinamis tanpa memengaruhi perangkat penyimpanan fisik yang mendasarinya. Hal ini memudahkan untuk menambah atau menghapus penyimpanan, dan memperluas atau memperkecil volume yang ada sesuai kebutuhan.

Singkatnya, LVM memberikan fleksibilitas dan kemudahan penggunaan yang lebih tinggi dibandingkan dengan non-LVM, tetapi membutuhkan lebih banyak pengaturan dan pemahaman.

 

6. File System

    Sistem berkas di Linux adalah cara sistem operasi mengatur dan mengelola berkas dan direktori pada perangkat penyimpanan. Linux menggunakan sistem file hierarkis, yang berarti file dan direktori diatur dalam struktur seperti pohon. Direktori tingkat teratas adalah direktori root, yang diwakili oleh simbol "/".

Ada beberapa sistem berkas yang berbeda yang dapat digunakan di Linux, termasuk:

Ext2: Ini adalah sistem berkas yang lebih tua yang masih digunakan secara luas di Linux. Ini adalah sistem file yang sederhana dan stabil yang cocok untuk perangkat penyimpanan berukuran kecil dan menengah.

Ext3: Ini adalah ekstensi dari sistem file Ext2 yang menambahkan kemampuan penjurnalan. Artinya, jika sistem macet atau terjadi pemadaman listrik, sistem file dapat dengan cepat dan mudah diperbaiki.

Ext4: Ini adalah versi terbaru dari sistem berkas Ext dan merupakan sistem berkas default untuk banyak distribusi Linux. Sistem file ini memiliki kinerja yang lebih baik, batas ukuran file dan sistem file yang lebih besar, serta fitur-fitur baru lainnya.

XFS: Ini adalah sistem berkas berkinerja tinggi yang cocok untuk perangkat penyimpanan besar dan sistem komputasi berkinerja tinggi.

NTFS: Ini adalah sistem file yang umumnya digunakan pada sistem Windows. Linux dapat membaca dan menulis ke sistem file NTFS, tetapi ini bukan sistem file yang direkomendasikan untuk Linux.

Setiap sistem file memiliki serangkaian fitur dan batasannya sendiri, dan pilihan sistem file akan bergantung pada kebutuhan spesifik sistem.

 

7. Type-Type File System

    Sistem file adalah metode yang digunakan sistem operasi untuk mengatur dan menyimpan file pada perangkat penyimpanan. Ada beberapa jenis sistem file yang berbeda, masing-masing dengan serangkaian fitur dan batasannya sendiri.

Beberapa jenis sistem file yang umum meliputi:

— NTFS (New Technology File System): digunakan oleh sistem operasi Windows. Ini adalah sistem file berpemilik yang mendukung fitur-fitur canggih seperti kompresi dan enkripsi file.

— FAT (File Allocation Table): digunakan oleh versi Windows yang lebih lama dan sistem operasi lainnya. Ini adalah sistem file sederhana yang tidak sekuat sistem file yang lebih modern.

— exFAT (Extended File Allocation Table): mirip dengan FAT, tetapi dengan dukungan ukuran file yang lebih besar.

— ext (Extended File System): digunakan oleh Linux dan sistem operasi berbasis Unix lainnya. Ini adalah sistem file yang kuat yang mendukung fitur-fitur canggih seperti penjurnalan dan izin file.

— HFS+ (Hierarchical File System Plus): digunakan oleh Mac OS. Ini adalah sistem file berpemilik yang mendukung fitur-fitur canggih seperti kompresi file dan tautan keras.

— APFS (Apple File System): sistem file yang lebih baru yang digunakan oleh Mac OS dan iOS. Sistem ini menawarkan kinerja yang lebih cepat, enkripsi yang lebih baik, dan penyimpanan yang lebih efisien.

Perbedaan utama antara sistem file adalah struktur, kompatibilitas, dan cara sistem file mengatur dan menangani data.

 

8. Parted

    parted adalah utilitas baris perintah yang digunakan untuk mempartisi perangkat penyimpanan, seperti hard drive atau SSD, di sistem Linux. Parted memungkinkan pengguna untuk membuat, mengubah ukuran, menghapus, dan memodifikasi partisi pada perangkat penyimpanan. parted dapat digunakan untuk membuat partisi untuk sistem file yang berbeda, seperti ext4, NTFS, dan FAT32. Parted juga dapat digunakan untuk membuat partisi untuk tujuan tertentu, seperti partisi swap atau partisi boot. parted dapat dijalankan langsung dari baris perintah, dan sering kali digunakan bersama dengan utilitas lain, seperti fdisk, gparted, dan mkfs, untuk mengelola perangkat penyimpanan di sistem Linux.

 

9. Fdisk

    Fdisk adalah sebuah utilitas baris perintah di Linux yang digunakan untuk mengelola partisi disk. Dapat digunakan untuk membuat, menghapus, dan memodifikasi partisi pada disk. Selain itu, fdisk juga dapat menampilkan informasi tentang partisi yang ada. Contoh perintah fdisk yang umum digunakan antara lain:

— fdisk -l : Membuat daftar semua partisi pada semua disk yang tersedia.

— fdisk /dev/sda : Memulai fdisk pada disk /dev/sda.

— n : Membuat partisi baru.

— d : Menghapus partisi yang sudah ada.

— p : Menampilkan tabel partisi pada disk yang sedang digunakan.

— w : Menulis perubahan pada tabel partisi dan keluar dari fdisk.

Penting untuk diperhatikan bahwa fdisk harus digunakan secara hati-hati, karena dapat menyebabkan kehilangan data jika tidak digunakan dengan benar. Selalu disarankan untuk membuat cadangan data penting sebelum membuat perubahan pada partisi menggunakan fdisk.

 

10. NFS

    Network File System (NFS) adalah protokol berbagi berkas yang memungkinkan pengguna mengakses berkas dan direktori di server jarak jauh seolah-olah berkas dan direktori tersebut disimpan di mesin lokal. Hal ini sangat berguna untuk sistem Linux, karena memungkinkan banyak pengguna untuk mengakses dan berbagi file pada satu server. NFS diimplementasikan dalam kernel Linux dan dapat dengan mudah dikonfigurasi menggunakan paket nfs-utils. NFS juga dapat digunakan untuk berbagi berkas di antara distribusi Linux yang berbeda dan bahkan dengan sistem operasi lain seperti Windows dan macOS.

 

 

 

 

 

Dibuat Oleh : Dwi Gita Anggraeni

Peserta Program Beasiswa Protonema 2022/2023

Jumat, 13 Januari 2023

12 Langkah Penting Dalam Sistem Administrasi Linux

Hallo sobat Linux! Bagaimana materi kemarin sudahkan anda paham? Menjadi seorang administrator pastinya sangat tidak mudah dan tanggung jawab yang besar, kali ini saya akan menjelaskan materi menarik mengenai 12 langkah penting dalam sistem administrasi di linux.

 

1. NPT (Network Time Protocol)

    Network Time Protocol (NTP) adalah protokol yang digunakan untuk menyinkronkan jam sistem komputer melalui jaringan. Nah NPT ini menggunakan prinsip-prinsip model server-klien hierarkis untuk memastikan bahwa semua perangkat yang terhubung memiliki waktu yang akurat dan tersinkronisasi. NTP dibangun di atas User Datagram Protocol (UDP) dan biasanya digunakan untuk menyinkronkan jam server, workstation, dan perangkat jaringan lainnya. Itu dapat dikonfigurasi untuk bekerja dengan alamat IPv4 dan IPv6. NTP banyak digunakan di Internet dan merupakan komponen penting dari banyak sistem jaringan, termasuk server email, server DNS, dan layanan lain yang mengandalkan ketepatan waktu.

 

2. Repository

    Repositori adalah lokasi tempat data, seperti file atau kode, disimpan dan diatur. Dalam konteks pengembangan perangkat lunak, repositori adalah lokasi sentral tempat pengembang dapat menyimpan dan mengelola kode sumber untuk suatu proyek. Hal ini memungkinkan banyak pengembang untuk mengerjakan basis kode yang sama, dan menyediakan cara untuk melacak perubahan dan berkolaborasi dalam pengembangan perangkat lunak. Ada berbagai jenis repositori, seperti sistem kontrol versi (VCS) seperti Git, SVN, dan Mercurial, yang membantu melacak perubahan dan berkolaborasi dalam kode, dan pengelola paket seperti npm, pip, dan maven yang membantu mengelola ketergantungan proyek perangkat lunak. Repositori dapat dihosting di server jarak jauh, seperti GitHub, GitLab, atau Bitbucket, atau dapat dihosting secara lokal di dalam organization.

 

3. Swap

    Swap mengacu pada bagian memori komputer yang digunakan sebagai perpanjangan dari RAM fisik. Ini dapat digunakan ketika sistem kehabisan memori fisik (RAM) untuk menyimpan data yang sedang digunakan oleh program yang sedang berjalan. Ketika hal ini terjadi, kernel Linux akan memindahkan beberapa data yang disimpan dalam RAM ke ruang swap, sehingga sistem dapat terus berjalan. 

Swap space di Linux dapat berupa partisi terpisah pada hard drive, file swap, atau partisi swap. Swap space dapat dilihat dan dikelola dengan menggunakan perintah “swapon” dan “swapoff” untuk mengaktifkan atau menonaktifkannya, “free” untuk mengecek penggunaan swap, dan “swapon -s” untuk melihat ringkasan penggunaan swap. 

Penting untuk dicatat bahwa menggunakan swap space dapat memperlambat sistem karena mengakses data pada hard drive lebih lambat daripada mengakses data dalam RAM. Oleh karena itu, direkomendasikan untuk memiliki RAM yang cukup untuk menghindari penggunaan swap yang sering.

 

4. VDO (Virtual Data Optimizer)

    Virtual Data Optimizer (VDO) adalah modul kernel Linux yang menyediakan deduplikasi data inline, kompresi, dan penyediaan tipis untuk perangkat penyimpanan blok. VDO dapat digunakan untuk mengoptimalkan penggunaan ruang penyimpanan pada sistem Linux, terutama di lingkungan tervirtualisasi di mana beberapa mesin virtual dapat menggunakan data yang sama.

VDO menggunakan teknik yang disebut "Data Deduplikation" untuk mengidentifikasi dan menghapus blok data duplikat, sehingga mengurangi jumlah ruang penyimpanan fisik yang diperlukan untuk menyimpan data. VDO juga menggunakan "Compression" untuk mengurangi lebih lanjut jumlah ruang penyimpanan yang diperlukan dengan mengompresi blok data. Terakhir, "thin provisioning" memungkinkan alokasi ruang penyimpanan yang berlebihan, sehingga lebih banyak mesin virtual dapat dibuat dan dijalankan pada penyimpanan fisik yang sama daripada yang dimungkinkan tanpa thin provisioning. 

VDO dapat digunakan bersama dengan teknologi penyimpanan Linux lainnya seperti LVM dan XFS, dan dapat dikelola dengan menggunakan alat baris perintah vdo. VDO juga dapat diintegrasikan dengan alat manajemen dan orkestrasi penyimpanan populer, seperti Ansible dan Kubernetes.

 

5. Tuned Profile

    Tuned adalah fitur Linux yang memantau sistem dan mengoptimalkan kinerjanya di bawah beban kerja tertentu. Tuned menggunakan profil untuk melakukan ini. Profil adalah seperangkat aturan yang menentukan parameter sistem tertentu seperti pengaturan disk, parameter kernel, pengaturan pengoptimalan jaringan, dan banyak aspek sistem lainnya.

 Tuned adalah cara untuk menyatukan pengaturan pengoptimalan dalam satu file dan menerapkannya ke sistem. Muncul dengan beberapa profil default yang dapat Anda terapkan secara statis atau dinamis.

 

— Untuk menerapkan profil secara statis, Anda memilih profil berdasarkan beban kerja. Sistem menggunakan pilihan ini hingga Anda secara manual beralih ke profil lain. Profil statis diaktifkan secara default di Red Hat Enterprise Linux (RHEL).

— Opsi dinamis mengubah profil berdasarkan data aktivitas langsung dari komponen sistem yang dipantau, memastikan kinerja yang optimal.

 

6. Selinux

    SELinux (Security-Enhanced Linux) adalah fitur keamanan dalam kernel Linux yang menyediakan mekanisme untuk mendukung kebijakan keamanan kontrol akses, termasuk kontrol akses wajib (MAC) ala Departemen Pertahanan Amerika Serikat. SELinux adalah sekumpulan modifikasi kernel dan tool user-space yang menyediakan mekanisme untuk mendukung kebijakan kontrol akses wajib yang fleksibel di kernel Linux. SELinux memberlakukan aturan tentang proses sistem dan pengguna yang dapat mengakses sumber daya seperti file, port jaringan, dan komunikasi antar-proses. SELinux didesain agar fleksibel, memungkinkan administrator sistem untuk mengimplementasikan kebijakan yang merefleksikan persyaratan keamanan spesifik mereka. SELinux sering digunakan di lingkungan perusahaan dan pemerintah untuk memberikan lapisan keamanan tambahan pada sistem Linux.

 

7. Crontab

    Cron daemon merupakan sebuah service yang berjalan di semua distribusi Unix dan Linux. Service ini didesain khusus untuk mengeksekusi suatu perintah pada waktu-waktu tertentu yang telah ditentukan. Tugas yang dikenal dengan istilah cronjobs ini merupakan hal mendasar yang harus dipahami setiap System Administrator. Cronjobs sangat berguna untuk mengotomatiskan suatu script sehingga mereka dapat dijalankan pada waktu-waktu tertentu. Perintah untuk membuat agtau mengubah crontab yaitu : crontab -e

Perintah Dasar Crontab

— crontab -e Mengubah atau membuat file crontab jika belum ada.

— crontab -l Menampilkan isi file crontab.

— crontab -r Menghapus file crontab.

— crontab -v Menampilkan waktu terakhir mengubah isi file crontab. (Hanya tersedia beberapa sistem).

 Daftar Parameter Crontab

— m - Menit (menit) - 0 hingga 59

— h - Jam (jam) - 0 hingga 23

— dom - Hari Bulan (tanggal) - 0 hingga 31

— mon - Bulan (bulan) - 0 hingga 12

— dow - Hari dalam Seminggu (nomor hari) - 0 sampai 7 (0 dan 7 adalah hari minggu).

Berikut grafik untuk mempermudah : 

* * * * * perintah yang akan dieksekusi

 – – – – –

| | | | |

| | | | +—– day of week (0 7) (Sunday=0)

| | | +——- month (1 12)

| | +——— day of month (1 31)

| +———– hour (0 23) +————- min (0 59) 

Parameter-parameter di atas memungkinkan kita untuk membuat suatu jobs yang berjalan pada waktu-waktu tertentu. Setiap parameter yang dipilih dapat mengatur details waktu eksekusi sampai ke menit. Ada karakter khusus yang dapat membuat crontab lebih fleksibel.

  

8. Auto FS

    AutoFS adalah program untuk memasang sistem berkas secara otomatis di Linux dan sistem operasi mirip Unix lainnya. AutoFS memungkinkan mount dan unmount otomatis sistem file ketika diakses atau tidak lagi digunakan. AutoFS bekerja dengan memonitor direktori tertentu, yang dikenal sebagai mount point, untuk akses. Ketika pengguna mengakses file atau direktori di dalam mount point, AutoFS secara otomatis me-mount sistem file yang terkait dengan mount point tersebut. Ketika sistem file tidak lagi digunakan, AutoFS secara otomatis melepas mount-nya.

 AutoFS dapat digunakan untuk me-mount berbagai sistem file, termasuk sistem file lokal, sistem file jaringan seperti NFS dan SMB, dan media yang dapat dilepas seperti drive USB. AutoFS dapat dikonfigurasi untuk me-mount sistem file pada waktu boot, atau untuk me-mount dan unmount sistem file sesuai permintaan.

 AutoFS biasanya digunakan di lingkungan di mana terdapat banyak sistem file yang perlu sering di-mount dan unmount, seperti di jaringan besar dengan banyak pengguna yang mengakses berbagai server file. AutoFS juga berguna untuk mengotomatisasi mounting dan unmount media yang dapat dilepas, seperti drive USB.

 

9. Journal

    Journal adalah program sistem dari alat systemd yang mengumpulkan data dari banyak log dalam format biner. Ini bekerja dengan cara yang sama seperti syslog tetapi memberikan cara yang lebih efisien untuk mengelola log.

 Sistem Linux memiliki alat efektif yang disebut “ journalctl ” yang membantu pengguna membaca dan berkomunikasi dengan “ journal logs ”. Utilitas ini adalah cara standar untuk menampilkan pesan log yang disediakan oleh journald dan memantaunya.

 Perintyah dasar journal :

— journalctl - Untuk menampilkan semua log.

— journalctl -r - Untuk  membalik urutan atau menampilkan entri baru terlebih dahulu.

— journalctl -n 2 - Untuk menampilakan hanya beberapa entri log.

— journalctl  | grep “centaur” - Untuk menampilkan entri log yang berisi kata kunci tertentu.

— journalctl -p warning - Untuk menampilkan entri log khusus.

— journalctl -o verbose - Untuk menampilkan output yang diformat dalam mode verbose.

— journalctl --list-boost - Untuk menampilkan boost sistem.

— journalctl --help - Untuk menpilkan bangtuan dari perintah journal.

10. Container

    Container adalah lingkungan yang ringan dan terisolasi yang berjalan di atas sistem operasi host. Container menyediakan cara untuk mengemas dan mendistribusikan perangkat lunak dengan cara yang konsisten dan portabel, tanpa memerlukan mesin virtual penuh (VM).

 Container menggunakan kernel host, tetapi memiliki sistem file, jaringan, dan ruang prosesnya sendiri. Hal ini memungkinkan beberapa container berjalan pada satu host, dengan setiap container memiliki lingkungan dan sumber daya yang terisolasi sendiri.

Teknologi kontainerisasi populer untuk Linux termasuk Docker dan LXC (Linux Containers). Docker adalah alat kontainerisasi platform-agnostik yang menyederhanakan proses pembuatan, penerapan, dan pengelolaan kontainer. LXC adalah seperangkat alat, pustaka, dan utilitas untuk membuat dan mengelola kontainer sistem di Linux.

Container berguna untuk menyebarkan dan menskalakan aplikasi, serta untuk mengisolasi berbagai bagian aplikasi yang berbeda untuk meningkatkan keamanan dan manajemen sumber daya.

 

11. Service Management System

    Service Management System yang paling umum digunakan adalah systemd. Systemd adalah sistem dan manajer layanan yang menyediakan proses standar untuk mengendalikan dan mengelola layanan sistem

systemd dirancang untuk menjadi pengganti daemon init, yang merupakan proses pertama yang dimulai ketika sistem melakukan booting dan proses terakhir yang berhenti ketika sistem dimatikan. systemd menyediakan sejumlah fitur yang membuatnya lebih mudah untuk mengelola layanan, termasuk startup layanan paralel, manajemen ketergantungan otomatis, dan restart otomatis layanan yang gagal.

Dengan systemd, layanan ditentukan oleh file unit, yang menentukan konfigurasi layanan, dependensi, dan informasi lainnya. Perintah systemctl dapat digunakan untuk memulai, menghentikan, dan memeriksa status layanan, serta untuk mengaktifkan atau menonaktifkan layanan untuk memulai secara otomatis pada waktu boot. Selain itu, systemd juga menyediakan perintah journalctl yang dapat digunakan untuk melihat pesan log dari layanan dan sistem.

Secara keseluruhan, systemd banyak digunakan di banyak distribusi Linux seperti Red Hat, Fedora, Ubuntu, Debian, Arch Linux, dan openSUSE yang menjadikannya sebagai sistem manajemen layanan default.

 12. Firewall

    Firewall adalah sistem yang mengontrol lalu lintas jaringan yang masuk dan keluar berdasarkan aturan keamanan yang telah ditentukan sebelumnya. Firewall yang paling umum digunakan di Linux adalah iptables. Ini memungkinkan administrator untuk mengatur aturan-aturan untuk memfilter lalu lintas dan mengontrol akses ke sistem. Firewall populer lainnya di Linux termasuk firewalld dan nftables. Firewall-firewall ini dapat dikonfigurasi dengan menggunakan alat baris perintah atau antarmuka pengguna grafis.

 

Sekian Pembahasan materi kali ini, semoga bermanfaat dan jangan lupa di pelajari dan dipraktekkan.

 

 

 

Disusun Oleh : Dwi Gita Anggraeni

Peserta Program Beasiswa Protonema 2022/2023

 

 

RESTful API

RESTful API adalah salah satu jenis arsitektur API (Application Programming Interface) yang sering digunakan dalam pengembangan aplikasi web...