Penyimpanan ZFS, Siaga, dan Lingkungan Uji

- Apakah kita punya foto untuk Januari, lebih dekat ke Februari?
- Sekarang mari kita lihat ... Ya, ada! Sekarang buka.

Kebetulan ada waktu hidup rata-rata dari basis tes, ada waktu hidup untuk foto yang disetujui oleh semua yang tertarik, tetapi beberapa lingkungan "berlama-lama" dalam gambar mereka, yang tidak dapat dihapus ... dan kemudian berguna bagi rekan-rekan. Dan minus ke minus memberi plus.

Biasanya, untuk sistem apa pun di mana sesuatu dapat terjadi, Anda perlu membuat cadangan. Dan jika masih dikembangkan dan sedang diselesaikan, maka di suatu tempat juga diperlukan untuk menyebarkan lingkungan pengembangan dan pengujian. Selain itu, untuk pencadangan dan lingkungan pengujian yang berfungsi, pada kenyataannya, dengan data yang sama, Anda memerlukan banyak ruang. Namun lingkungan ini entah bagaimana harus mengarah ke kondisi saat ini. Dan semua ini membutuhkan sumber daya perangkat keras dan waktu.

Dalam kasus kami, persyaratan ini dicakup oleh Oracle ZFS Storage Appliance dan server Oracle / Sun, yang sebenarnya bergabung ke dalam ekosistem yang sama dengan Exadata, yang muncul sesaat sebelum mereka.

Karena ada saklar InfiniBand di dalam Exadata, di mana komponen-komponennya berkomunikasi, dan ZFS Storage juga merupakan Oracle Appliance, maka:

  • pertama, terhubung langsung ke switch ini oleh sebagian port-nya;
  • kedua, ia dapat menyimpan file tablespace dengan segmen yang dikompresi dalam Exadata Hybrid Columnar Compression (EHCC), menghemat banyak ruang pada sistem utama kami. Jika Anda mencoba mengembalikan database pada server yang terpisah, kemudian setelah pemulihan, mengacu pada data yang dikompresi, Anda akan mendapatkan kesalahan: "ORA-64307: kompresi columnar hybrid tidak didukung untuk tablespace pada tipe penyimpanan ini" - karena file data terkompresi dalam EHCC harus disimpan dalam Oracle Appliance;
  • ketiga, ini membuka kemungkinan menggunakan kapasitas ZFS untuk menyimpan file lingkungan pengujian.

Nah, bagaimana dengan tempat itu? Duplikasi harus dihindari.

Lingkungan pengujian memerlukan data yang sama dengan yang ada di cadangan. Bisakah data ini melakukan kedua fungsi? Untuk menjadi cadangan dan dasar bagi lingkungan pengujian istimewa yang membutuhkan kumpulan data lengkap? Mereka bisa!

Oracle ZFS Storage Appliance adalah larik yang menyediakan, antara lain, kemampuan untuk membentuk jaringan yang berjalan di bawah sistem file ZFS. Di dalam sistem file ZFS, dimungkinkan untuk membuat snapshot, berdasarkan di mana Anda dapat menggunakan klon, yang terlihat sebagai jaringan baru. Kami menggunakan kesempatan ini sebagai berikut:

  1. Pada Penyimpanan ZFS (seperti yang akan kita sebut array, agar tidak menjadi bingung dengan sistem file), dua bagian dibuat - Archivelog ditambahkan ke satu, dan file basis data ke yang lain;
  2. Share dipasang pada server Oracle / Sun (yang juga merupakan Appliance), dan pada server itu sendiri sebuah instance dari Oracle Database naik, bertindak sebagai siaga fisik berjenjang - ia menerima log dari situs cadangan bersyarat dan menerapkan perubahan pada file dalam share;
  3. Penggunaan log diatur menurut prinsip unit kerja (halo untuk semua peserta dalam komputasi terdistribusi!). Pada tingkat algoritma, konsep unit kerja diperkenalkan, yang sesuai dengan interval waktu tertentu. Setelah menggulung log untuk interval yang diperlukan, instance berhenti, dan file tetap di bagian dalam keadaan konsisten relatif satu sama lain dan file kontrol. Bahkan, ini adalah cadangan dingin, itu juga Image Copy, di mana snapshot dibuat;
  4. Ketika tiba saatnya untuk membuat ulang lingkungan pengujian, klon dibuat dari snapshot yang diinginkan. Itu dipasang ke server di mana lingkungan berjalan, setelah itu file di dalamnya terbuka sebagai database dengan nama yang berbeda dan dalam mode Baca / Tulis;
  5. Dalam proses bekerja di basis tes, perubahan dibuat yang ditunda sebagai bagian dari klon, dan perlahan-lahan tumbuh. Pada akhir siklus hidup, media tumbuh secara maksimal.
  6. Untuk mengurangi konsumsi ruang disk, kami menggunakan kompresi LZJB, yang dilakukan Penyimpanan ZFS dengan cepat.

