File System Partition

Gambar berikut tidak memiliki atribut alt; nama berkasnya adalah data-recovery-gpt-partition-volume.png

Pengertian Partisi

Partisi adalah pembagian ruang dalam media penyimpanan, seperti hard drive atau SSD, yang memungkinkan pengaturan data secara lebih terstruktur dan efisien. Dengan membagi media penyimpanan menjadi beberapa partisi, pengguna dapat mengatur data, sistem operasi, dan aplikasi dalam ruang yang terpisah, yang membantu dalam pengelolaan dan keamanan. Misalnya, partisi yang berbeda dapat digunakan untuk sistem operasi, data pengguna, dan cadangan, sehingga jika satu partisi mengalami masalah, data di partisi lain tetap aman.

Ada berbagai jenis partisi, termasuk partisi primer, extended, dan logis. Partisi primer adalah area dasar yang bisa digunakan untuk menyimpan data atau sistem operasi, sedangkan partisi extended memungkinkan pembuatan beberapa partisi logis di dalamnya, mengatasi batasan jumlah partisi primer pada skema partisi MBR (Master Boot Record). Sebagai alternatif, skema GPT (GUID Partition Table) menawarkan fleksibilitas yang lebih besar, memungkinkan banyak partisi tanpa batasan ketat dan mendukung disk yang lebih besar dari 2 TB.

Selain itu, setiap partisi dapat diformat dengan sistem file tertentu, seperti NTFS, FAT32, atau EXT4, yang menentukan cara data disimpan dan diakses. Misalnya, NTFS cocok untuk pengguna Windows yang memerlukan fitur keamanan dan dukungan file besar, sedangkan EXT4 lebih sesuai untuk sistem Linux dengan performa yang optimal. Dengan menggunakan partisi, pengguna dapat memisahkan berbagai jenis data, membuat sistem multi-boot dengan beberapa sistem operasi, dan mengelola ruang penyimpanan secara lebih efektif, memberikan fleksibilitas dan keamanan yang lebih baik untuk data mereka.

Tujuan Membuat Partisi

Tujuan dari penggunaan partisi dalam media penyimpanan adalah untuk meningkatkan pengelolaan, keamanan, dan fleksibilitas data. Dengan membagi hard drive atau SSD menjadi beberapa partisi, pengguna dapat mengatur data secara lebih terstruktur. Misalnya, satu partisi bisa digunakan untuk sistem operasi, sementara partisi lain digunakan untuk data pribadi atau cadangan. Hal ini tidak hanya mempermudah pengelolaan data, tetapi juga meningkatkan keamanan, karena jika terjadi masalah pada sistem operasi, data pada partisi lain tetap aman. Selain itu, partisi memungkinkan penggunaan beberapa sistem operasi dalam satu perangkat (multi-booting), serta memberikan kemampuan untuk mengalokasikan ruang penyimpanan secara efisien untuk berbagai kebutuhan. Dengan demikian, partisi membantu menjaga integritas data, meningkatkan fleksibilitas penggunaan perangkat, dan mempermudah proses pemulihan sistem.

Konsep Partisi primer, extended, dan logis.

1. Partisi Primer

Pengertian:

Partisi primer adalah partisi utama yang dapat langsung digunakan untuk menyimpan data atau sistem operasi. Kamu hanya bisa membuat hingga 4 partisi primer pada satu disk fisik.

Cara Membuat Partisi Primer:

  1. Buka Terminal.
  2. Jalankan fdisk atau cfdisk:
  • Untuk fdisk, ketik: bash sudo fdisk /dev/sda
  • Untuk cfdisk, ketik: bash sudo cfdisk /dev/sda Di sini, /dev/sda adalah nama disk yang ingin kamu partisi. Pastikan untuk menggantinya dengan nama disk yang sesuai.
  1. Buat Partisi Baru:
  • Di fdisk, ketik n untuk membuat partisi baru, kemudian pilih p untuk partisi primer. Ikuti petunjuk untuk menentukan ukuran dan posisi partisi.
  • Di cfdisk, pilih opsi New dan pilih Primary untuk membuat partisi primer. Masukkan ukuran dan lokasi partisi.
  1. Simpan Perubahan:
  • Di fdisk, ketik w untuk menyimpan perubahan dan keluar.
  • Di cfdisk, pilih Write untuk menyimpan perubahan dan Quit untuk keluar.

Penggunaan:

Setelah dibuat, partisi primer bisa diformat dengan sistem file yang diinginkan (misalnya, ext4, xfs) dan dipasang (mount) untuk digunakan.

2. Partisi Extended

Pengertian:

Partisi extended adalah partisi khusus yang berfungsi sebagai container untuk membuat lebih dari 4 partisi logis. Hanya satu partisi extended yang bisa dibuat pada disk.

Cara Membuat Partisi Extended:

  1. Ikuti Langkah Awal: Buka fdisk atau cfdisk seperti yang dijelaskan sebelumnya.
  2. Buat Partisi Extended:
  • Di fdisk, ketik n untuk membuat partisi baru, kemudian pilih e untuk partisi extended. Ikuti petunjuk untuk menentukan ukuran partisi extended.
  • Di cfdisk, pilih opsi New dan pilih Extended untuk membuat partisi extended. Masukkan ukuran yang diinginkan.
  1. Simpan Perubahan seperti yang dijelaskan sebelumnya.

Penggunaan:

Partisi extended tidak bisa digunakan secara langsung untuk menyimpan data; ia harus berisi partisi logis.

3. Partisi Logis

Pengertian:

Partisi logis adalah partisi yang dibuat di dalam partisi extended. Mereka memungkinkan kamu memiliki lebih dari 4 partisi pada disk.

Cara Membuat Partisi Logis:

  1. Buka Terminal dan akses disk menggunakan fdisk atau cfdisk.
  2. Buat Partisi Logis:
  • Di fdisk, setelah membuat partisi extended, ketik n untuk membuat partisi baru, kemudian pilih l untuk partisi logis. Tentukan ukuran dan lokasi partisi logis.
  • Di cfdisk, setelah membuat partisi extended, pilih New dan pilih Logical untuk membuat partisi logis. Masukkan ukuran dan lokasi partisi logis.
  1. Simpan Perubahan seperti yang dijelaskan sebelumnya.

Skema Partisi: MBR vs. GPT

MBR (Master Boot Record) adalah skema partisi tradisional yang telah ada sejak awal era PC. Terletak di sektor pertama dari disk, MBR menyimpan informasi tentang struktur partisi dan cara memulai sistem operasi. MBR menawarkan kompatibilitas yang luas dengan berbagai sistem operasi, terutama yang berbasis BIOS. Namun, MBR memiliki batasan signifikan, seperti dukungan hanya untuk hingga 4 partisi primer atau 3 partisi primer dan 1 partisi extended, serta tidak dapat mendukung disk yang lebih besar dari 2 TB. Kelemahan lainnya adalah kurangnya fitur keamanan dan redundansi dibandingkan dengan skema modern.

GPT (GUID Partition Table) adalah skema partisi yang lebih baru dan menggantikan MBR. Digunakan di sistem berbasis UEFI, GPT menyimpan informasi partisi di beberapa lokasi di disk, yang meningkatkan redundansi dan integritas data. GPT memungkinkan hingga 128 partisi dalam satu disk dan mendukung disk dengan kapasitas lebih dari 2 TB, hingga 9.4 ZB secara teoritis. Meskipun GPT menawarkan keuntungan dalam hal kapasitas dan keamanan data, ia memerlukan sistem UEFI untuk dukungan penuh. Sistem BIOS lama mungkin tidak mendukung GPT tanpa pembaruan perangkat lunak, menjadikannya lebih kompleks daripada MBR.

Dengan demikian, MBR cocok untuk sistem yang memerlukan kompatibilitas luas dengan perangkat berbasis BIOS dan situasi di mana ukuran disk dan jumlah partisi tidak melebihi batasan MBR. Sebaliknya, GPT adalah pilihan ideal untuk sistem modern yang memerlukan dukungan untuk disk besar, banyak partisi, dan fitur tambahan untuk integritas data.

Comparison of different partitioning schemes

1. MBR (Master Boot Record)

  • Partition Limit: Up to 4 primary partitions or 3 primary partitions and 1 extended partition (which can contain multiple logical partitions).
  • Disk Size Support: Up to 2 TB.
  • Compatibility: Widely compatible with most operating systems, especially older ones. Default for BIOS-based systems.
  • Structure: Contains the bootloader and partition table in the first sector of the disk.

2. GPT (GUID Partition Table)

  • Partition Limit: Up to 128 partitions (no need for extended partitions).
  • Disk Size Support: Can handle disks larger than 2 TB (up to 9.4 ZB theoretically).
  • Compatibility: Required for UEFI-based systems but also compatible with BIOS systems (with some configuration). Newer standard with better support for large disks and multiple partitions.
  • Structure: Stores multiple copies of the partitioning and boot data, using GUIDs for partitions which improves redundancy and data integrity.

Comparison Summary

  • MBR vs GPT:
  • Partition Limit: MBR has a limit of 4 primary partitions, while GPT supports up to 128 partitions.
  • Disk Size Support: MBR is limited to 2 TB disks, whereas GPT supports disks larger than 2 TB.
  • Compatibility: MBR is more compatible with older systems, while GPT is needed for modern UEFI systems.
  • Redundancy: GPT provides better redundancy and data integrity with multiple copies of partition tables, unlike MBR.

Partition Software

Software partisi adalah perangkat lunak yang digunakan untuk membuat, mengelola, dan mengubah partisi pada hard disk drive (HDD) atau solid-state drive (SSD). Partisi adalah bagian dari disk yang dibagi secara logis untuk membantu sistem operasi mengelola ruang penyimpanan dengan lebih efisien. Software ini memungkinkan pengguna untuk membuat partisi baru, menghapus partisi yang ada, mengubah ukuran partisi tanpa kehilangan data, serta mengubah jenis file system dari partisi tersebut. Dengan menggunakan software partisi, pengguna juga bisa mengoptimalkan ruang penyimpanan, melakukan dual boot dengan berbagai sistem operasi, dan menjaga data agar tetap terorganisir dengan baik. Contoh software partisi yang umum digunakan meliputi GParted, Disk Management di Windows, dan Disk Utility di macOS.

1. cfdisk

  • Apa itu? cfdisk adalah alat berbasis teks untuk mengelola partisi disk. Alat ini menyediakan antarmuka grafis sederhana yang memudahkan pengguna dalam melihat dan mengelola partisi.
  • Fungsi dan Tujuan:
  • Pembuatan Partisi: Memungkinkan pembuatan partisi baru pada disk.
  • Penghapusan Partisi: Dapat menghapus partisi yang sudah ada.
  • Modifikasi Partisi: Mengubah ukuran, jenis, dan atribut partisi.
  • Visualisasi: Menyediakan tampilan grafis dari tabel partisi yang memudahkan pemahaman struktur disk.
  • Kelebihan:
  • Antarmuka Grafis: Menawarkan antarmuka visual yang lebih mudah dipahami daripada alat berbasis teks lainnya.
  • Penggunaan yang Intuitif: Menyederhanakan proses manajemen partisi dengan menu dan navigasi yang lebih mudah.
  • Ringan dan Cepat: Alat yang ringan dan dapat dijalankan dengan cepat di terminal.
  • Kekurangan:
  • Fitur Terbatas: Meskipun mudah digunakan, cfdisk tidak memiliki semua fitur yang tersedia di fdisk atau alat lainnya.
  • Dukungan Tabel Partisi: Terutama untuk tabel partisi MBR; mungkin kurang fleksibel untuk tabel partisi GPT (GUID Partition Table).

membuat partisi Linux dengan Cfdisk

Langkah-langkah Menggunakan cfdisk

  1. Buka cfdisk untuk Disk
   sudo cfdisk /dev/sdX

Gantilah /dev/sdX dengan disk yang sesuai (misalnya /dev/sda).

  1. Buat Partisi EFI
  • Pilih “New” untuk membuat partisi baru
  • Pilih “Primary” untuk jenis partisi
  • Masukkan ukuran partisi sebagai 514M untuk 514 MB
  • Pilih “Type” untuk mengatur tipe partisi
  • Pilih “EFI System” atau kode ef
  1. Buat Partisi Swap
  • Pilih “New” untuk membuat partisi baru
  • Pilih “Primary” untuk jenis partisi
  • Masukkan ukuran partisi sebagai 2G untuk 2 GB
  • Pilih “Type” untuk mengatur tipe partisi
  • Pilih “Linux swap” atau kode 82
  1. Buat Partisi Root
  • Pilih “New” untuk membuat partisi baru
  • Pilih “Primary” untuk jenis partisi
  • Tekan Enter untuk menggunakan sisa ruang yang tersisa
  • Pilih “Type” untuk mengatur tipe partisi
  • Pilih “Linux” atau kode 83
  1. Terapkan Perubahan
  • Pilih “Write” untuk menyimpan perubahan
  • Konfirmasi dengan mengetik yes
  • Pilih “Quit” untuk keluar dari cfdisk

Format Partisi

  1. Format EFI Partition
   sudo mkfs.vfat -F 32 /dev/sdX1
  1. Format Root Partition
   sudo mkfs.ext4 /dev/sdX3
  1. Format Swap Partition
   sudo mkswap /dev/sdX2
   sudo swapon /dev/sdX2

Mount Partisi

  1. Mount Root Partition
   sudo mount /dev/sdX3 /mnt
  1. Mount EFI Partition
   sudo mkdir /mnt/boot/efi
   sudo mount /dev/sdX1 /mnt/boot/efi

2. fdisk

  • Apa itu? fdisk adalah alat berbasis teks untuk mengelola tabel partisi pada disk, terutama disk dengan tabel partisi MBR. Alat ini menyediakan kontrol yang mendetail melalui antarmuka baris perintah.
  • Fungsi dan Tujuan:
  • Pembuatan Partisi: Membuat partisi baru pada disk.
  • Penghapusan Partisi: Menghapus partisi yang sudah ada.
  • Modifikasi Partisi: Mengubah ukuran, tipe, dan atribut partisi.
  • Pembuatan Tabel Partisi: Dapat membuat tabel partisi baru pada disk.
  • Kontrol Detil: Memberikan kontrol rinci atas partisi dan struktur disk.
  • Kelebihan:
  • Fleksibilitas: Menyediakan kontrol yang lebih mendalam dan rinci dibandingkan dengan alat berbasis antarmuka grafis.
  • Fitur Lengkap: Menawarkan berbagai fitur dan opsi untuk mengelola partisi dan tabel partisi.
  • Dukungan Berbagai Format: Meskipun fokus pada MBR, versi terbaru dari fdisk juga mendukung GPT.
  • Kekurangan:
  • Antarmuka Teks: Antarmuka berbasis teks yang mungkin kurang intuitif bagi pengguna baru.
  • Kurva Pembelajaran: Membutuhkan pemahaman lebih tentang perintah dan opsi yang tersedia.
  • Kemungkinan Risiko: Penggunaan yang tidak hati-hati dapat menyebabkan kehilangan data atau konfigurasi yang salah.

