全部产品
Search
文档中心

Elastic Compute Service:Membuat Array RAID untuk Instance Linux

更新时间:Jul 06, 2025

RAID menggabungkan beberapa disk menjadi satu grup array disk. Dibandingkan dengan satu disk, array RAID memberikan peningkatan kapasitas, bandwidth baca/tulis, keandalan, dan ketersediaan.

Prasyarat

Beberapa disk data dengan ukuran dan kategori yang sama telah dibuat dan dilekatkan ke sebuah instance Elastic Compute Service (ECS). Untuk informasi tentang cara membuat dan melekatkan disk data, lihat Buat disk data kosong dan Lampirkan disk data.

Catatan Penggunaan

Tingkat RAID

Tabel berikut menjelaskan kelebihan, kekurangan, dan skenario penggunaan dari beberapa tingkat RAID umum.

Tingkat

Keuntungan

Kerugian

Skema

RAID 0 (Striping)

Menyediakan striping data dan operasi baca/tulis paralel untuk meningkatkan performa.

Catatan

Striping disk adalah proses membagi data menjadi blok (stripes) dengan ukuran tetap dan mendistribusikan blok data tersebut di beberapa disk.

Tidak menyediakan redundansi. Jika satu disk gagal, semua data dalam array RAID 0 akan hilang.

Cocok untuk skenario yang membutuhkan performa tinggi tetapi tidak memerlukan redundansi data, seperti penyimpanan data sementara dan caching.

RAID 1 (Mirroring)

Memberikan keandalan data yang lebih tinggi dengan menggunakan data yang dicerminkan. Semua data direplikasi ke beberapa disk. Jika satu disk gagal, data masih tersedia.

Biayanya lebih tinggi karena RAID 1 membutuhkan setidaknya dua kali kapasitas disk untuk menyimpan data yang dicerminkan.

Cocok untuk aplikasi yang membutuhkan perlindungan data dan keandalan tinggi, seperti database dan file server.

RAID 10

Menggabungkan RAID 1 dan RAID 0, menyediakan redundansi data dan performa tinggi, serta memiliki keandalan yang lebih tinggi dan performa baca/tulis yang lebih baik.

Biayanya lebih tinggi karena RAID 10 membutuhkan dua kali kapasitas disk untuk menyimpan data yang dicerminkan. Setidaknya empat disk diperlukan.

Cocok untuk aplikasi yang membutuhkan performa dan redundansi tinggi.

Saat memilih tingkat RAID, pertimbangkan persyaratan perlindungan data, performa, kapasitas disk yang tersedia, dan biaya. Kami menyarankan Anda mengevaluasi kelebihan dan kekurangan dari berbagai tingkat RAID dan memilih tingkat RAID berdasarkan kebutuhan aplikasi Anda.

Gambar berikut menunjukkan bagaimana array RAID dari berbagai tingkat RAID digunakan untuk menyimpan blok data A, B, C, D, E, dan F secara berurutan.

Catatan

Jika Anda menggunakan beberapa disk untuk mengonfigurasi array RAID guna meningkatkan kapasitas disk dan bandwidth baca/tulis, perhatikan batasan bandwidth disk untuk instance tersebut. Untuk informasi tentang batasan bandwidth disk dari berbagai jenis instance, lihat Ikhtisar keluarga instance.

Ukuran stripe RAID

Ukuran stripe yang sesuai dapat membantu mencapai praktik aplikasi yang optimal. Ukuran stripe yang paling cocok bervariasi berdasarkan lingkungan dan aplikasi. Sebelum menggunakan ukuran stripe, kami sarankan Anda melakukan pengujian dan evaluasi performa untuk menentukan ukuran stripe yang optimal.

Berdasarkan tipe beban kerja, mode I/O, dan persyaratan sistem tertentu, ukuran stripe berikut direkomendasikan:

  • Untuk sebagian besar beban kerja tujuan umum, kami sarankan Anda mengatur ukuran stripe menjadi 64 KB atau 128 KB. Dalam banyak kasus, kedua ukuran stripe ini memberikan performa yang baik seperti performa baca/tulis yang seimbang.

  • Untuk beban kerja yang melibatkan pembacaan berurutan utama (seperti transfer file besar dan pengeditan video), ukuran stripe yang lebih besar (seperti 256 KB atau 512 KB) dapat memberikan performa yang lebih baik.

  • Untuk beban kerja yang melibatkan pembacaan acak utama (seperti aplikasi database), ukuran stripe yang lebih kecil (seperti 32 KB) dapat memberikan performa yang lebih baik.