Singkatnya:

  1. Dalam konfigurasi saat ini, lingkungan pengujian dapat melakukan I / O hingga tingkat 3,75 Gb / s;
    Maksimum untuk membaca dibatasi oleh pengaturan port InfiniBand yang ada di server, maksimum untuk menulis adalah CPU pada pengontrol Penyimpanan ZFS dan mencapai sekitar 2 Gb / dtk. (Ya, ya! Karena 10 GbE tidak cukup, sakelar terpisah dibeli untuk server uji, termasuk ZFS Storage dan server itu sendiri);
  2. Beberapa foto dibuat per hari, yang sekarang disimpan, tergantung pada pangkalan, dari 2 minggu hingga 2 bulan. Setelah itu mereka semua dihapus, kecuali untuk snapshot yang dibuat pada pukul 00:00, pada tanggal 1 setiap bulan - ini disimpan selama lebih dari seperempat. Ada kasus ketika foto yang disimpan selama sekitar enam bulan ternyata bermanfaat;
  3. Jika perlu, seluruh basis data industri dapat dipulihkan dari snapshot yang diinginkan. Juga dengan kecepatan urutan 1 ... 3 Gb / s, tetapi opsi untuk membuat klon dari snapshot yang diinginkan jauh lebih populer, dari mana data tabel yang diinginkan kemudian diturunkan;
  4. Waktu untuk menciptakan kembali lingkungan pengujian adalah sekitar 1 jam (dengan transfer sejumlah sirkuit tambahan, dll.);
  5. Waktu untuk memberikan klon kepada rekan kerja dari mana Anda dapat mengumpulkan data untuk pemulihan atau hanya beberapa jenis analisis adalah dari 15 menit (dengan kombinasi kondisi yang ideal) hingga 1-2 jam (dengan beban paralel besar pada Penyimpanan ZFS atau kami J);
  6. Jika perlu, Anda dapat memulihkan dari snapshot dan klon, dan seluruh database;
  7. Kendala kinerja utama adalah jumlah IOPS yang dihasilkan oleh lingkungan pengujian atau instance dari cascaded standby. Dan di sini sistem berperilaku benar-benar memadai dan dapat diprediksi - segera setelah jumlahnya dipilih menjadi 75 IOPS per HDD (ini berisi disk 3,5 ”pada 7200 rpm) di bawah beban yang berkepanjangan, sistem mulai menurun secara bertahap. Dan kecil dalam waktu - Menulis dan Baca-Flash terasa lebih mudah;
  8. Jumlah IOPS, jumlah total data yang masuk, beban pada CPU, jumlah pembacaan dari cache dalam RAM dan pada Flash, serta beberapa lusinan (jika tidak ratusan) metrik dapat dilihat di antarmuka manajemen web;
  9. Anda dapat bekerja dengan objek Penyimpanan ZFS menggunakan permintaan REST yang dijelaskan dalam dokumentasi. Dengan bantuan mereka, dimungkinkan untuk mengotomatiskan penghapusan foto-foto usang, tetapi banyak lagi yang bisa dilakukan!

Source: https://habr.com/ru/post/id417373/


All Articles