membuat partisi linux server dengan fdisk:

Langkah-langkah Menggunakan fdisk

  1. Buka fdisk untuk Disk
   sudo fdisk /dev/sdX

Gantilah /dev/sdX dengan disk yang sesuai (misalnya /dev/sda).

  1. Buat Partisi EFI
  • Tekan n untuk membuat partisi baru
  • Pilih p untuk primary
  • Tekan Enter untuk memilih nomor partisi default (1)
  • Tekan Enter untuk sektor awal default
  • Masukkan ukuran partisi sebagai +514M untuk 514 MB
  • Tekan t untuk mengubah tipe partisi
  • Masukkan nomor partisi (misalnya 1)
  • Masukkan kode tipe ef untuk EFI
  1. Buat Partisi Swap
  • Tekan n untuk membuat partisi baru
  • Pilih p untuk primary
  • Tekan Enter untuk memilih nomor partisi default (2)
  • Tekan Enter untuk sektor awal default
  • Masukkan ukuran partisi sebagai +2G untuk 2 GB
  • Tekan t untuk mengubah tipe partisi
  • Masukkan nomor partisi (misalnya 2)
  • Masukkan kode tipe 82 untuk swap
  1. Buat Partisi Root
  • Tekan n untuk membuat partisi baru
  • Pilih p untuk primary
  • Tekan Enter untuk memilih nomor partisi default (3)
  • Tekan Enter untuk sektor awal default
  • Tekan Enter untuk menggunakan sisa ruang yang tersisa
  • Tekan t jika perlu untuk memastikan tipe adalah 83 (Linux filesystem)
  1. Simpan dan Keluar
  • Tekan w untuk menulis perubahan ke disk dan keluar dari fdisk

Format Partisi

  1. Format EFI Partition
   sudo mkfs.vfat -F 32 /dev/sdX1
  1. Format Root Partition
   sudo mkfs.ext4 /dev/sdX3
  1. Format Swap Partition
   sudo mkswap /dev/sdX2
   sudo swapon /dev/sdX2

Mount Partisi

  1. Mount Root Partition
   sudo mount /dev/sdX3 /mnt
  1. Mount EFI Partition
   sudo mkdir /mnt/boot/efi
   sudo mount /dev/sdX1 /mnt/boot/efi

3. GParted

Apa itu? GParted (GNOME Partition Editor) adalah alat berbasis antarmuka grafis yang digunakan untuk mengelola partisi disk pada sistem Linux dan juga dapat digunakan pada Windows dan macOS melalui live CD atau USB. GParted memungkinkan pengguna untuk melihat dan mengubah tata letak partisi, serta mengubah ukuran, memindahkan, dan membuat partisi dengan antarmuka pengguna yang intuitif.

Fungsi dan Tujuan:

  • Pembuatan Partisi: Membuat partisi baru pada disk dengan berbagai jenis file system seperti ext4, NTFS, FAT32, dan lainnya.
  • Penghapusan Partisi: Menghapus partisi yang sudah ada dengan mudah menggunakan antarmuka grafis.
  • Modifikasi Partisi: Mengubah ukuran, memindahkan, dan mengubah label partisi tanpa kehilangan data.
  • Format Partisi: Memformat partisi yang ada ke berbagai jenis file system.
  • Salin dan Tempel Partisi: Mengkloning partisi dari satu bagian disk ke bagian lain.

Kelebihan:

  • Antarmuka Grafis: Antarmuka pengguna yang intuitif dan mudah digunakan membuat GParted lebih ramah bagi pemula dibandingkan alat berbasis teks.
  • Kemudahan Penggunaan: Menyederhanakan proses manajemen partisi dengan menampilkan tata letak disk secara visual.
  • Kompatibilitas Luas: Mendukung berbagai jenis file system dan dapat digunakan pada berbagai sistem operasi melalui live CD atau USB.
  • Keamanan: Menawarkan opsi untuk memeriksa dan memperbaiki file system yang rusak, mengurangi risiko kehilangan data.

Kekurangan:

  • Kinerja: Karena berbasis antarmuka grafis, mungkin sedikit lebih lambat dibandingkan alat command-line pada sistem dengan sumber daya terbatas.
  • Ketergantungan pada Antarmuka Grafis: Tidak ideal untuk lingkungan server yang tidak memiliki antarmuka grafis.
  • Batasan pada Beberapa Fitur: Meskipun GParted menawarkan banyak fitur, beberapa opsi lanjutan mungkin tidak tersedia atau memerlukan alat tambahan untuk melakukannya.

Types of File Systems (ext4, NTFS, FAT32, etc.)

1. EXT4 (Fourth Extended Filesystem)

  • Digunakan Pada: Sistem operasi Linux.
  • Kelebihan:
  • Mendukung ukuran partisi hingga 1 exabyte (EB) dan ukuran file hingga 16 terabyte (TB).
  • Lebih cepat dan efisien dibandingkan pendahulunya (EXT3), terutama dalam penanganan file besar.
  • Mendukung fitur “journaling,” yang membantu menjaga integritas data jika terjadi kerusakan sistem.
  • Fragmentasi file lebih rendah, artinya file disimpan dalam satu blok yang berurutan sehingga mempercepat akses.
  • Kekurangan:
  • Tidak kompatibel dengan Windows atau macOS tanpa software khusus.
  • Meskipun memiliki banyak fitur, beberapa pengguna mungkin merasa terlalu rumit untuk kebutuhan dasar.

2. NTFS (New Technology File System)

  • Digunakan Pada: Sistem operasi Windows.
  • Kelebihan:
  • Mendukung ukuran file dan partisi yang sangat besar (hingga 16 EB).
  • Memiliki fitur keamanan yang kuat, seperti enkripsi file dan izin akses berdasarkan pengguna.
  • Juga mendukung “journaling,” yang membantu meminimalkan risiko kehilangan data.
  • Kompatibel dengan Linux dan macOS (biasanya dengan kemampuan baca/tulis yang terbatas tanpa software tambahan).
  • Kekurangan:
  • Tidak semua sistem operasi non-Windows mendukung NTFS secara penuh, terutama untuk menulis data.
  • Karena kompleksitasnya, NTFS bisa lebih lambat pada perangkat dengan spesifikasi rendah dibandingkan dengan sistem file yang lebih sederhana seperti FAT32.

3. FAT32 (File Allocation Table 32)

  • Digunakan Pada: Banyak perangkat seperti USB flash drive, kartu SD, dan perangkat portabel lainnya. Kompatibel dengan hampir semua sistem operasi (Windows, macOS, Linux, dll.).
  • Kelebihan:
  • Kompatibilitas yang sangat luas dengan berbagai sistem operasi dan perangkat.
  • Sederhana dan ringan, sehingga ideal untuk perangkat dengan kapasitas kecil.
  • Kekurangan:
  • Batas ukuran file maksimum adalah 4 GB, dan ukuran partisi maksimal adalah 8 TB.
  • Tidak mendukung fitur keamanan canggih seperti enkripsi atau izin akses file.
  • Tidak ada fitur “journaling,” sehingga lebih rentan terhadap kerusakan data jika terjadi kegagalan sistem.

4. exFAT (Extended File Allocation Table)

  • Digunakan Pada: Umumnya digunakan pada perangkat penyimpanan eksternal seperti USB flash drive dan kartu SD yang besar, kompatibel dengan Windows dan macOS.
  • Kelebihan:
  • Mengatasi batasan ukuran file FAT32, mendukung file yang lebih besar dari 4 GB.
  • Kompatibilitas yang luas seperti FAT32, tetapi tanpa batasan ukuran file yang ketat.
  • Lebih efisien untuk perangkat penyimpanan besar dibandingkan FAT32.
  • Kekurangan:
  • Tidak mendukung fitur keamanan canggih.
  • Tidak seaman atau seandal NTFS atau EXT4, terutama dalam hal integritas data.

5. HFS+ (Hierarchical File System Plus)

  • Digunakan Pada: Sistem operasi macOS (digantikan oleh APFS pada versi macOS yang lebih baru).
  • Kelebihan:
  • Dirancang untuk hard drive besar, mendukung file dan partisi yang sangat besar.
  • Fitur “journaling” untuk meningkatkan keamanan data.
  • Mendukung kompresi file dan enkripsi.
  • Kekurangan:
  • Kurang kompatibel dengan sistem operasi lain tanpa perangkat lunak khusus.
  • Lebih lambat dibandingkan dengan sistem file yang lebih baru seperti APFS.

6. APFS (Apple File System)

  • Digunakan Pada: Sistem operasi macOS dan perangkat Apple modern.
  • Kelebihan:
  • Optimal untuk SSD dan perangkat penyimpanan berbasis flash.
  • Mendukung enkripsi penuh disk, snapshot, dan manajemen ruang yang lebih efisien.
  • Performa tinggi dan keandalan lebih baik dibandingkan HFS+.
  • Kekurangan:
  • Tidak kompatibel dengan Windows dan Linux tanpa software khusus.
  • Masih relatif baru, jadi ada beberapa keterbatasan kompatibilitas dengan perangkat keras dan perangkat lunak lama.

Kesimpulan:

  • EXT4 sangat ideal untuk pengguna Linux.
  • NTFS adalah pilihan terbaik untuk pengguna Windows, terutama jika membutuhkan fitur keamanan dan kemampuan untuk menangani file besar.
  • FAT32 adalah pilihan yang baik untuk perangkat portabel dan situasi di mana kompatibilitas lintas platform penting, tetapi dibatasi oleh ukuran file maksimum 4 GB.
  • exFAT adalah solusi yang bagus untuk perangkat penyimpanan eksternal dengan kebutuhan kompatibilitas tinggi dan dukungan file besar.
  • HFS+ dan APFS adalah pilihan utama untuk pengguna macOS, dengan APFS menjadi lebih unggul untuk perangkat keras Apple modern.

File System

1. ext4 (Fourth Extended Filesystem)

  • Deskripsi: ext4 adalah sistem file yang sangat umum digunakan di Linux. Ini adalah penerus dari ext3 dan menawarkan berbagai perbaikan dalam hal kinerja, stabilitas, dan kapasitas.
  • Fitur Utama:
  • Journaling: Mencatat perubahan yang dilakukan pada sistem file dalam jurnal untuk melindungi data dan mempercepat pemulihan setelah crash.
  • Dukungan Ukuran File dan Partisi Besar: Mendukung file hingga 16 TB dan partisi hingga 1 EB (exabyte).
  • Defragmentasi: Meminimalkan fragmentasi file, meskipun tidak sepenuhnya bebas dari fragmentasi.
  • Delayed Allocation: Meningkatkan kinerja dengan menunda alokasi blok disk untuk data hingga data benar-benar ditulis.
  • Penggunaan Umum:
  • Cocok untuk partisi root (/), data, dan aplikasi. Sangat stabil dan teruji pada berbagai jenis beban kerja.

2. xfs (X File System)

  • Deskripsi: xfs adalah sistem file yang dikembangkan oleh Silicon Graphics dan dikenal karena kemampuannya dalam menangani file besar dan volume data yang besar.
  • Fitur Utama:
  • Skalabilitas: Mendukung ukuran file yang sangat besar (hingga 8 exabytes) dan volume file yang besar.
  • Kinerja Tinggi: Dikenal untuk kinerja tinggi, terutama dalam aplikasi yang memerlukan throughput tinggi dan operasi I/O besar.
  • Journaling: Memungkinkan pemulihan cepat dan aman setelah gangguan daya atau crash sistem.
  • Dukungan Snapshot: Mendukung snapshot, yang memungkinkan pengguna untuk membuat salinan status sistem file pada waktu tertentu (walaupun implementasi snapshot biasanya dilakukan dengan alat tambahan).
  • Penggunaan Umum:
  • Ideal untuk sistem yang memerlukan kinerja tinggi dan pengelolaan data dalam jumlah besar, seperti server file dan database besar.

3. btrfs (B-Tree File System)

  • Deskripsi: btrfs adalah sistem file modern dengan berbagai fitur canggih, dirancang untuk menggantikan ext4 dalam banyak kasus.
  • Fitur Utama:
  • Snapshot: Memungkinkan pembuatan salinan sistem file pada waktu tertentu tanpa mempengaruhi data asli. Ini sangat berguna untuk backup dan pemulihan.
  • Volume Management: Mengintegrasikan manajer volume, sehingga memungkinkan pembuatan dan pengelolaan volume logis tanpa memerlukan perangkat lunak manajer volume terpisah.
  • Compression: Mendukung kompresi data untuk menghemat ruang penyimpanan.
  • Checksumming: Memeriksa integritas data dan metadata untuk mendeteksi dan memperbaiki kerusakan.
  • Penggunaan Umum:
  • Cocok untuk pengguna yang memerlukan fitur canggih seperti snapshot, volume manajer, dan kompresi. Sering digunakan di sistem yang memerlukan manajemen data yang fleksibel dan efisien.

Ringkasan

  • ext4: Sistem file yang stabil dan umum digunakan, dengan fitur journaling dan dukungan untuk ukuran file dan partisi besar.
  • xfs: Sistem file yang kuat untuk kinerja tinggi dan pengelolaan file besar, mendukung ukuran file dan volume yang sangat besar.
  • btrfs: Sistem file modern dengan fitur canggih seperti snapshot, volume management, dan kompresi, ideal untuk penggunaan yang memerlukan fleksibilitas dan fitur tambahan.

Cara Membuat FIle System

Format Partisi ke EXT4

Untuk memformat partisi ke file system ext4, gunakan perintah berikut:

sudo mkfs.ext4 /dev/sdX1

Contoh:

sudo mkfs.ext4 /dev/sdb1

Perintah ini akan memformat perangkat /dev/sdb1 menjadi file system ext4.

Format Partisi ke FAT32

Untuk memformat partisi ke file system FAT32, Anda bisa menggunakan perintah mkfs.vfat:

sudo mkfs.vfat -F 32 /dev/sdX1

Contoh:

sudo mkfs.vfat -F 32 /dev/sdb1

Perintah ini akan memformat perangkat /dev/sdb1 menjadi file system FAT32.

Format Partisi ke XFS

Untuk memformat partisi ke file system xfs, gunakan perintah berikut:

sudo mkfs.xfs /dev/sdX1

Contoh:

sudo mkfs.xfs /dev/sdb1

Perintah ini akan memformat perangkat /dev/sdb1 menjadi file system xfs.

Format Partisi ke NTFS

Untuk memformat partisi ke file system NTFS, gunakan perintah berikut:

sudo mkfs.ntfs /dev/sdX1

Contoh:

sudo mkfs.ntfs /dev/sdb1

Perintah ini akan memformat perangkat /dev/sdb1 menjadi file system NTFS.