Penting

Ukuran stripe tidak boleh terlalu kecil. Jika ukuran stripe terlalu kecil, masalah berikut mungkin terjadi:

  • Fragmen file mungkin terjadi pada disk. Akibatnya, ruang disk terbuang.

  • Kapasitas IOPS disk mungkin mencapai batas sebelum batas bandwidth throughput tercapai. Ukuran stripe yang lebih besar menunjukkan throughput yang lebih tinggi dalam beban kerja pembacaan berurutan.

Batasan snapshot disk

Jika Anda ingin menggunakan snapshot untuk mencadangkan data pada disk dalam array RAID, pastikan konsistensi snapshot. Mengembalikan array RAID dari beberapa snapshot yang tidak disinkronkan memengaruhi integritas array.

Dalam skenario RAID, kami menyarankan Anda menggunakan grup konsisten snapshot. Dengan cara ini, data dari beberapa disk dapat dipulihkan ke titik waktu yang sama untuk memastikan konsistensi dan keandalan data. Untuk informasi lebih lanjut, lihat Grup konsisten snapshot.

Prosedur

Bagian ini menjelaskan cara menggunakan perintah mdadm bawaan Linux untuk membuat array RAID bernama /dev/md0 untuk disk data yang dilekatkan ke instance ECS yang menjalankan Ubuntu 22.04.

  1. Hubungkan ke instance ECS.

    Untuk informasi tentang metode koneksi, lihat Ikhtisar metode koneksi.

  2. Jalankan perintah berikut untuk melihat informasi semua disk pada instance:

    lsblk

    Output perintah serupa dengan yang berikut ini dikembalikan.

    image.png

  3. Jalankan perintah mdadm untuk membuat array RAID /dev/md0.

    Anda dapat membuat array RAID tingkat RAID 0, RAID 1, atau RAID 10 berdasarkan kebutuhan bisnis Anda.

    Catatan

    Jika Anda diminta bahwa alat mdadm belum diinstal, jalankan perintah sudo apt-get install mdadm untuk menginstal alat mdadm.

    Tingkat RAID 0

    sudo mdadm --create /dev/md0 --level=0 --raid-devices=5 --chunk=512 /dev/vd[bcdef]
    • --level=0: menentukan tingkat RAID 0.

    • --raid-devices=5: menentukan bahwa array RAID terdiri dari lima disk.

    • --chunk=512: menentukan bahwa ukuran stripe array RAID adalah 512 KB. Tentukan ukuran stripe berdasarkan kebutuhan bisnis Anda.

    • /dev/vd[bcdef]: menentukan lima disk dalam array RAID: /dev/vdb, /dev/vdc, /dev/vdd, /dev/vde, dan /dev/vdf.

    Output perintah serupa dengan yang berikut ini dikembalikan.

    image.png

    Tingkat RAID 1

    sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/vd[bc]
    • --level=1: menentukan tingkat RAID 1.

    • --raid-devices=2: menentukan bahwa array RAID terdiri dari dua disk.

    • /dev/vd[bc]: menentukan dua disk dalam array RAID: /dev/vdb dan /dev/vdc.

    Tingkat RAID 10

    sudo mdadm --create /dev/md0 --level=10 --raid-devices=4 --chunk=512 /dev/vd[bcde]
    • --level=10: menentukan tingkat RAID 10.

    • --raid-devices=4: menentukan bahwa array RAID terdiri dari empat disk.

    • --chunk=512: menentukan bahwa ukuran stripe array RAID adalah 512 KB. Tentukan ukuran stripe berdasarkan kebutuhan bisnis Anda.

    • /dev/vd[bcde]: menentukan empat disk dalam array RAID: /dev/vdb, /dev/vdc, /dev/vdd, dan /dev/vde.

  4. Jalankan perintah berikut untuk melihat informasi array RAID /dev/md0:

    sudo mdadm --detail /dev/md0

    Output perintah serupa dengan yang berikut ini dikembalikan.

    image.png

  5. Jalankan perintah berikut untuk membuat sistem file pada array RAID. Dalam contoh ini, sistem file ext4 dibuat.

    Anda dapat membuat sistem file tipe lain.

    sudo mkfs.ext4 /dev/md0

    Output perintah serupa dengan yang berikut ini dikembalikan.

    image.png

  6. Jalankan perintah berikut untuk membuat file konfigurasi yang berisi informasi array RAID dan mengonfigurasi array RAID untuk dirakit ulang secara otomatis saat boot instance:

    sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
  7. Mount sistem file.

    1. (Opsional) Jalankan perintah berikut untuk membuat titik mount. Dalam contoh ini, titik mount bernama /media/raid0 dibuat.

      sudo mkdir /media/raid0
      Catatan

      Sebagai alternatif, Anda dapat memount sistem file pada direktori yang sudah ada, seperti /mnt.

    2. Mount sistem file. Dalam contoh ini, sistem file /dev/md0 dimount pada titik mount /media/raid0.

      Jika Anda menjalankan perintah mount untuk memount sistem file, tentukan parameter mount yang sesuai untuk memenuhi persyaratan keamanan data dan performa sistem file. Untuk informasi lebih lanjut, lihat Mount sistem file Ext4 dengan opsi perintah mount.

      • (Direkomendasikan) Jika Anda memiliki persyaratan moderat untuk keamanan data dan performa sistem file, jangan tentukan parameter mount:

        sudo mount /dev/md0 /media/raid0
      • Jika Anda memiliki persyaratan tinggi untuk keamanan data sistem file tetapi persyaratan rendah untuk performa sistem file, tentukan parameter mount berikut:

        sudo mount -o rw,atime,sync,barrier,data=journal /dev/md0 /media/raid0
      • Jika Anda memiliki persyaratan tinggi untuk performa sistem file tetapi persyaratan rendah untuk keamanan data sistem file, tentukan parameter mount berikut:

        sudo mount -o defaults,noatime,nodiratime,nobarrier,nodelalloc,data=writeback /dev/md0 /media/raid0
    3. Jalankan perintah berikut untuk melihat informasi mount array RAID:

      df -h

      Output perintah berikut menunjukkan bahwa sistem file dimount pada titik mount yang ditentukan.

      image.png

  8. Konfigurasikan array RAID untuk mount otomatis saat boot sistem.

    Untuk memount array RAID setiap kali boot sistem, tambahkan entri untuk array RAID ke file /etc/fstab.

    1. Jalankan perintah berikut untuk menambahkan entri mount untuk array RAID ke file /etc/fstab:

      sudo sh -c "echo `blkid /dev/md0 | awk '{print $2}' | sed 's/\"//g'` /media/raid0 ext4 defaults 0 0 >> /etc/fstab"
      • /dev/md0: menentukan nama array RAID.

      • /media/raid0: menentukan titik mount. Jika Anda ingin memount array RAID pada titik mount yang berbeda, ganti /media/raid0 dengan titik mount tersebut.

      • ext4: menentukan tipe sistem file array RAID. Ganti ext4 dengan tipe sistem file aktual.

      • defaults: menentukan parameter mount sistem file. Tentukan parameter mount yang sesuai untuk memenuhi persyaratan keamanan data dan performa sistem file. Untuk informasi lebih lanjut, lihat Mount sistem file Ext4 dengan opsi perintah mount.

      Catatan

      Jika Anda ingin boot instance tanpa array RAID dimount, tambahkan opsi mount nofail. Opsi mount nofail memungkinkan instance boot meskipun terjadi kesalahan selama instalasi disk. Jika instance Anda menjalankan sistem operasi Ubuntu, Anda juga harus menambahkan opsi mount nobootwait.

    2. Jalankan perintah berikut untuk memeriksa apakah entri mount untuk array RAID telah ditambahkan:

      cat /etc/fstab

      Output perintah serupa dengan yang berikut ini dikembalikan. Jika entri mount ditambahkan ke file /etc/fstab, /media/raid0 ditampilkan dalam output perintah.

      image.png

    3. Jalankan perintah berikut untuk memount semua sistem file dalam file /etc/fstab: Jika tidak ada kesalahan yang dilaporkan, file /etc/fstab OK dan sistem file array RAID akan dimount secara otomatis pada boot berikutnya.

      sudo mount -a
    4. Jalankan perintah berikut untuk memeriksa apakah sistem file dimount sesuai harapan:

      df -Th

      Output perintah serupa dengan yang berikut ini dikembalikan. Jika sistem file dimount, informasi sistem file ditampilkan.

      image.png