Langkah-langkah Sebelum Memformat

  1. Pastikan Partisi Tidak Digunakan: Sebelum memformat, pastikan partisi yang ingin Anda format tidak sedang digunakan atau di-mount. Anda bisa unmount partisi dengan perintah:
   sudo umount /dev/sdX1
  1. Backup Data: Memformat akan menghapus semua data pada partisi. Pastikan untuk membackup data penting sebelum memformat.
  2. Identifikasi Partisi: Pastikan Anda menggunakan perangkat atau partisi yang benar. Anda bisa menggunakan perintah lsblk atau fdisk -l untuk melihat daftar partisi.

Mounting Devices

mount | grep (devices) example: mount | grep sdb # if this doesnt work use this: create mountpoint first sudo mkdir /dev/(name of the mountpoint) example: sudo mkdir /dev/mydevice mount the devies : sudo mount /dev/(devices) /mnt/(name mountpoint) example: sudo mount /dev/sdb1 /mnt/myflashdrive verify the mount ls (mountpoint) example: ls /mnt/device or use this to check mount point: df -h if youwant the divice mounted at boot you need an entry to /etc/fstab first get the UUID of the device: sudo blkid (device) example: sudo blkid /dev/sda1 edit the /etc/fstab sudo nano /etc/fstab add line with the UUID, mount point, file system,and options UUID=xxxx-xxxx-xxxx-xxxx /mnt/mydevice ext4 defaults 0 2 example: /dev/sdb1: UUID=”F037-4128″ BLOCK_SIZE=”512″ TYPE=”vfat” PARTUUID=”2b3a7d37-192c-4cf6-a473-036ea40d849a” // becarefull to do this if u do something wrong ur device will not booting after edting the /etc/fstab u can test it with : sudo mount -a

Mounting

Mounting adalah proses di mana sistem operasi menghubungkan atau menyambungkan sistem file dari perangkat penyimpanan, seperti hard disk, SSD, atau USB drive, sehingga dapat diakses dan digunakan oleh pengguna.

Konsep Dasar Mounting

  1. Perangkat Penyimpanan: Ini adalah media fisik tempat data disimpan, seperti hard disk, SSD, CD/DVD, atau USB flash drive. Setiap perangkat memiliki sistem file yang terorganisir di dalamnya, seperti ext4, NTFS, FAT32, dll.
  2. Sistem File: Ini adalah cara data diatur dan dikelola di dalam perangkat penyimpanan. Sistem file menyediakan struktur untuk menyimpan dan mengambil data dengan efisien.
  3. Titik Mount (Mount Point): Ini adalah lokasi di dalam sistem file utama (seperti direktori pada Linux atau drive letter pada Windows) tempat sistem file perangkat penyimpanan terhubung. Setelah perangkat di-mount, data di dalamnya dapat diakses melalui titik mount ini.
  4. Mounting dan Unmounting:
  • Mounting: Menghubungkan sistem file dari perangkat penyimpanan ke sistem operasi, sehingga data di perangkat tersebut dapat diakses.
  • Unmounting: Memutuskan koneksi antara sistem file perangkat dan sistem operasi. Proses ini penting untuk memastikan semua operasi penulisan data telah selesai sebelum perangkat dilepas, sehingga mencegah kehilangan data.

Mengapa Mounting Penting?

  • Akses Data: Proses mounting memungkinkan sistem operasi untuk membaca dan menulis data pada perangkat penyimpanan. Tanpa mounting, perangkat penyimpanan tidak akan terlihat atau bisa diakses oleh pengguna.
  • Pengelolaan Data: Mounting memungkinkan pengguna untuk mengorganisir data dari berbagai perangkat penyimpanan ke dalam struktur sistem file yang teratur. Ini memudahkan manajemen dan penggunaan data di berbagai perangkat.
  • Keamanan dan Stabilitas Sistem: Dengan memisahkan proses mounting dan unmounting, sistem operasi dapat mencegah akses yang tidak sah atau kerusakan data pada perangkat penyimpanan. Selain itu, ini juga memungkinkan kontrol akses yang lebih baik, seperti menentukan siapa yang dapat membaca atau menulis ke perangkat tertentu.

Analogi Mounting

Bayangkan sistem operasi sebagai gedung perpustakaan dan perangkat penyimpanan sebagai buku-buku yang disimpan di dalam kotak. Mounting adalah proses membuka kotak dan menempatkan buku-buku tersebut di rak perpustakaan agar bisa diakses oleh pengunjung. Ketika selesai, unmounting adalah proses menempatkan buku kembali ke dalam kotak dan menyimpannya, memastikan tidak ada buku yang hilang atau rusak.

Panduan yang Anda buat sudah cukup baik, tetapi ada beberapa perbaikan dan penjelasan tambahan yang bisa kita tambahkan untuk membuatnya lebih jelas dan mudah diikuti. Berikut adalah versi yang lebih terstruktur dan diperbaiki dari instruksi Anda:

Cara Mounting Device di Linux

  1. Periksa Apakah Device Sudah Ter-mount: Untuk melihat apakah perangkat sudah ter-mount, Anda dapat menggunakan perintah mount bersama dengan grep untuk mencari nama perangkat:
   mount | grep sdb

Jika tidak ada output, perangkat tersebut belum ter-mount.

  1. Buat Mount Point: Sebelum melakukan mounting, buatlah mount point (direktori tempat perangkat akan di-mount):
   sudo mkdir /mnt/mydevice

Gantilah mydevice dengan nama mount point yang Anda inginkan.

  1. Mount Perangkat: Untuk melakukan mounting perangkat, gunakan perintah mount:
   sudo mount /dev/sdb1 /mnt/mydevice

Gantilah /dev/sdb1 dengan nama perangkat Anda dan /mnt/mydevice dengan mount point yang Anda buat.

  1. Verifikasi Mount: Setelah perangkat di-mount, Anda dapat memverifikasi dengan melihat isi direktori mount point:
   ls /mnt/mydevice

Anda juga bisa menggunakan df -h untuk melihat semua perangkat yang ter-mount dan titik mount-nya:

   df -h
  1. Mount Otomatis Saat Boot dengan /etc/fstab: Jika Anda ingin perangkat di-mount secara otomatis saat sistem booting, Anda perlu menambahkan entri ke /etc/fstab.
  • Dapatkan UUID Perangkat: UUID perangkat dapat ditemukan dengan menggunakan perintah blkid: sudo blkid /dev/sdb1 Ini akan mengeluarkan UUID yang terlihat seperti ini: UUID="F037-4128".
  • Edit /etc/fstab: Buka file /etc/fstab dengan editor teks, misalnya nano: sudo nano /etc/fstab Tambahkan baris baru di bagian bawah file dengan format berikut: UUID=F037-4128 /mnt/mydevice ext4 defaults 0 2 Contoh Entri: UUID="F037-4128" /mnt/mydevice vfat defaults 0 2 Gantilah UUID dengan UUID perangkat Anda, /mnt/mydevice dengan mount point yang diinginkan, vfat dengan tipe file system (misalnya, ext4, xfs, ntfs, dll.), dan defaults 0 2 adalah opsi default yang umum digunakan.
  1. Verifikasi Konfigurasi fstab: Setelah mengedit /etc/fstab, Anda dapat menguji konfigurasi dengan perintah berikut:
   sudo mount -a

Perintah ini akan mencoba untuk me-mount semua entri di /etc/fstab. Jika tidak ada pesan kesalahan, konfigurasi Anda sudah benar.

Peringatan:

Berhati-hatilah saat mengedit /etc/fstab. Jika entri yang salah dimasukkan, sistem mungkin tidak dapat melakukan booting dengan benar. Sebaiknya pastikan setiap perubahan diuji dengan sudo mount -a sebelum melakukan reboot.

Mount Options

Mount options adalah parameter atau pengaturan yang dapat Anda tentukan saat memasang (mounting) file system ke direktori pada sistem operasi. Opsi ini menentukan bagaimana file system akan berperilaku setelah di-mount, termasuk aspek-aspek seperti izin akses, kinerja, dan cara penanganan data.

Opsi Umum

  1. ro (Read-Only)
  • Deskripsi: Mount sistem file dalam mode hanya baca.
  • Contoh: bash mount -o ro /dev/sda1 /mnt
  • Penjelasan: Sistem file dari /dev/sda1 akan dipasang ke /mnt dengan hak akses hanya baca.
  1. rw (Read-Write)
  • Deskripsi: Mount sistem file dalam mode baca-tulis.
  • Contoh: bash mount -o rw /dev/sda1 /mnt
  • Penjelasan: Sistem file dari /dev/sda1 akan dipasang ke /mnt dengan hak akses baca dan tulis.
  1. noatime (No Access Time Updates)
  • Deskripsi: Jangan perbarui waktu akses file saat file dibaca.
  • Contoh: bash mount -o noatime /dev/sda1 /mnt
  • Penjelasan: Ini dapat meningkatkan kinerja dengan menghindari pembaruan waktu akses file setiap kali file dibaca.
  1. nodiratime (No Directory Access Time Updates)
  • Deskripsi: Jangan perbarui waktu akses direktori.
  • Contoh: bash mount -o nodiratime /dev/sda1 /mnt
  • Penjelasan: Ini mencegah pembaruan waktu akses pada direktori, mirip dengan noatime tetapi hanya untuk direktori.
  1. sync (Synchronous I/O)
  • Deskripsi: Menulis data ke disk secara sinkron.
  • Contoh: bash mount -o sync /dev/sda1 /mnt
  • Penjelasan: Semua operasi I/O akan dilakukan secara sinkron, yang berarti data akan langsung ditulis ke disk.
  1. async (Asynchronous I/O)
  • Deskripsi: Menulis data ke disk secara asinkron.
  • Contoh: bash mount -o async /dev/sda1 /mnt
  • Penjelasan: Operasi I/O dilakukan secara asinkron, memungkinkan peningkatan kinerja tetapi dengan risiko kehilangan data dalam kasus crash.
  1. user (User Mounting)
  • Deskripsi: Mengizinkan pengguna non-root untuk melakukan mounting.
  • Contoh: bash mount -o user /dev/sda1 /mnt
  • Penjelasan: Pengguna biasa dapat melakukan mounting sistem file.
  1. auto (Automatic Mounting)
  • Deskripsi: Mount sistem file secara otomatis saat sistem boot.
  • Contoh: bash mount -o auto /dev/sda1 /mnt
  • Penjelasan: Sistem file akan dimount secara otomatis saat boot.

Opsi Khusus Sistem File

  1. ext4: Opsi khusus untuk sistem file ext4.
  • data=journal: Menulis data ke jurnal sebelum menulis ke sistem file, meningkatkan integritas data. bash mount -t ext4 -o data=journal /dev/sda1 /mnt
  1. xfs: Opsi khusus untuk sistem file xfs.
  • logbufs=8: Menetapkan jumlah buffer log untuk xfs. bash mount -t xfs -o logbufs=8 /dev/sda1 /mnt
  1. nfs: Opsi khusus untuk sistem file nfs.
  • vers=4: Menetapkan versi NFS. bash mount -t nfs -o vers=4 server:/exported/path /mnt

Opsi dan Parameter Penting untuk mount

Saat menggunakan perintah mount, ada beberapa opsi dan parameter penting yang dapat digunakan untuk mengonfigurasi cara sistem file dipasang:

  1. -t (Type)
  • Deskripsi: Menentukan tipe sistem file.
  • Contoh: bash mount -t ext4 /dev/sda1 /mnt
  • Penjelasan: Menentukan tipe sistem file sebagai ext4.
  1. -o (Options)
  • Deskripsi: Menentukan opsi mount, seperti ro, rw, noatime, dll.
  • Contoh: bash mount -o rw,noatime /dev/sda1 /mnt
  • Penjelasan: Memasang sistem file dengan opsi baca-tulis dan tanpa pembaruan waktu akses.
  1. -r (Read-Only)
  • Deskripsi: Mount sistem file sebagai read-only.
  • Contoh: bash mount -r /dev/sda1 /mnt
  • Penjelasan: Memasang sistem file dalam mode hanya baca.
  1. -a (All)
  • Deskripsi: Memasang semua sistem file yang terdaftar di /etc/fstab.
  • Contoh: bash mount -a
  • Penjelasan: Memasang semua sistem file yang didefinisikan dalam /etc/fstab.
  1. -f (Fake)
  • Deskripsi: Hanya mencoba untuk menguji mounting, tanpa benar-benar memasang.
  • Contoh: bash mount -f -t ext4 /dev/sda1 /mnt
  • Penjelasan: Menguji mounting tanpa melakukan pemasangan.

Mounting dan fstab

Mounting otomatis dengan /etc/fstab adalah metode untuk memastikan bahwa sistem file dipasang secara otomatis saat sistem boot. File /etc/fstab berisi informasi tentang sistem file dan bagaimana mereka harus dipasang.

Unmounting

Cara Menggunakan Perintah umount

Perintah umount digunakan untuk melepaskan (unmount) sistem file dari titik mount. Berikut adalah beberapa cara dan parameter penting dalam menggunakan umount:

  1. Dasar
  • Deskripsi: Melepaskan sistem file dari titik mount.
  • Contoh: bash umount /mnt/mydevice
  • Penjelasan: Melepaskan sistem file yang dipasang di /mnt.
  1. Menggunakan Perangkat
  • Deskripsi: Melepaskan sistem file berdasarkan perangkatnya.
  • Contoh: bash umount /dev/sda1
  • Penjelasan: Melepaskan sistem file yang terpasang dari /dev/sda1.
  1. -l (Lazy Unmount)
  • Deskripsi: Melepaskan sistem file secara malas, yaitu, melepaskan dari sistem file tetapi menunda pembersihan hingga tidak ada lagi yang menggunakannya.
  • Contoh: bash umount -l /mnt/mydevice
  • Penjelasan: Melepaskan titik mount /mnt tetapi menyelesaikan proses pembersihan nanti.
  1. -f (Force)
  • Deskripsi: Memaksa pelepasan sistem file, bahkan jika sistem file sedang sibuk.
  • Contoh: bash umount -f /mnt/mydevice
  • Penjelasan: Memaksa pelepasan sistem file di /mnt, bahkan jika ada proses yang mengaksesnya.
  1. -r (Recursive)
  • Deskripsi: Melepaskan semua sistem file yang dipasang di bawah titik mount.
  • Contoh: bash umount -r /mnt/mydevice
  • Penjelasan: Melepaskan /mnt dan semua sistem file yang dipasang di bawahnya.

Catatan

  • Pastikan tidak ada proses yang sedang menggunakan sistem file yang ingin dilepas. Anda dapat menggunakan lsof atau fuser untuk memeriksa proses yang menggunakan sistem file tertentu.
  lsof /mnt/mydevice
  fuser -m /mnt/mydevice

Fstab Operation

fstab (File System Table) adalah file konfigurasi pada sistem operasi Linux dan Unix yang menentukan bagaimana sistem file dan perangkat penyimpanan harus dipasang (mounted) secara otomatis saat sistem boot. File ini berisi informasi tentang lokasi perangkat, titik mount, tipe sistem file, dan opsi pemasangan yang digunakan untuk mengelola akses ke partisi dan perangkat penyimpanan lainnya.

Format dan Struktur /etc/fstab

File /etc/fstab mengikuti format standar yang terdiri dari enam kolom. Setiap baris dalam file ini mewakili satu entri sistem file dan berisi informasi yang diperlukan untuk memasang sistem file secara otomatis saat boot.

1. File System (Perangkat atau UUID)

  • Deskripsi: Menyebutkan perangkat penyimpanan atau sistem file yang akan dipasang. Ini bisa berupa nama perangkat (/dev/sda1), UUID, atau label.
  • Format:
  • Nama Perangkat: Misalnya, /dev/sda1.
  • UUID: Universally Unique Identifier, yang memastikan identifikasi unik sistem file. Formatnya adalah UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
  • Label: Nama label sistem file yang ditetapkan saat pembuatan. Formatnya adalah LABEL=label_name.
  • Contoh:
  UUID=02b47af6-b8c7-4d97-99fc-d0b4a48afd41
  UUID=1FDB-45A1
  UUID=1c06b63b-6367-4fd6-b27b-628e660db3b2

2. Mount Point (Titik Mount)

  • Deskripsi: Lokasi di sistem file di mana sistem file akan dipasang. Titik mount harus berupa direktori yang sudah ada pada sistem.
  • Format:
  • Titik Mount: Misalnya, /, /boot/efi, none (untuk swap).
  • Contoh:
  /
  /boot/efi
  none

3. File System Type (Tipe Sistem File)

  • Deskripsi: Jenis sistem file yang digunakan pada perangkat tersebut. Tipe ini menentukan format dan struktur data yang digunakan oleh sistem file.
  • Format:
  • ext4: Sistem file yang umum digunakan di Linux.
  • vfat: Sistem file FAT, sering digunakan untuk partisi EFI.
  • swap: Partisi swap untuk manajemen memori.
  • Contoh:
  ext4
  vfat
  swap

4. Mount Options (Opsi Mount)

  • Deskripsi: Menentukan opsi khusus saat sistem file dipasang. Opsi ini dapat memengaruhi kinerja, keamanan, dan cara sistem file diakses.
  • Format:
  • defaults: Opsi default, termasuk rw, suid, dev, exec, auto, nouser, dan async.
  • errors=remount-ro: Opsi khusus untuk sistem file ext4, yang memberitahu sistem untuk memasang ulang sistem file sebagai read-only jika terjadi kesalahan.
  • umask=0077: Opsi untuk sistem file vfat, yang mengatur izin default untuk file.
  • sw: Opsi untuk partisi swap, menunjukkan bahwa partisi ini adalah swap.
  • Contoh:
  errors=remount-ro
  umask=0077
  sw

5. Dump (Dump)

  • Deskripsi: Menentukan apakah sistem file perlu dicadangkan oleh utilitas dump. Angka ini biasanya 0 (tidak dicadangkan) atau 1 (dicadangkan).
  • Format:
  • 0: Sistem file tidak perlu dicadangkan.
  • 1: Sistem file perlu dicadangkan.
  • Contoh:
  0
  0
  0

6. Pass (Pass)

  • Deskripsi: Menentukan urutan di mana sistem file diperiksa oleh utilitas fsck saat boot. Angka ini menentukan prioritas pemeriksaan.
  • Format:
  • 0: Sistem file tidak diperiksa.
  • 1: Sistem file utama, diperiksa terlebih dahulu.
  • 2: Sistem file sekunder, diperiksa setelah yang utama.
  • Contoh:
  1
  1
  0

Contoh Konfigurasi /etc/fstab

Berikut adalah contoh entri dalam file /etc/fstab yang lengkap dengan penjelasan rinci:

# / was on /dev/sda2 during installation
UUID=02b47af6-b8c7-4d97-99fc-d0b4a48afd41 /               ext4    errors=remount-ro 0       1

# /boot/efi was on /dev/sda1 during installation
UUID=1FDB-45A1  /boot/efi       vfat    umask=0077      0       1

# swap was on /dev/sda3 during installation
UUID=1c06b63b-6367-4fd6-b27b-628e660db3b2 none            swap    sw              0       0
  • UUID=02b47af6-b8c7-4d97-99fc-d0b4a48afd41: Sistem file dengan UUID ini dipasang di / dengan tipe ext4.
  • errors=remount-ro: Jika terjadi kesalahan, sistem file dipasang ulang sebagai read-only.
  • 0 1: Sistem file tidak dicadangkan dan diperiksa oleh fsck pada urutan pertama saat boot.
  • UUID=1FDB-45A1: Sistem file dengan UUID ini dipasang di /boot/efi dengan tipe vfat.
  • umask=0077: Mengatur izin default untuk file di sistem file vfat.
  • 0 1: Sistem file tidak dicadangkan dan diperiksa oleh fsck pada urutan pertama saat boot.
  • UUID=1c06b63b-6367-4fd6-b27b-628e660db3b2: Partisi swap dengan UUID ini.
  • none: Titik mount tidak digunakan untuk partisi swap.
  • sw: Menandakan bahwa partisi ini adalah swap.
  • 0 0: Partisi swap tidak dicadangkan dan tidak diperiksa oleh fsck.

Menambahkan Entri baru di /etc/fstab

1. Buka File /etc/fstab

Anda perlu membuka file /etc/fstab dengan editor teks favorit Anda. Untuk mengedit file ini, Anda harus memiliki hak akses superuser. Anda bisa menggunakan nano, vim, atau editor teks lainnya.

Contoh menggunakan nano:

sudo nano /etc/fstab

2. Menambahkan Entri Baru

Setiap baris di /etc/fstab mewakili satu entri untuk sebuah sistem file. Format dasar dari entri ini adalah:

[device] [mount point] [file system type] [options] [dump] [pass]

Berikut penjelasan masing-masing komponen:

  • [device]: Lokasi perangkat atau UUID dari partisi yang akan di-mount (misalnya, /dev/sda1 atau UUID=abc123).
  • [mount point]: Direktori di mana perangkat atau partisi tersebut akan di-mount (misalnya, /mnt/data).
  • [file system type]: Jenis file system dari partisi tersebut (misalnya, ext4, xfs, ntfs).
  • [options]: Opsi mounting yang diinginkan, dipisahkan oleh koma (misalnya, defaults, noatime, rw).
  • [dump]: Digunakan oleh utilitas dump untuk menentukan apakah partisi ini perlu dicadangkan. Biasanya diatur ke 0.
  • [pass]: Menentukan urutan pemeriksaan file system saat boot; 0 berarti tidak ada pemeriksaan, 1 untuk root file system, dan 2 untuk partisi lainnya.

Contoh Entri:

Misalkan Anda ingin menambahkan entri untuk partisi /dev/sda1 agar di-mount secara otomatis ke /mnt/data dengan sistem file ext4 dan opsi noatime:

/dev/sda1 /mnt/data ext4 noatime 0 2

Entri ini berarti:

  • /dev/sda1: Perangkat yang akan di-mount.
  • /mnt/data: Lokasi mount point.
  • ext4: Jenis file system.
  • noatime: Opsi mount untuk menghindari pembaruan waktu akses pada setiap baca file, yang dapat meningkatkan kinerja.
  • 0: Tidak digunakan oleh dump.
  • 2: Menentukan bahwa sistem file harus diperiksa kedua setelah root.

3. Simpan dan Tutup File

Setelah Anda menambahkan entri yang diinginkan, simpan perubahan dan keluar dari editor teks.

Jika Anda menggunakan nano, Anda dapat menekan Ctrl + O untuk menyimpan, lalu Enter untuk mengkonfirmasi, dan Ctrl + X untuk keluar.

4. Memeriksa Konfigurasi Baru

Sebelum menerapkan perubahan, Anda dapat memeriksa apakah entri baru yang ditambahkan tidak memiliki kesalahan dengan menjalankan:

sudo mount -a

Perintah ini akan mencoba untuk me-mount semua sistem file yang terdaftar di /etc/fstab. Jika tidak ada pesan kesalahan, berarti konfigurasi Anda benar.

5. Restart atau Mount Ulang Partisi

Setelah memastikan tidak ada kesalahan, Anda dapat me-restart komputer Anda agar semua perubahan diterapkan saat boot. Atau, Anda dapat me-mount partisi baru secara manual menggunakan:

sudo mount /mnt/data

Ini akan menggunakan konfigurasi yang baru saja Anda tambahkan di /etc/fstab.

Menghapus Entri di fstab

Untuk menghapus entri di file /etc/fstab, Anda harus mengedit file ini dan menghapus baris yang sesuai dengan entri yang ingin Anda hapus. Menghapus entri di /etc/fstab dapat mencegah sistem dari mencoba untuk me-mount perangkat atau partisi tersebut secara otomatis saat booting.

Berikut langkah-langkah untuk menghapus entri di /etc/fstab:

1. Buka File /etc/fstab

Anda harus membuka file /etc/fstab dengan hak akses superuser. Anda bisa menggunakan editor teks seperti nano, vim, atau editor lainnya.

Contoh menggunakan nano:

sudo nano /etc/fstab

2. Temukan Entri yang Ingin Dihapus

Di dalam file /etc/fstab, setiap baris mewakili satu entri mount. Cari baris yang sesuai dengan perangkat atau partisi yang ingin Anda hapus. Entri biasanya terlihat seperti ini:

/dev/sda1 /mnt/data ext4 noatime 0 2

3. Hapus Entri

Setelah menemukan baris yang ingin dihapus, cukup hapus seluruh baris tersebut. Di editor nano, Anda dapat menghapus baris dengan menempatkan kursor di baris tersebut dan menekan Ctrl + K.

4. Simpan dan Tutup File

Setelah menghapus entri, simpan perubahan dan keluar dari editor teks.

Jika Anda menggunakan nano, tekan Ctrl + O untuk menyimpan file, lalu tekan Enter untuk mengkonfirmasi, dan tekan Ctrl + X untuk keluar dari editor.

5. Periksa dan Terapkan Perubahan

Setelah menghapus entri dan menyimpan perubahan, Anda dapat memeriksa apakah file /etc/fstab tidak memiliki kesalahan dengan menjalankan perintah berikut:

sudo mount -a

Perintah ini akan mencoba untuk me-mount semua sistem file yang masih terdaftar di /etc/fstab. Jika ada kesalahan dalam file, sistem akan memberi tahu Anda.

6. Mount Ulang atau Reboot

Setelah menghapus entri, perangkat atau partisi yang dihapus tidak akan di-mount saat sistem booting berikutnya. Jika partisi sudah di-mount dan Anda ingin meng-unmount-nya segera, Anda bisa menggunakan perintah:

sudo umount /mnt/data

Gantilah /mnt/data dengan mount point dari partisi yang ingin Anda unmount.

Mounting Device secara Otomatis di /etc/fstab

Jika Anda memiliki perangkat dan ingin perangkat tersebut otomatis ter-mounting saat boot, Anda harus menambahkannya ke file /etc/fstab.

Untuk mengedit file /etc/fstab, buka terminal dan ketik:

nano /etc/fstab

Masukkan informasi perangkat, titik mount, dan opsi yang diinginkan. Format dasar untuk memasukkan baris baru di /etc/fstab adalah:

<file system> <mount point> <type> <options> <dump> <pass>

Contoh:

/dev/sdb1 /mnt/mydevice ext4 defaults 0 1

Opsi Mount di /etc/fstab:

  1. defaults: Ini adalah kombinasi beberapa opsi umum seperti rw, suid, dev, exec, auto, nouser, async.
  2. ro: Mount sistem file sebagai read-only (hanya baca).
  3. nosuid: Menonaktifkan eksekusi bit SUID dan SGID pada file di dalam sistem file ini.
  4. nodev: Menghindari interpretasi perangkat di filesystem.
  5. realtime: Mengoptimalkan filesystem untuk performa waktu nyata (jarang digunakan).
  6. uhelper: Menggunakan program pembantu untuk mengelola mount (juga jarang digunakan).

Opsi Dump dan Pass di /etc/fstab:

  • Dump (0 atau 1):
  • 0: Sistem file tidak perlu dicadangkan.
  • 1: Sistem file akan dicadangkan oleh utilitas dump.
  • Pass (0, 1, atau 2):
  • 0: Sistem file tidak akan diperiksa saat boot.
  • 1: Sistem file utama (biasanya root) akan diperiksa pertama kali.
  • 2: Sistem file sekunder akan diperiksa setelah sistem file dengan prioritas 1.

Contoh Penggunaan dalam /etc/fstab:

/dev/sda1   /        ext4    defaults        1  1
/dev/sda2   /home    ext4    defaults        1  2
/dev/sdb1   /mnt/extra  ext4    defaults        0  0

Menambahkan Device Menggunakan UUID:

Untuk memastikan perangkat ter-mount dengan benar saat boot, terutama ketika nama perangkat seperti /dev/sdb1 dapat berubah, gunakan UUID (Universal Unique Identifier).

  1. Untuk menemukan UUID perangkat, gunakan:
   sudo blkid
  1. Salin UUID perangkat yang diinginkan dan tambahkan ke /etc/fstab:
   UUID=550e8400-e29b-41d4-a716-446655440000 /mnt/mydevice ext4 defaults 0 0
  1. Simpan perubahan dan periksa dengan:
   sudo mount -a

Catatan Tambahan:

  • Untuk perangkat yang tidak ingin otomatis ter-mount, tambahkan opsi noauto di bagian opsi mount di /etc/fstab. Dengan ini, perangkat hanya akan di-mount ketika Anda melakukannya secara manual, yang dapat membantu melindungi data di perangkat tersebut.

Contoh menggunakan noauto:

UUID=550e8400-e29b-41d4-a716-446655440000 /mnt/backup ext4 noauto 0 0

Gunakan sudo mount -a untuk memeriksa dan memastikan tidak ada kesalahan konfigurasi.

Masalah Umum dan Solusi: Kesalahan yang sering terjadi saat mengedit fstab dan cara memperbaikinya.

Mengedit file /etc/fstab harus dilakukan dengan hati-hati karena kesalahan kecil dapat menyebabkan masalah serius, seperti sistem gagal booting. Berikut adalah beberapa masalah umum yang sering terjadi saat mengedit fstab, beserta solusi untuk memperbaikinya:

1. Kesalahan Sintaks

Masalah: Kesalahan dalam sintaks file fstab, seperti spasi yang tidak tepat, tab yang hilang, atau karakter yang salah, dapat menyebabkan sistem gagal memproses entri yang ada di dalam file.

Solusi:

  • Periksa kembali format setiap baris dalam fstab sesuai dengan sintaks yang benar: <file system> <mount point> <type> <options> <dump> <pass>
  • Gunakan editor teks yang mendukung tampilan spasi dan tab untuk memastikan format yang benar.
  • Gunakan perintah berikut untuk memeriksa kesalahan sintaks di fstab: bash sudo mount -a Jika ada kesalahan, perintah ini akan menampilkan pesan kesalahan.

2. UUID atau LABEL yang Salah

Masalah: UUID atau LABEL yang salah atau tidak ada untuk perangkat tertentu dalam fstab dapat menyebabkan kegagalan saat sistem mencoba memasang perangkat tersebut.

Solusi:

  • Verifikasi UUID atau LABEL yang benar menggunakan perintah: bash blkid
  • Salin UUID atau LABEL yang benar ke dalam entri fstab.

3. Kesalahan di Titik Mount (Mount Point)

Masalah: Titik mount yang tidak ada atau salah dapat menyebabkan kesalahan saat memasang sistem file.

Solusi:

  • Pastikan bahwa direktori titik mount yang ditentukan di fstab ada. Jika tidak ada, buat direktori tersebut dengan: bash sudo mkdir /path/to/mountpoint
  • Pastikan Anda memiliki izin yang tepat untuk titik mount.

4. Opsi Mount yang Tidak Kompatibel

Masalah: Menggunakan opsi mount yang tidak kompatibel dengan jenis sistem file dapat menyebabkan kesalahan.

Solusi:

  • Periksa dokumentasi untuk opsi mount yang sesuai dengan sistem file yang Anda gunakan.
  • Contoh: Jangan menggunakan opsi ext4 pada partisi dengan sistem file vfat.

5. Kesalahan pada Kolom ‘dump’ dan ‘pass’

Masalah: Nilai yang salah pada kolom dump dan pass dapat menyebabkan sistem tidak memeriksa sistem file dengan benar.

Solusi:

  • Pastikan kolom dump diisi dengan 0 atau 1. Biasanya, nilai 0 digunakan jika Anda tidak ingin melakukan pencadangan menggunakan utilitas dump.
  • Kolom pass biasanya diatur ke 1 untuk sistem file root (/) dan 2 untuk sistem file lainnya. Gunakan 0 jika Anda tidak ingin menjalankan fsck pada sistem file tersebut saat boot.

6. Mengabaikan Perintah ‘mount -a’ Setelah Mengedit fstab

Masalah: Perubahan pada file fstab tidak diterapkan karena perintah yang benar tidak dijalankan.

Solusi:

  • Setelah mengedit fstab, jalankan perintah: bash sudo mount -a
  • Ini akan mencoba memasang semua sistem file yang ditentukan di fstab dan akan memberikan pesan kesalahan jika ada masalah.

7. Menggunakan Editor Teks yang Tidak Menyimpan Perubahan dengan Benar

Masalah: Menggunakan editor teks yang tidak mendukung penyimpanan yang tepat atau menyebabkan korupsi pada file fstab.

Solusi:

  • Gunakan editor teks terminal yang andal seperti nano atau vim dengan hak akses superuser: bash sudo nano /etc/fstab
  • Selalu buat cadangan file fstab sebelum mengeditnya: bash sudo cp /etc/fstab /etc/fstab.bak

8. Sistem Gagal Boot karena Kesalahan di fstab

Masalah: Sistem tidak dapat boot karena kesalahan konfigurasi dalam file fstab.

Solusi:

  • Boot sistem menggunakan mode pemulihan (recovery mode) atau dari live USB.
  • Akses sistem file root dan edit fstab untuk memperbaiki kesalahan.
  • Gunakan perintah berikut untuk mengedit fstab dari live USB: bash sudo mount /dev/sdXY /mnt sudo nano /mnt/etc/fstab (Gantilah /dev/sdXY dengan partisi root yang sesuai)

Logical Volume Management Operation

Apa itu LVM

LVM atau Logical Volume Management adalah teknologi penyimpanan di Linux yang memungkinkan manajemen disk yang fleksibel dan dinamis. Dengan LVM, Anda dapat menggabungkan beberapa hard drive atau partisi menjadi satu volume logis, membuatnya lebih mudah untuk mengelola ruang penyimpanan. Anda dapat dengan mudah memperbesar atau memperkecil ukuran volume logis tanpa perlu mengubah partisi fisik. Ini sangat berguna untuk server atau sistem yang memerlukan manajemen penyimpanan yang dinamis dan efisien. LVM juga mendukung snapshot, yang memungkinkan Anda membuat salinan sistem file dalam keadaan tertentu untuk tujuan cadangan atau pemulihan.

settings lvm dari installasi

instalasi seperti biasa sampai bertemu LVM menu

saat pada menu guided storage configuration checklist set up this disk as an LVM groups (saya sarankan ini jika anda adalah pemula ataupun tidak karena lvm akan mengconfigurasi sendiri gruoup nya dan anda masih bisa mengedit nya nanti)

atau jika anda membutuhkan spesific settings anda bisa memilih costum storage layout,tetapi saya menyarankan ini jika anda adalah seorang profesional

setingan dasar yang harus ada ketika anda mensetting manual adalah / atau root partition EFI atau booting partition dan swap jika ram anda kecil maupun tidak ingin beban berlebih pada ram

https://i.ytimg.com/vi/NxuXgtjvCto/maxresdefault.jpg

(foto layer lvm) physical layer its like hard drive or hard disk volume group its like a container for a logical volume logical volume storage unit that simillar to partition on the sytem but its LVM manage it dynamicly file system is a structure that rule or manage data that saved or store and accessed on storege media like a hardisk or ssd. file system manage that data in file and direktori.theres a methode for read write and organite that data

after you succed install your ubuntu server you can check your partision or your storage using df -h command or using lsblk to check mountpoint

sudo pvdispplay (this command show you informaton about your physical volume)
example output:
root@template:/home/user# pvdisplay
--- Physical volume---
PV Name /devsda3
VG Name ubuntuvg
PV Size <30.00 GiB / not usable0
Allocatable yes
PE Size 4.00MiB
Total PE 7679
Free PE 3840
Allocated PE 3839
PV UUID 1byHkh-1Nqz-rk62-y8J0-S8ry-xBg1-R8zmMl

output breakdown: pv name = name of your physical volume vg name = name of your volume group PV size = phsical volume size allocateble = this mean your storage device or partision can be allocatable PE size = size of your physical extend total PE = the total of your physical extend free PE = physical extend free storage allocated pe = total of physical extend that can be allocate PV UUID = yeah u u know this we have explain this before

sudo vgdisplay (this command will show information about your volume group)
example output:
--- Volume group ---
VG Name ubuntu-vg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size <30.00 GiB
PE Size 4.00 MiB
Total PE 7679
Alloc PE / Size 3839 / <15.00 GiB
Free PE / Size 3840 / 15.00 GiB
VG UUID gxER1S-L4kM-8cHo-81GG-cnbd-gbA5-JaUXj2

output breakdown: (i will explain what i dont yet explain) System ID: Identifier for the system or volume group (usually internal and not always visible). Format: Indicates the metadata format of the volume group. lvm2 means it uses the LVM version 2 metadata format. Metadata Areas: Number of areas on physical volumes where metadata is stored. 1 means there is one area. Metadata Sequence No: Version number of the metadata. 2 indicates this is the second version. VG Access: Access permissions for the volume group. read/write means the volume group is accessible for both reading and writing. VG Status: Status of the volume group. resizable indicates that the volume group can be resized. MAX LV: Maximum number of logical volumes that can be created in the volume group. 0 means there is no set limit. Cur LV: Current number of logical volumes in the volume group. 1 indicates there is one logical volume. Open LV: Number of logical volumes currently open (in use). 1 means one logical volume is currently open. Max PV: Maximum number of physical volumes that can be added to the volume group. 0 means there is no set limit. Cur PV: Current number of physical volumes in the volume group. 1 indicates there is one physical volume. Act PV: Number of active physical volumes in the volume group. 1 means one physical volume is currently active.

sudo su lvdisplay (this command will show you information about your logical volume)
example output:LV Path = Path to the logical volume
LV Name = Name of the logical volume
VG Name = Name of the volume group
LV UUID = Unique identifier for the logical volume
LV Access = Access type (read/write)
Created = Creation date and time
LV Status = Current status of the logical volume
Open = Number of open logical volumes
Size = Size of the logical volume
LEs = Number of logical extents
Segments = Number of segments in the logical volume
Block Device = Device number of the block device

coutput breakdown: LV Path = Path to the logical volume LV Name = Name of the logical volume VG Name = Name of the volume group LV UUID = Unique identifier for the logical volume LV Access = Access type (read/write) Created = Creation date and time LV Status = Current status of the logical volume Open = Number of open logical volumes Size = Size of the logical volume LEs = Number of logical extents Segments = Number of segments in the logical volume Block Device = Device number of the block device

or you can check it using cat /etc/fstab

expand filesystem in proxmox

before you expand your i suggest you to check your vm name if u can ssh into root to your proxmox admin and check using this command: qm list(list all your vm) qm config (vm id) //this will show configuration of your vm

to expand your disk or resize via terminal ssh to your vm or your admin and use this command:
qm resize
example:
qm resize 104 scsi0 30G
break down:
qm (qemu command/ qemu manager)
resize (this command will perform resize action)
104 ( vm ID)
sci0 (spesific disk you want to resize)
30 (size u wan t to add to your vm)

to turn device to physical volume use: lsblk (to check your new device identified as what)

<br>sudo pvcreate /dev/sdb(yourdevice)

this gonna make your new device be a partition volume so becarefull you already make your partition volume to expand your lvm or your ubuntu–vg-ubuntu–lv use this command

<br>vgextend ubuntu-vg /dev/sdb<br>

output: sudo vgextend ubuntu-vg /dev/sdb Volume group “ubuntu-vg” successfully extended

code breakdown: vgextend = command to extend a volume group in LVM ubuntu-vg = name of the volume group you want to extend /dev/sdb = physical volume (disk or partition) you want to add to the volume group

sudo vgdisplay (to check the configuration)

you can use this as new physical volume to create logical volume or expand another logical volume

expand logical volume

extend

lvextend -L +10G /dev/ubuntu-vg/ubuntu-lv
sudo lvcreate -L 10G -n my_lv my_vg

create

example output: lvextend -L +10G /dev/ubuntu-vg/ubuntu-lv Size of logical volume ubuntu-vg/ubuntu-lv changed from <15.00 GiB (3839 extents) to <25.00 GiB (6399 extents). Logical volume ubuntu-vg/ubuntu-lv successfully resized.

code breakdown: lvextend = command to extent a logical volume in lvm -L +10G = option to increase the logical volume size by an additional 10 gigabytes /dev/ubuntu-vg/ubuntu-lv = full path to the logical volume you want to extend

resize the file system

<br>resize2fs /dev/ubuntu-vg/ubuntu-lv<br>

example output: resize2fs = command to resize an ext2, ext3, or ext4 filesystem /dev/ubuntu-vg/ubuntu-lv = the path to the logical volume containing the filesystem you want to resize

code breakdown: resize2fs = command to resize an ext2, ext3, or ext4 filesystem /dev/ubuntu-vg/ubuntu-lv = the path to the logical volume containing the filesystem you want to resize

setting lvm manually

lvextend --resizefs -l +100%FREE /dev/ubuntu-vg/ubuntu-lv<br>

example output: lvextend –resizefs -l +100%FREE /dev/ubuntu-vg/ubuntu-lv Size of logical volume ubuntu-vg/ubuntu-lv changed from <25.00 GiB (6399 extents) to 39.99 GiB (10238 extents). Logical volume ubuntu-vg/ubuntu-lv successfully resized. resize2fs 1.47.0 (5-Feb-2023) Filesystem at /dev/mapper/ubuntu–vg-ubuntu–lv is mounted on /; on-line resizing required old_desc_blocks = 4, new_desc_blocks = 5 The filesystem on /dev/mapper/ubuntu–vg-ubuntu–lv is now 10483712 (4k) blocks long.

code breakdown: lvextend = Command to extend the size of a logical volume in LVM –resizefs = Option to automatically resize the filesystem on the logical volume -l +100%FREE = Option to extend the logical volume by using all of the remaining free space in the volume group /dev/ubuntu-vg/ubuntu-lv = Path to the logical volume you want to resize

another method

connect device

lsblk to see the device example: /dev/sdc

sudo pvcreate /dev/sdb(yourdevice) //this gonna make your new device be a

partition volume so becarefull you already make your partition volume to expand your lvm or your ubuntu–vg-ubuntu–lv use this command

extend volume group

<br>vgextend ubuntu-vg /dev/sdb<br>

output: sudo pvcreate /dev/sdc successfully created. vgextend ubuntu-vg /dev/sdb Volume group “ubuntu-vg” successfully extended

code breakdown: vgextend = command to extend a volume group in LVM ubuntu-vg = name of the volume group you want to extend /dev/sdb = physical volume (disk or partition) you want to add to the volume group

create volume group

vgcreate vg_extend /dev/sdc

example output: Volume group “vg_extend” successfully created

code breakdown: vgcreate = Command to create a new volume group in LVM vg_extend = Name of the new volume group you want to create /dev/sdc = Physical volume (disk or partition) that will be included in the new volume group

to check it use vgdisplay

create logical volume

lvcreate vg_extend -L 6G -n lv_app<br>

example output: Logical volume “lv_app” created.

code breakdwon: lvcreate = Command to create a new logical volume in LVM vg_extend = Name of the volume group where the logical volume will be created -L 6G = Size of the new logical volume (6 gigabytes) -n lv_app = Name of the new logical volume

to check it use lvdisplay copy the path

format file system

mkfs.ext4 /dev/vg_extend/lv_app

output example: mke2fs 1.47.0 (5-Feb-2023) Discarding device blocks: done Creating filesystem with 1835008 4k blocks and 458752 inodes Filesystem UUID: 13484e8a-4d09-4408-bb15-5ba85fee4c30 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done

code breakdown: mkfs.ext4 = Command to create an ext4 filesystem /dev/vg_extend/lv_app = Path to the logical volume where the filesystem will be created

make mountpoint

mkdir -p /mnt/apps<br>

no output this time

code breakdown: mkdir ( make a directory0 -p ( multiple dirctory) /mnt/apps (name or path of the directory)

mount the partision or the device

mount /dev/vg_extend/lv_app /mnt/apps<br>

there no output this time

code breakdown: mount (code to mount device) /dev/vg_extend/lv_app (name of the device or the path of the device) /mnt/apps (the mountpoint)

df -h ( to check the mountpoint)

make the device auto mounted when booted

check the UUID of the device:

<br>blkid /dev/vg_extend/lv_app<br>

output example: /dev/vg_extend/lv_app: UUID=”13484e8a-4d09-4408-bb15-5ba85fee4c30″ BLOCK_SIZE=”4096″ TYPE=”ext4″

copy the UUID

make the copy of fstab

cp /etc/fstab/ /ect/fstab.bck<br>

theres no output again

code breakdown cp (copy command0 /etc/fstab/ (name of the file or path of it) /etc/fstab.bck (name of the copy file and the path of it)

//to back up incase we make mistakes

unmount the device

nano /etc/fstab/

paste the UUID

UUID=”13484e8a-4d09-4408-bb15-5ba85fee4c30″ /mnt/apps ext4 defaults 0 2

and save it

mount -a reload the fstab

df -h to check if the mount poin tis valid

snapshots

create lvcreate

<br>lvcreate vg_extend -L 5G -n lv_snap

format that

<br>mkfs.ext4 /dev/vg_test/lv_snap

backup your fstab again

copy your device blkid again

mount otomatis dari boot

how to make snapshot of your device

lvcreate /dev/vg_test/lv_snap -L 1G -s -n snap<br>

output: Logical volume “snap” created.

code breakdwon: lvcreate # Command to create a logical volume/dev/vg_test/lv_snap # Path to the existing logical volume to snapshot -L 1G # Size of the snapshot logical volume (1 GiB) -s # Option to create a snapshot -n snap # Name of the snapshot logical volume

lvs

origin is show if that device is snapshoted

make directory for the snap and mount it

mount snapshot

mount /dev/vg_test/snap /mnt/extra/snapshot

cek it using ls -l (path)

like this oot@template:/home/user# ls -l /dev/snap total 16 drwx—— 2 root root 16384 Aug 29 09:17 lost+found root@template:/home/user#

Mengembalikan backup ke partisi asli nya

unmount the snapshot

unmount partisi yang ingin di recover

restore backup

lvconvert –merge /dev/vg_snap/snap

//path:to the snap so its gonna rewrite the original

deactivae the logical volume and active it again

lvchange -an /dev/vg_test/lv_snap

reactive

lvchange -ay /dev/vg_test/lv_snap

mount -a

and delete the mounpoin that u mount the backup or snap thats it

danger u need to unmount the snap and the partision if u do this

lvs

Perintah lvs digunakan untuk menampilkan informasi tentang logical volumes (LV) dalam sistem LVM (Logical Volume Manager). Ini memberikan ringkasan status dan konfigurasi dari logical volumes yang ada.

Output dari Perintah lvs

Perintah lvs umumnya menampilkan kolom-kolom berikut:

  1. LV: Nama logical volume.
  2. VG: Nama volume group tempat logical volume berada.
  3. Attr: Atribut logical volume (misalnya, apakah itu snapshot atau volume biasa).
  4. LSize: Ukuran logical volume.
  5. Pool: Nama dari volume pool (jika ada).
  6. Origin: Nama logical volume asal untuk snapshot (jika ada).
  7. Data%: Persentase penggunaan data pada logical volume (terutama untuk snapshot).

Contoh Penggunaan

lvs

Output contoh:

  LV      VG       Attr       LSize Pool Origin Data%  Move Log COW
  root    ubuntu-vg -wi-ao----  20.00g                                      
  swap_1  ubuntu-vg -wi-ao----  2.00g                                      
  snap    ubuntu-vg -snap-- 1.00g root  100.00

Penjelasan Output:

  • root: Nama logical volume.
  • ubuntu-vg: Nama volume group tempat logical volume berada.
  • -wi-ao----: Atribut logical volume (misalnya, w berarti writable, i berarti initialized).
  • 20.00g: Ukuran logical volume root.
  • snap: Nama snapshot logical volume.
  • 100.00: Persentase penggunaan data pada snapshot.

ZFS Operation

Apa Itu ZFS?

ZFS (Zettabyte File System) adalah sistem file dan volume manager yang dirancang untuk menawarkan performa tinggi, skalabilitas besar, dan fitur-fitur canggih untuk pengelolaan data. ZFS pertama kali dikembangkan oleh Sun Microsystems pada tahun 2001 dan dirilis sebagai bagian dari sistem operasi Solaris pada tahun 2005. Salah satu keunggulan utamanya adalah menggabungkan sistem file dan manajemen volume, sehingga kamu bisa mengelola penyimpanan dan file system dengan cara yang lebih efisien.

Sejarah Singkat ZFS

  • Dikembangkan oleh Sun Microsystems pada awal 2000-an.
  • Dirilis secara open-source sebagai bagian dari Solaris.
  • Ketika Oracle mengakuisisi Sun Microsystems pada 2010, ZFS menjadi bagian dari Oracle Solaris.
  • Proyek open-source dari ZFS dilanjutkan melalui OpenZFS, yang sekarang diimplementasikan di berbagai sistem operasi seperti FreeBSD, Linux, dan lainnya.

Fitur Utama ZFS

ZFS memiliki berbagai fitur canggih yang menjadikannya salah satu sistem file paling populer, terutama untuk penyimpanan skala besar dan server. Berikut beberapa fitur utamanya:

  1. Integritas Data
    ZFS memastikan integritas data dengan memeriksa dan memverifikasi semua operasi input/output menggunakan checksums. Jika ada kerusakan data, ZFS dapat mendeteksi dan memperbaiki data yang rusak secara otomatis jika memiliki redundansi.
  2. Pooled Storage
    ZFS menyatukan perangkat fisik menjadi satu “pool” penyimpanan. Tidak seperti sistem file tradisional, yang membatasi satu disk untuk satu partisi, ZFS mengizinkan banyak disk di pool yang sama dan mengelola kapasitasnya secara dinamis.
  3. Snapshot dan Cloning
    ZFS memungkinkan pembuatan snapshot — salinan read-only dari filesystem pada suatu titik waktu — dengan cepat dan efisien. Kamu juga bisa melakukan cloning untuk membuat salinan yang bisa ditulis (writable).
  4. RAID-Z (Redundansi Data)
    RAID-Z adalah teknologi yang ditawarkan oleh ZFS untuk menyediakan redundansi data tanpa overhead penulisan seperti RAID-5. RAID-Z sangat cocok untuk meningkatkan keandalan penyimpanan dengan menjaga integritas data.
  5. Deduplikasi
    Fitur ini memungkinkan ZFS menyimpan data yang sama hanya satu kali, sehingga menghemat ruang disk. Ini sangat berguna untuk situasi backup atau pengelolaan banyak salinan file yang serupa.
  6. Kompresi
    ZFS mendukung kompresi data secara real-time, yang dapat mengurangi ukuran penyimpanan yang dibutuhkan tanpa mengorbankan performa. Kamu bisa mengaktifkan kompresi dengan mudah dan ZFS akan menangani kompresi/dekompresi secara otomatis.
  7. Skalabilitas
    ZFS dirancang untuk menangani penyimpanan dengan ukuran yang sangat besar (hingga zettabyte, yaitu sekitar 1 miliar terabyte), sehingga sangat cocok untuk perusahaan besar dan pusat data.

Mengapa ZFS Penting?

ZFS digunakan oleh perusahaan-perusahaan besar dan penyedia layanan cloud karena fitur-fitur yang sangat handal untuk penyimpanan data berukuran besar, keamanan, dan keandalan. Dengan ZFS, kamu bisa:

  • Menjaga integritas data secara otomatis melalui checksumming dan self-healing.
  • Mengelola penyimpanan dengan efisien, baik dalam skala kecil (misalnya server pribadi) maupun skala besar (seperti pusat data atau cloud storage).
  • Melakukan backup dan recovery dengan cepat menggunakan snapshot.
  • Menggunakan fitur kompresi dan deduplikasi untuk menghemat ruang penyimpanan.

Siapa yang Membuat ZFS?

ZFS diciptakan oleh Sun Microsystems, perusahaan yang juga mengembangkan bahasa pemrograman Java dan Solaris OS. Pengembang utama ZFS adalah tim dari Sun yang dipimpin oleh Jeff Bonwick dan Matthew Ahrens.

Saat ini, pengembangan ZFS dilanjutkan oleh komunitas open-source di bawah proyek OpenZFS, yang bekerja untuk mempertahankan dan mengembangkan ZFS lebih lanjut pada sistem operasi non-Oracle seperti FreeBSD, Linux, dan Illumos.

Siapa yang Menggunakan ZFS?

ZFS digunakan oleh berbagai jenis pengguna, mulai dari individu hingga perusahaan besar, termasuk:

  1. Administrator Sistem dan Server
    ZFS sering digunakan untuk server karena kemampuannya untuk menangani storage besar, redundancy, dan fitur backup.
  2. Data Center dan Cloud Providers
    Banyak pusat data dan penyedia layanan cloud menggunakan ZFS untuk mengelola penyimpanan berskala besar dan menyediakan layanan penyimpanan yang aman dan andal bagi pelanggan.
  3. NAS (Network-Attached Storage)
    ZFS juga populer di kalangan pengguna perangkat NAS, seperti yang disediakan oleh FreeNAS (sekarang dikenal sebagai TrueNAS), karena kemudahan manajemen penyimpanan yang ditawarkan.

Keunggulan ZFS Dibandingkan Sistem File Lain

  1. Manajemen Volume Terpadu
    Tidak seperti sistem file tradisional yang membutuhkan manajer volume terpisah, ZFS menggabungkan manajemen volume dan file system dalam satu entitas.
  2. Konsistensi Data yang Lebih Baik
    ZFS memberikan perlindungan terhadap kerusakan data yang sering terjadi di sistem file lain melalui checksumming dan self-healing. Ini berarti ZFS dapat mendeteksi dan memperbaiki korupsi data secara otomatis.
  3. Mudah Digunakan dan Dikonfigurasi
    Meskipun ZFS memiliki fitur-fitur canggih, penggunaan dasarnya relatif mudah dengan antarmuka perintah yang sederhana.

Kelemahan ZFS

Meskipun ZFS sangat kuat, ada beberapa kelemahan yang harus diperhatikan:

  • Memori Besar
    ZFS membutuhkan RAM yang cukup besar untuk mengoptimalkan performa, terutama jika kamu menggunakan fitur seperti deduplikasi. Umumnya disarankan untuk menggunakan RAM sebesar 1 GB per 1 TB data.
  • Kinerja Tertentu untuk Workload Kecil
    Untuk operasi dengan beban kerja kecil atau sistem berdaya rendah, ZFS mungkin tidak seefisien sistem file lain yang lebih ringan.

Apa Itu ZFS Pool?

ZFS Pool adalah kumpulan dari satu atau lebih disk atau perangkat penyimpanan yang dikelola oleh sistem file ZFS. Pool ini berfungsi sebagai lapisan abstraksi antara perangkat fisik dan filesystem yang di dalamnya. ZFS mengelola semua aspek penyimpanan di dalam pool ini, termasuk manajemen ruang, distribusi data, dan toleransi kesalahan. Dengan menggunakan ZFS Pool, kamu dapat:

  • Menggabungkan beberapa disk ke dalam satu unit penyimpanan.
  • Mengelola penyimpanan dengan cara yang lebih efisien.
  • Menyediakan redundansi dan perlindungan data melalui berbagai metode (seperti mirroring dan RAID-Z).

Mengapa Membuat ZFS Pool?

Membuat ZFS Pool penting karena:

  • Redundansi Data: Dengan menggunakan teknik seperti mirroring atau RAID-Z, kamu dapat melindungi data dari kehilangan akibat kegagalan disk.
  • Manajemen Ruang yang Efisien: ZFS memungkinkan pengelolaan ruang penyimpanan yang lebih baik, termasuk deduplikasi dan kompresi data.
  • Fleksibilitas: Kamu dapat menambah atau mengubah konfigurasi disk di dalam pool dengan mudah.
  • Snapshot dan Cloning: ZFS memungkinkan pembuatan snapshot yang cepat dan efisien, sehingga kamu bisa melakukan backup atau rollback data dengan mudah.

Jenis Konfigurasi ZFS Pool

Ada beberapa jenis konfigurasi yang bisa digunakan saat membuat ZFS Pool:

  1. Single Disk:
    Menggunakan satu disk. Ini adalah cara paling sederhana tetapi tidak memiliki redundansi.
  2. Mirror:
    Menyalin data identik ke dua atau lebih disk. Jika satu disk gagal, data tetap aman di disk lainnya.
  3. RAID-Z:
    Seperti RAID-5, memberikan keseimbangan antara kapasitas dan redundansi. RAID-Z dapat menangani kegagalan satu disk tanpa kehilangan data.
  4. RAID-Z2:
    Seperti RAID-Z tetapi dapat menangani kegagalan dua disk secara bersamaan, memberikan keamanan ekstra.
  5. RAID-Z3:
    Menyediakan toleransi hingga tiga disk gagal, ideal untuk situasi dengan kebutuhan keandalan tinggi.

Operasi ZFS: Membuat Pools (ZFS Pools)

Dalam ZFS, ZFS Pool (sering disebut storage pool atau zpool) adalah fondasi dasar dari pengelolaan penyimpanan. ZFS mengelola disk atau perangkat penyimpanan fisik dalam sebuah pool yang dapat diakses secara dinamis sebagai satu entitas penyimpanan yang besar. Setelah pool dibuat, kamu dapat membuat filesystem ZFS dan snapshot di dalamnya.

1. Langkah-Langkah Membuat ZFS Pool

a. Membuat ZFS Pool dengan Satu Disk

Ini adalah cara termudah untuk membuat ZFS pool, menggunakan satu perangkat disk.

  • Perintah:

  sudo zpool create nama_pool /dev/sdX

  • nama_pool adalah nama yang akan diberikan untuk pool.
  • /dev/sdX adalah disk fisik yang ingin kamu gunakan (misalnya /dev/sda).
  • Contoh:

  sudo zpool create datapool /dev/sda

Ini akan membuat ZFS pool bernama datapool yang menggunakan satu disk, yaitu /dev/sda.

b. Membuat ZFS Pool dengan Mirror (RAID-1)

ZFS mendukung mirror, yang setara dengan RAID-1. Ini berarti data akan disalin secara identik ke dua atau lebih disk, memberikan redundansi tinggi.

  • Perintah:

  sudo zpool create nama_pool mirror /dev/sdX /dev/sdY

  • mirror adalah jenis konfigurasi ZFS untuk melakukan mirroring.
  • /dev/sdX dan /dev/sdY adalah dua perangkat fisik yang akan digunakan.
  • Contoh:

  sudo zpool create datapool mirror /dev/sda /dev/sdb

Ini akan membuat ZFS pool datapool dengan dua disk yang bekerja dalam mode mirror, memastikan data yang sama disalin ke kedua disk tersebut.

c. Membuat ZFS Pool dengan RAID-Z

RAID-Z di ZFS adalah varian RAID-5, yang memberikan keseimbangan antara kapasitas penyimpanan dan toleransi kesalahan. RAID-Z dapat menangani kegagalan satu disk tanpa kehilangan data.

  • Perintah:

  sudo zpool create nama_pool raidz /dev/sdX /dev/sdY /dev/sdZ

  • raidz adalah tipe konfigurasi RAID-Z.
  • /dev/sdX, /dev/sdY, dan /dev/sdZ adalah tiga perangkat fisik yang digunakan untuk RAID-Z.
  • Contoh:

  sudo zpool create datapool raidz /dev/sda /dev/sdb /dev/sdc

Ini akan membuat ZFS pool datapool dengan tiga disk yang bekerja dalam mode RAID-Z, memberikan toleransi kesalahan (redundansi) dengan hanya kehilangan sebagian kecil dari kapasitas total.

d. Membuat ZFS Pool dengan RAID-Z2

RAID-Z2 memungkinkan kegagalan dua disk sekaligus tanpa kehilangan data, memberikan keamanan yang lebih tinggi dibandingkan RAID-Z. RAID-Z2 membutuhkan minimal empat disk.

  • Perintah:

  sudo zpool create nama_pool raidz2 /dev/sdX /dev/sdY /dev/sdZ /dev/sdW

  • Contoh:

  sudo zpool create datapool raidz2 /dev/sda /dev/sdb /dev/sdc /dev/sdd

2. Perintah Dasar Setelah Membuat Pool

a. Melihat Status Pool

Setelah pool berhasil dibuat, kamu dapat melihat status pool dengan perintah:

sudo zpool status

Ini akan memberikan informasi tentang kesehatan pool, perangkat yang digunakan, dan apakah ada error atau masalah yang perlu diperbaiki.

b. Melihat Informasi Kapasitas Pool

Untuk melihat kapasitas pool dan penggunaan ruang, gunakan:

sudo zpool list

Ini akan menampilkan total kapasitas, ruang yang digunakan, dan ruang yang tersisa di setiap pool.

c. Mengganti Nama Pool

Jika kamu ingin mengganti nama pool setelah dibuat, ZFS tidak memiliki perintah bawaan untuk ini. Kamu perlu mengekspor pool dan mengimpornya kembali dengan nama baru.

  • Langkah-langkah:

  sudo zpool export nama_pool_lama
  sudo zpool import nama_pool_lama nama_pool_baru

d. Menambah Disk ke Pool

Jika ingin menambah disk ke pool yang sudah ada untuk meningkatkan kapasitas:

sudo zpool add nama_pool /dev/sdX

e. Menghapus Pool

Jika kamu ingin menghapus pool dan semua data di dalamnya, gunakan perintah:

sudo zpool destroy nama_pool

Hati-hati! Ini akan menghapus pool beserta semua data secara permanen.

3. Konfigurasi Redundansi (RAID-Z dan Mirroring)

ZFS memungkinkan konfigurasi redundansi yang fleksibel. Di bawah ini adalah beberapa opsi lain selain mirror dan RAID-Z:

  • RAID-Z3: Menawarkan toleransi hingga tiga disk yang gagal secara bersamaan. Ini memberikan redundansi tinggi, tetapi membutuhkan minimal lima disk.

  sudo zpool create nama_pool raidz3 /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde

  • Striping (Non-Redundansi): Kamu bisa menggunakan striping jika menginginkan performa yang tinggi tanpa redundansi. Striping membagi data di antara beberapa disk.

  sudo zpool create nama_pool /dev/sda /dev/sdb /dev/sdc

Namun, jika salah satu disk gagal, semua data akan hilang karena tidak ada mekanisme toleransi kesalahan.

4. Monitoring dan Pemeliharaan Pool

  • Mengatasi Disk Gagal:
    Jika salah satu disk di pool mengalami kegagalan, ZFS akan memberitahu melalui perintah zpool status. Untuk mengganti disk yang rusak:

  sudo zpool replace nama_pool /dev/sdX /dev/sdY

Perintah sudo zpool replace nama_pool /dev/sdX /dev/sdY mengganti disk rusak di ZFS pool dengan disk baru.

Tentu, mari kita lanjutkan dengan penjelasan tentang cara mengganti disk yang rusak dan beberapa pemeliharaan lanjutan pada ZFS:

5. Monitoring dan Pemeliharaan Pool (lanjutan)

a. Mengatasi Disk Gagal

Jika salah satu disk di pool mengalami kegagalan, ZFS akan memberitahu melalui perintah zpool status. Untuk mengganti disk yang rusak:

sudo zpool replace nama_pool /dev/sdX /dev/sdY

  • Keterangan:
  • nama_pool adalah nama dari ZFS pool yang ingin kamu perbaiki.
  • /dev/sdX adalah disk yang rusak.
  • /dev/sdY adalah disk pengganti yang baru.

Setelah mengganti disk, ZFS akan mulai melakukan proses rekonstruksi data ke disk baru secara otomatis.

b. Mengatur Snapshot

ZFS memungkinkan pembuatan snapshot, yang merupakan salinan dari filesystem pada titik waktu tertentu. Snapshot sangat berguna untuk backup dan pemulihan data.

  • Membuat Snapshot:

  sudo zfs snapshot nama_pool/nama_filesystem@snapshot_name

  • Contoh:

  sudo zfs snapshot datapool/mydata@snapshot1

  • Mengembalikan Snapshot:
    Untuk mengembalikan filesystem ke kondisi snapshot yang diambil:

  sudo zfs rollback nama_pool/nama_filesystem@snapshot_name

c. Menghapus Snapshot

Snapshot yang tidak lagi diperlukan bisa dihapus untuk menghemat ruang:

sudo zfs destroy nama_pool/nama_filesystem@snapshot_name

6. Backup dan Pemulihan Data

ZFS menyediakan berbagai metode untuk backup dan pemulihan:

  • Membuat Backup dari Pool:
    Kamu dapat menggunakan perintah zfs send untuk membuat backup dari snapshot ke file atau perangkat lain:

  sudo zfs send nama_pool/nama_filesystem@snapshot_name > backupfile.zfs

  • Mengembalikan Backup:
    Mengembalikan data dari file backup ke filesystem baru atau yang sudah ada:

  sudo zfs receive nama_pool/nama_filesystem < backupfile.zfs

7. Kesimpulan

ZFS adalah sistem file yang sangat kuat dan fleksibel yang memungkinkan manajemen penyimpanan yang efisien dan aman. Dengan fitur seperti snapshot, mirroring, dan RAID-Z, ZFS dapat diandalkan untuk keperluan penyimpanan data yang kritis. Pastikan untuk melakukan pemeliharaan secara rutin dan memantau status pool untuk menjaga integritas data.

Membuat Datasets di ZFS

Datasets di ZFS adalah unit penyimpanan yang lebih kecil dalam ZFS pool, yang dapat berupa filesystem atau volume. Berikut adalah cara untuk membuat datasets:

1. Jenis Datasets

  • ZFS Filesystem: Ini adalah filesystem yang terpisah dan dapat di-mount, mirip dengan filesystem tradisional.
  • ZFS Volume: Ini adalah blok penyimpanan yang dapat digunakan untuk aplikasi yang memerlukan perangkat blok, seperti database.

2. Membuat ZFS Filesystem

Untuk membuat ZFS filesystem, gunakan perintah berikut:

sudo zfs create nama_pool/nama_dataset

  • nama_pool adalah nama dari ZFS pool.
  • nama_dataset adalah nama dari dataset yang ingin kamu buat.

Contoh:

sudo zfs create datapool/mydataset

Ini akan membuat filesystem bernama mydataset dalam pool datapool.

3. Membuat ZFS Volume

Untuk membuat ZFS volume, gunakan perintah berikut:

sudo zfs create -V ukuran nama_pool/nama_volume

  • ukuran adalah ukuran volume yang ingin dibuat (misalnya 10G untuk 10 GB).
  • nama_volume adalah nama dari volume yang ingin kamu buat.

Contoh:

sudo zfs create -V 10G datapool/myvolume

Ini akan membuat volume bernama myvolume dengan ukuran 10 GB dalam pool datapool.

4. Melihat Datasets

Untuk melihat semua datasets yang ada dalam pool, gunakan:

sudo zfs list

Ini akan menampilkan daftar semua filesystem dan volume yang telah dibuat dalam pool ZFS.

5. Menghapus Datasets

Jika kamu ingin menghapus dataset, gunakan perintah:

sudo zfs destroy nama_pool/nama_dataset

Contoh:

sudo zfs destroy datapool/mydataset

Ini akan menghapus dataset mydataset dari pool datapool.

Dengan langkah-langkah di atas, kamu dapat membuat dan mengelola datasets dalam ZFS dengan mudah.

VDEVs (Virtual Devices) di ZFS

VDEV (Virtual Device) adalah konsep penting dalam ZFS yang merepresentasikan perangkat fisik atau sekumpulan perangkat fisik yang berfungsi sebagai elemen penyimpanan dalam sebuah ZFS pool. VDEV digunakan untuk membangun ZFS Pool dan memiliki peran penting dalam manajemen data dan redundansi.

1. Jenis VDEV

VDEV dapat terdiri dari berbagai konfigurasi, termasuk:

  • Single Disk: Sebuah disk tunggal tanpa redundansi. Contoh:

  sudo zpool create nama_pool /dev/sdX

  • Mirror: Dua atau lebih disk yang menyimpan salinan identik data. Memberikan redundansi tinggi. Contoh:

  sudo zpool create nama_pool mirror /dev/sdX /dev/sdY

  • RAID-Z: Konfigurasi RAID yang menyediakan toleransi kesalahan dan efisiensi penyimpanan.
  • RAID-Z: Memungkinkan satu disk gagal.
  • RAID-Z2: Memungkinkan dua disk gagal.
  • RAID-Z3: Memungkinkan tiga disk gagal. Contoh RAID-Z:

  sudo zpool create nama_pool raidz /dev/sdX /dev/sdY /dev/sdZ

2. Cara Kerja VDEV

  • Data Distribution: VDEV bertanggung jawab untuk distribusi data di antara disk. Setiap VDEV dalam pool berfungsi sebagai unit penyimpanan yang dapat diakses oleh ZFS.
  • Fault Tolerance: Dalam konfigurasi seperti RAID-Z dan mirror, VDEV memberikan redundansi, sehingga jika salah satu disk gagal, data masih dapat diakses dari disk lainnya.

3. Mengelola VDEV

  • Menambahkan VDEV: Kamu dapat menambah VDEV ke ZFS pool yang sudah ada untuk meningkatkan kapasitas atau redundansi.

  sudo zpool add nama_pool mirror /dev/sdX /dev/sdY

  • Menghapus VDEV: ZFS tidak memungkinkan penghapusan VDEV secara langsung. Untuk menghapus VDEV, kamu harus menghancurkan pool dan membuatnya kembali tanpa VDEV yang tidak diinginkan.

4. Memantau Kesehatan VDEV

Untuk memantau kesehatan VDEV, gunakan perintah:

sudo zpool status

Perintah ini memberikan informasi tentang status kesehatan VDEV, termasuk apakah ada disk yang gagal dan kebutuhan untuk perbaikan.

1. Membuat Pool dan Dataset

Pertama, kita akan membuat pool dan dataset untuk menyimpan data.

# Membuat ZFS Pool
sudo zpool create datapool /dev/sda

# Membuat Dataset di dalam Pool
sudo zfs create datapool/mydataset

2. Menggunakan Checksums

Secara default, ZFS menghitung checksum untuk setiap blok data yang ditulis. Ketika data ditambahkan ke dataset, checksum secara otomatis dibuat.

# Menulis data ke dataset
echo "Contoh data" | sudo tee /datapool/mydataset/datafile.txt

3. Melakukan Scrubbing

Untuk memeriksa integritas data secara berkala, kita dapat menjalankan scrubbing. Ini akan memverifikasi checksum untuk semua data dalam pool.

# Menjalankan scrubbing pada pool
sudo zpool scrub datapool

4. Mengecek Status Pool

Setelah scrubbing, kita dapat memeriksa status pool untuk melihat apakah ada kesalahan yang terdeteksi.

# Melihat status pool
sudo zpool status

5. Menggunakan Snapshot

Jika ada kesalahan atau kerusakan data, kita dapat menggunakan snapshot untuk kembali ke keadaan sebelumnya.

# Membuat snapshot dari dataset
sudo zfs snapshot datapool/mydataset@snapshot1

# Mengembalikan dataset ke snapshot
sudo zfs rollback datapool/mydataset@snapshot1

6. Mengganti Disk yang Rusak

Jika ada disk yang terdeteksi gagal, kita dapat menggantinya dan memastikan integritas data tetap terjaga.

# Mengganti disk yang rusak
sudo zpool replace datapool /dev/sdX /dev/sdY

Basic Striped VDEVs

Striped VDEVs adalah konfigurasi di mana data dibagi di antara beberapa perangkat penyimpanan tanpa menyediakan redundansi. Ini meningkatkan kinerja baca/tulis, tetapi jika salah satu disk gagal, semua data akan hilang.

Contoh Membuat ZFS Pool dengan Striped VDEVs

  1. Membuat ZFS Pool:
    Untuk membuat pool dengan striped VDEVs, kita dapat menggunakan lebih dari satu disk:

   sudo zpool create mypool /dev/sda /dev/sdb /dev/sdc

Dalam contoh ini, data akan dibagi di antara disk /dev/sda, /dev/sdb, dan /dev/sdc.

  1. Keuntungan dan Kerugian:

  • Keuntungan:
    • Meningkatkan kinerja baca/tulis karena data tersebar di beberapa disk.
  • Kerugian:
    • Tidak ada toleransi kesalahan; kehilangan satu disk berarti kehilangan semua data.

  1. Perintah untuk Memeriksa Pool:
    Setelah membuat pool, kita bisa memeriksa statusnya:

   sudo zpool status

  1. Menambah Disk ke Pool:
    Kita bisa menambah lebih banyak disk untuk meningkatkan kapasitas dan kinerja:

   sudo zpool add mypool /dev/sdd

Mirrored VDEVs

Mirrored VDEVs adalah konfigurasi di mana data disalin secara identik ke dua atau lebih perangkat penyimpanan. Ini memberikan tingkat redundansi yang tinggi, sehingga jika satu disk gagal, data masih dapat diakses dari disk lainnya.

ontoh Membuat ZFS Pool dengan Mirrored VDEVs

  1. Membuat ZFS Pool:
    Untuk membuat pool dengan mirrored VDEVs, kita dapat menggunakan dua disk untuk setiap mirror:

   sudo zpool create mypool mirror /dev/sda /dev/sdb mirror /dev/sdc /dev/sdd

Dalam contoh ini, ada dua mirrored VDEVs. Disk /dev/sda dan /dev/sdb membentuk satu mirror, sedangkan /dev/sdc dan /dev/sdd membentuk mirror kedua.

  1. Keuntungan dan Kerugian:

  • Keuntungan:
    • Toleransi kesalahan yang tinggi; jika salah satu disk gagal, data tetap aman di disk lainnya.
    • Kinerja baca yang lebih baik karena data dapat dibaca dari beberapa disk.
  • Kerugian:
    • Ruang penyimpanan yang efisien berkurang, karena setiap disk disalin identik; hanya setengah dari kapasitas total yang tersedia untuk penyimpanan.

  1. Perintah untuk Memeriksa Pool:
    Setelah membuat pool, kita bisa memeriksa statusnya:

   sudo zpool status

  1. Menambah Disk ke Pool:
    Jika ingin menambah lebih banyak mirrored VDEVs, kita bisa menambah disk baru:

   sudo zpool add mypool mirror /dev/sde /dev/sdf

RAID-Z VDEVs

RAID-Z VDEVs adalah konfigurasi yang mirip dengan RAID-5, di mana data dan paritas (informasi untuk pemulihan data) dibagi di antara beberapa disk. RAID-Z menawarkan keseimbangan antara kapasitas penyimpanan dan toleransi kesalahan, memungkinkan sistem untuk bertahan dari kegagalan satu disk tanpa kehilangan data.

Tipe RAID-Z

  1. RAID-Z: Toleransi kesalahan satu disk.
  2. RAID-Z2: Toleransi kesalahan dua disk.
  3. RAID-Z3: Toleransi kesalahan tiga disk.

Contoh Membuat ZFS Pool dengan RAID-Z VDEVs

  1. Membuat ZFS Pool dengan RAID-Z:
    Untuk membuat pool dengan RAID-Z, kita bisa menggunakan tiga disk sebagai contoh:

   sudo zpool create mypool raidz /dev/sda /dev/sdb /dev/sdc

Dalam contoh ini, disk /dev/sda, /dev/sdb, dan /dev/sdc akan membentuk satu RAID-Z VDEV, menyediakan toleransi kesalahan untuk satu disk yang gagal.

  1. Keuntungan dan Kerugian:

  • Keuntungan:
    • Meningkatkan efisiensi ruang; paritas dibagi di antara semua disk, jadi hanya ada pengurangan kapasitas yang terbatas.
    • Kinerja baca yang baik karena data dapat dibaca dari beberapa disk.
    • Toleransi kesalahan yang lebih baik dibandingkan dengan striping tanpa redundansi.
  • Kerugian:
    • Kinerja tulis mungkin sedikit lebih lambat karena proses perhitungan paritas saat menulis data.
    • Memerlukan lebih banyak disk untuk mencapai redundansi yang sama dibandingkan dengan mirrored VDEVs.

  1. Perintah untuk Memeriksa Pool:
    Setelah membuat pool, kita bisa memeriksa statusnya:

   sudo zpool status

  1. Menambah Disk ke Pool:
    Untuk menambah RAID-Z VDEVs baru, kita perlu menambah disk dalam grup RAID-Z yang sama:

   sudo zpool add mypool raidz /dev/sdd /dev/sde /dev/sdf

Tuning Pool & Dataset Parameter di ZFS

Tuning parameter di ZFS pool dan dataset adalah langkah penting untuk mengoptimalkan kinerja, penggunaan ruang, dan fitur-fitur lainnya. Berikut adalah penjelasan singkat mengenai beberapa parameter yang dapat di-tuning:

1. Pool Properties

Beberapa properti pool yang dapat diatur:

  • ashift: Mengatur ukuran blok dasar (biasanya 512 atau 4096). Disarankan menggunakan ashift=12 untuk SSD dan disk 4K untuk kinerja optimal.

  sudo zpool create -o ashift=12 mypool /dev/sda

  • compression: Mengaktifkan kompresi untuk menghemat ruang. Opsi umum adalah on, off, lz4 (kompresi paling efisien).

  sudo zfs set compression=lz4 mypool

  • dedup: Mengaktifkan deduplikasi untuk menghindari penyimpanan data yang sama. Hati-hati, ini membutuhkan memori yang lebih besar.

  sudo zfs set dedup=on mypool

2. Dataset Properties

Properti dataset yang dapat diatur untuk mempengaruhi performa dan manajemen:

  • quota: Mengatur batas maksimum ruang yang dapat digunakan oleh dataset.

  sudo zfs set quota=10G mypool/mydataset

  • refquota: Mengatur batas ruang untuk snapshot dataset.

  sudo zfs set refquota=5G mypool/mydataset

  • reservations: Menetapkan jumlah minimum ruang yang dijamin untuk dataset.

  sudo zfs set reservation=2G mypool/mydataset

  • atime: Mengatur apakah waktu akses file dicatat. Menonaktifkan atime dapat meningkatkan kinerja.

  sudo zfs set atime=off mypool/mydataset

3. Performance Tuning

  • Record Size: Ukuran blok untuk file dalam dataset. Ukuran yang lebih besar cocok untuk file besar (video, database), ukuran lebih kecil untuk file kecil.

  sudo zfs set recordsize=128K mypool/mydataset

  • Log Bias: Mengoptimalkan untuk database atau throughput tinggi.

  sudo zfs set logbias=throughput mypool/mydataset

4. Monitoring dan Pemeliharaan

Setelah pengaturan, penting untuk memantau performa dan penggunaan:

  • Memeriksa Status Pool:

  sudo zpool status

  • Melihat Properti Dataset:

  sudo zfs get all mypool/mydataset

Kompresi di ZFS

Kompresi di ZFS adalah fitur yang memungkinkan data disimpan dengan lebih efisien, menghemat ruang penyimpanan tanpa mengorbankan performa. Berikut adalah penjelasan tentang kompresi di ZFS:

1. Manfaat Kompresi

  • Penghematan Ruang: Mengurangi penggunaan disk dengan menyimpan data dalam format yang lebih kecil.
  • Kinerja Lebih Baik: Dalam beberapa kasus, kompresi dapat meningkatkan kinerja baca/tulis karena data yang lebih kecil dapat dipindahkan lebih cepat.
  • Transparan: Proses kompresi dan dekompresi dilakukan secara otomatis oleh ZFS tanpa perlu intervensi pengguna.

2. Opsi Kompresi

ZFS mendukung beberapa algoritma kompresi:

  • lz4: Algoritma kompresi tercepat dan efisien, sangat disarankan untuk penggunaan umum.
  • gzip: Menawarkan tingkat kompresi lebih tinggi, tetapi dengan kecepatan lebih lambat. Tersedia dalam beberapa level (gzip-1 hingga gzip-9).
  • zle: Algoritma untuk data yang memiliki pola berulang, biasanya tidak disarankan untuk penggunaan umum.
  • off: Menonaktifkan kompresi.

3. Mengatur Kompresi

Untuk mengaktifkan kompresi pada pool atau dataset, gunakan perintah berikut:

  • Mengaktifkan kompresi saat membuat pool:

  sudo zpool create -o compression=lz4 mypool /dev/sda

  • Mengaktifkan kompresi pada dataset yang sudah ada:

  sudo zfs set compression=lz4 mypool/mydataset

4. Memeriksa Status Kompresi

Setelah mengaktifkan kompresi, kamu dapat memeriksa efektivitasnya dengan menggunakan perintah:

sudo zfs get all mypool/mydataset | grep compress

Ini akan menunjukkan status kompresi saat ini, serta informasi tentang rasio kompresi.

5. Catatan

  • Tidak Semua Data Dapat Dikompresi: Beberapa jenis data (misalnya, data yang sudah dikompresi) mungkin tidak akan memberikan penghematan ruang yang signifikan.
  • Performa dan Kompresi: Meskipun kompresi umumnya meningkatkan efisiensi, perlu dipertimbangkan bahwa proses kompresi/dekompresi juga memerlukan sumber daya CPU.

ZVOLs di ZFS

ZVOLs (ZFS Virtual Block Devices) adalah fitur di ZFS yang memungkinkan pengguna untuk membuat perangkat blok virtual, yang mirip dengan volume di sistem penyimpanan tradisional. Berikut adalah penjelasan singkat mengenai ZVOLs:

1. Apa Itu ZVOL?

  • ZVOL adalah sebuah dataset yang menyediakan interface blok, memungkinkan sistem operasi atau aplikasi untuk mengaksesnya seolah-olah itu adalah disk fisik.
  • Ini cocok untuk penggunaan dalam aplikasi yang memerlukan blok penyimpanan, seperti database atau virtualisasi.

2. Kelebihan ZVOLs

  • Fleksibilitas: ZVOLs dapat dibuat, dihapus, dan diubah ukurannya sesuai kebutuhan.
  • Snapshot dan Kloning: ZVOLs mendukung fitur snapshot dan kloning yang sama seperti dataset ZFS, memungkinkan backup dan pemulihan yang cepat.
  • Kompresi dan Enkripsi: ZVOLs dapat menggunakan kompresi dan enkripsi yang ditawarkan oleh ZFS untuk meningkatkan efisiensi penyimpanan dan keamanan data.

3. Membuat ZVOL

Untuk membuat ZVOL, gunakan perintah berikut:

sudo zfs create -V <ukuran> <nama_pool>/<nama_zvol>

  • Contoh:

sudo zfs create -V 10G mypool/myzvol

Ini akan membuat ZVOL dengan ukuran 10 GB bernama myzvol dalam pool mypool.

4. Mengakses ZVOL

ZVOL dapat diakses melalui perangkat blok yang terkait. Setelah dibuat, ZVOL akan muncul sebagai perangkat di /dev/zvol/, dan dapat digunakan seperti perangkat blok biasa.

  • Contoh Akses:

sudo mkfs.ext4 /dev/zvol/mypool/myzvol
sudo mount /dev/zvol/mypool/myzvol /mnt/myzvol

5. Mengelola ZVOLs

Beberapa perintah untuk mengelola ZVOLs:

  • Melihat Daftar ZVOLs:

sudo zfs list -t volume

  • Menghapus ZVOL:

sudo zfs destroy <nama_pool>/<nama_zvol>

Mengelola Ukuran Pool & VDEV serta Mengonversi antara Striped dan Mirrored

1. Mengelola Ukuran Pool dan VDEV

  • ZFS Pool (Zpool) dan VDEV (Virtual Device) memiliki ukuran yang sangat penting dalam pengelolaan penyimpanan.
  • Ukuran VDEV ditentukan oleh jumlah dan jenis disk yang digunakan saat membuat pool. Setiap VDEV dalam pool memiliki ukuran dan performa yang berbeda, bergantung pada konfigurasi yang dipilih (striped, mirrored, RAID-Z, dll).

Menambah Ukuran Pool

  • Untuk menambah kapasitas pool, kamu bisa menambah VDEV baru atau menambah disk ke VDEV yang sudah ada.

Contoh Menambah Disk ke VDEV yang Ada:

sudo zpool add nama_pool /dev/sdX

2. Mengonversi Antara Striped dan Mirrored

ZFS tidak mengizinkan perubahan langsung dari konfigurasi VDEV yang sudah ada (misalnya, dari striped ke mirrored) setelah pool dibuat. Namun, ada beberapa langkah yang bisa dilakukan untuk mencapai ini:

Langkah untuk Mengonversi:

  1. Ekspor Pool: Ekspor pool yang ingin diubah konfigurasinya.

   sudo zpool export nama_pool

  1. Buat Pool Baru dengan Konfigurasi yang Diinginkan: Buat pool baru dengan pengaturan yang diinginkan (misalnya, mirrored).

   sudo zpool create nama_pool_baru mirror /dev/sdX /dev/sdY

  1. Salin Data dari Pool Lama ke Pool Baru: Mount pool lama dan salin data ke pool baru menggunakan rsync atau cp.

   sudo rsync -av /mnt/pool_lama/ /mnt/pool_baru/

  1. Hapus Pool Lama: Setelah data berhasil dipindahkan, hapus pool lama.

   sudo zpool destroy nama_pool_lama

3. Pentingnya Mempertimbangkan Redundansi

  • Striped VDEV: Menawarkan performa tinggi tetapi tanpa redundansi. Jika satu disk gagal, semua data di VDEV tersebut hilang.
  • Mirrored VDEV: Memberikan redundansi tinggi, di mana data disalin ke beberapa disk. Ini ideal untuk penyimpanan yang memerlukan keamanan data.

Meningkatkan RAID-Z (Metode 1)

RAID-Z di ZFS memberikan kombinasi antara kinerja dan redundansi dengan toleransi kesalahan. Namun, jika kamu ingin menambah kapasitas penyimpanan RAID-Z, ada beberapa hal yang perlu diperhatikan.

1. Konsep Dasar RAID-Z

  • RAID-Z menyimpan data dengan satu paritas, memungkinkan satu disk gagal tanpa kehilangan data.
  • Untuk meningkatkan RAID-Z, kamu tidak dapat menambah disk ke VDEV yang sudah ada; tetapi, kamu dapat menambah VDEV baru ke pool.

2. Menambahkan VDEV RAID-Z Baru

Jika kamu ingin meningkatkan kapasitas RAID-Z, kamu perlu menambahkan VDEV RAID-Z baru ke pool yang sudah ada.

Langkah-langkah:

  1. Periksa Status Pool
    Sebelum melakukan perubahan, periksa status pool untuk memastikan semuanya berfungsi dengan baik.

   sudo zpool status

  1. Siapkan Disk untuk VDEV Baru
    Pastikan kamu memiliki beberapa disk yang siap digunakan untuk membuat VDEV baru.
  2. Buat VDEV RAID-Z Baru
    Tambahkan VDEV RAID-Z baru ke pool yang ada.

   sudo zpool add nama_pool raidz /dev/sdX /dev/sdY /dev/sdZ

  • nama_pool: nama pool yang ada.
  • /dev/sdX, /dev/sdY, /dev/sdZ: disk fisik yang akan digunakan dalam VDEV baru.

Contoh:

sudo zpool add datapool raidz /dev/sdb /dev/sdc /dev/sdd

Ini akan menambahkan VDEV RAID-Z baru ke pool datapool yang sudah ada.

3. Memeriksa Status Pool Setelah Penambahan

Setelah menambah VDEV baru, periksa kembali status pool untuk memastikan bahwa VDEV baru telah ditambahkan dengan benar.

sudo zpool status

sudo zpool status

Sumber Informasi


Sumber Informasi

 

1. Disk Partition Manipulation:
– cfdisk dan fdisk:
– Tutorial fdisk dan cfdisk di Linux (https://www.cyberciti.biz/faq/linux-howto-use-fdisk-command-to-partition-a-disk/) – Menjelaskan cara mempartisi disk menggunakan fdisk dan cfdisk.

2. File System Creation (ext4, xfs, etc.):
– Membuat File System di Linux (https://www.digitalocean.com/community/tutorials/how-to-create-partitions-and-filesystems-in-linux) – Panduan cara membuat partisi dan sistem file.
– XFS vs EXT4 (https://www.tecmint.com/understanding-linux-file-system-ext4-vs-xfs/) – Perbandingan antara sistem file EXT4 dan XFS.

3. Mounting File System:
– Panduan Mounting Partisi di Linux (https://www.tecmint.com/how-to-mount-and-unmount-filesystem-partitions-in-linux/) – Membahas cara mounting dan unmounting partisi di Linux.

4. Fstab Operation:
– Mengelola fstab di Linux (https://www.tecmint.com/fstab-file-in-linux/) – Menjelaskan bagaimana fstab digunakan untuk auto-mount partisi saat booting.

5. Logical Volume Management (LVM):
– Panduan Lengkap LVM di Linux (https://www.tecmint.com/learn-lvm-logical-volume-management-in-linux/) – Cara menggunakan LVM untuk manajemen partisi dinamis.

6. ZFS Operation:
– Pengantar ZFS di Linux (https://ubuntu.com/server/docs/filesystems-zfs) – Panduan dasar penggunaan ZFS di sistem Linux, khususnya di Ubuntu.