Mengoptimalkan Gateway File S3 untuk backup database SQL Server - AWS Storage Gateway

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengoptimalkan Gateway File S3 untuk backup database SQL Server

Pencadangan basis data adalah kasus penggunaan yang umum dan direkomendasikan untuk S3 File Gateway, yang menyediakan retensi jangka pendek dan jangka panjang yang hemat biaya dengan menyimpan cadangan basis data di Amazon S3, dengan kemampuan siklus hidup untuk menurunkan tingkat penyimpanan biaya sesuai kebutuhan. Dengan solusi ini, Anda dapat mengurangi kebutuhan akan aplikasi cadangan perusahaan menggunakan alat bawaan seperti SQL Server Management Studio dan Oracle RMAN.

Bagian berikut menjelaskan praktik terbaik untuk menyetel penerapan Gateway File S3 Anda untuk kinerja yang dioptimalkan dan dukungan hemat biaya untuk ratusan terabyte cadangan database SQL. Panduan yang diberikan di setiap bagian berkontribusi secara bertahap untuk meningkatkan throughput secara keseluruhan. Meskipun tidak satu pun dari rekomendasi ini diperlukan, dan mereka tidak saling bergantung, mereka telah dipilih dan diurutkan dengan cara logis yang Dukungan digunakan untuk menguji dan menyetel implementasi S3 File Gateway. Saat Anda menerapkan dan menguji saran ini, ingatlah bahwa setiap penerapan S3 File Gateway adalah unik, sehingga hasil Anda dapat bervariasi.

S3 File Gateway menyediakan antarmuka file untuk menyimpan dan mengambil objek Amazon S3 menggunakan protokol file NFS atau SMB standar industri, dengan pemetaan asli 1:1 antara file dan objek. Anda menerapkan S3 File Gateway sebagai mesin virtual baik lokal di lingkungan VMware Microsoft Hyper-V, atau Linux KVM Anda, atau di cloud sebagai instans Amazon. AWS EC2 S3 File Gateway tidak dirancang untuk bertindak sebagai pengganti NAS perusahaan penuh. S3 File Gateway mengemulasi sistem file, tetapi ini bukan sistem file. Menggunakan Amazon S3 sebagai penyimpanan backend yang tahan lama menciptakan overhead tambahan pada setiap I/O operasi, jadi mengevaluasi kinerja Gateway File S3 terhadap NAS atau server file yang ada bukanlah perbandingan yang setara.

Menerapkan gateway Anda di lokasi yang sama dengan SQL Server

Sebaiknya gunakan alat virtual S3 File Gateway Anda di lokasi fisik dengan latensi jaringan sesedikit mungkin antara itu dan server SQL Anda. Saat memilih lokasi untuk gateway Anda, pertimbangkan hal berikut:

  • Latensi jaringan yang lebih rendah ke gateway dapat membantu meningkatkan kinerja klien SMB, seperti server SQL.

  • S3 File Gateway dirancang untuk mentolerir latensi jaringan yang lebih tinggi antara gateway dan Amazon S3 daripada antara gateway dan klien.

  • Untuk instance Gateway File S3 yang diterapkan di Amazon EC2, sebaiknya simpan gateway dan server SQL dalam grup penempatan yang sama. Untuk informasi selengkapnya, lihat Grup penempatan untuk EC2 instans Amazon Anda di Panduan Pengguna Amazon Elastic Compute Cloud.

Mengurangi kemacetan yang disebabkan oleh disk yang lambat

Kami merekomendasikan pemantauan IoWaitPercent CloudWatch metrik untuk mengidentifikasi kemacetan kinerja yang dapat dihasilkan dari disk penyimpanan yang lambat pada Gateway File S3 Anda. Saat mencoba mengoptimalkan masalah kinerja terkait disk, pertimbangkan hal berikut:

  • IoWaitPercentmelaporkan persentase waktu CPU menunggu respons dari disk root atau cache.

  • Ketika IoWaitPercent lebih besar dari 5-10%, ini biasanya menunjukkan hambatan kinerja gateway yang disebabkan oleh disk yang berkinerja buruk. Metrik ini harus sedekat mungkin dengan 0% - artinya gateway tidak pernah menunggu di disk - yang membantu mengoptimalkan sumber daya CPU.

  • Anda dapat memeriksa tab Monitoring IoWaitPercent pada konsol Storage Gateway, atau mengonfigurasi CloudWatch alarm yang disarankan untuk memberi tahu Anda secara otomatis jika metrik melonjak di atas ambang batas tertentu. Untuk informasi selengkapnya, lihat Membuat CloudWatch alarm yang direkomendasikan untuk gateway Anda.

  • Sebaiknya gunakan salah satu NVMe atau SSD untuk disk root dan cache gateway Anda untuk meminimalkanIoWaitPercent.

Sesuaikan alokasi sumber daya mesin virtual S3 File Gateway untuk disk CPU, RAM, dan cache

Saat mencoba mengoptimalkan throughput untuk Gateway File S3 Anda, penting untuk mengalokasikan sumber daya yang cukup ke VM gateway, termasuk CPU, RAM, dan disk cache. Persyaratan sumber daya virtual minimum 4 CPUs, RAM 16GB, dan penyimpanan cache 150GB biasanya hanya cocok untuk beban kerja yang lebih kecil. Saat mengalokasikan sumber daya virtual untuk beban kerja yang lebih besar, kami merekomendasikan hal berikut:

  • Tingkatkan jumlah yang dialokasikan CPUs menjadi antara 16 dan 48, tergantung pada penggunaan CPU khas yang dihasilkan oleh Gateway File S3 Anda. Anda dapat memantau penggunaan CPU menggunakan UserCpuPercent metrik. Untuk informasi selengkapnya, lihat Memahami metrik gateway.

  • Tingkatkan RAM yang dialokasikan menjadi antara 32 dan 64 GB.

    catatan

    S3 File Gateway tidak dapat menggunakan lebih dari 64 GB RAM.

  • Gunakan NVMe atau SSD untuk disk root dan disk cache, dan ukuran disk cache Anda agar sejajar dengan kumpulan data kerja puncak yang Anda rencanakan untuk ditulis ke gateway. Untuk informasi selengkapnya, lihat praktik terbaik ukuran cache S3 File Gateway di saluran Amazon Web Services YouTube resmi.

  • Tambahkan setidaknya 4 disk cache virtual ke gateway, daripada menggunakan satu disk besar. Beberapa disk virtual dapat meningkatkan kinerja bahkan jika mereka berbagi disk fisik dasar yang sama, tetapi perbaikan biasanya lebih besar ketika disk virtual terletak pada disk fisik yang mendasarinya yang berbeda.

    Misalnya, jika Anda ingin menyebarkan cache 12TB, Anda dapat menggunakan salah satu konfigurasi berikut:

    • Disk cache 4 x 3 TB

    • Disk cache 8 x 1,5 TB

    • Disk cache 12 x 1 TB

    Selain kinerja, ini memungkinkan manajemen mesin virtual yang lebih efisien dari waktu ke waktu. Saat beban kerja Anda berubah, Anda dapat secara bertahap meningkatkan jumlah disk cache dan kapasitas cache Anda secara keseluruhan, sambil mempertahankan ukuran asli setiap disk virtual individu untuk menjaga integritas gateway.

    Untuk informasi selengkapnya, lihat Menentukan jumlah penyimpanan disk lokal.

Saat menerapkan S3 File Gateway sebagai EC2 instance Amazon, pertimbangkan hal berikut:

  • Jenis instans yang Anda pilih dapat memengaruhi kinerja gateway secara signifikan. Amazon EC2 memberikan fleksibilitas luas untuk menyesuaikan alokasi sumber daya untuk instans Gateway File S3 Anda.

  • Untuk jenis EC2 instans Amazon yang direkomendasikan untuk Gateway File S3, lihat Persyaratan untuk jenis EC2 instans Amazon.

  • Anda dapat mengubah jenis EC2 instans Amazon yang menghosting Gateway File S3 aktif. Ini memungkinkan Anda untuk dengan mudah menyesuaikan pembuatan EC2 perangkat keras Amazon dan alokasi sumber daya untuk menemukan price-to-performance rasio yang ideal. Untuk mengubah jenis instans, gunakan prosedur berikut di EC2 konsol Amazon:

    1. Hentikan EC2 instans Amazon.

    2. Ubah jenis EC2 instans Amazon.

    3. Nyalakan EC2 instans Amazon.

    catatan

    Menghentikan instance yang meng-host S3 File Gateway untuk sementara akan mengganggu akses berbagi file. Pastikan untuk menjadwalkan jendela pemeliharaan jika perlu.

  • price-to-performanceRasio EC2 instans Amazon mengacu pada berapa banyak daya komputasi yang Anda dapatkan untuk harga yang Anda bayar. Biasanya, EC2 instans Amazon generasi yang lebih baru menawarkan price-to-performance rasio terbaik, dengan perangkat keras yang lebih baru dan peningkatan kinerja dengan biaya yang relatif lebih rendah dibandingkan dengan generasi yang lebih tua. Faktor-faktor seperti jenis instans, wilayah, dan pola penggunaan memengaruhi rasio ini, jadi penting untuk memilih instance yang tepat untuk beban kerja spesifik Anda guna mengoptimalkan efektivitas biaya.

Tingkatkan throughput klien SMB dengan menyesuaikan tingkat keamanan Gateway File S3 Anda

SMBv3 Protokol ini memungkinkan penandatanganan SMB dan enkripsi SMB, yang memiliki beberapa pertukaran dalam kinerja dan keamanan. Untuk mengoptimalkan throughput, Anda dapat menyesuaikan tingkat keamanan SMB gateway Anda untuk menentukan fitur keamanan mana yang diberlakukan untuk koneksi klien. Untuk informasi selengkapnya, lihat Menetapkan tingkat keamanan untuk gateway Anda.

Saat menyesuaikan tingkat keamanan SMB, pertimbangkan hal berikut:

  • Tingkat keamanan default untuk S3 File Gateway adalah Enforce encryption. Pengaturan ini memberlakukan enkripsi dan penandatanganan untuk koneksi klien SMB ke berbagi file gateway, yang berarti bahwa semua lalu lintas dari klien ke gateway dienkripsi. Pengaturan ini tidak memengaruhi lalu lintas dari gateway ke AWS, yang selalu dienkripsi.

    Gateway membatasi setiap koneksi klien terenkripsi ke satu vCPU. Misalnya, jika Anda hanya memiliki 1 klien terenkripsi, maka klien itu akan dibatasi hanya 1 vCPU, bahkan jika 4 atau lebih v CPUs dialokasikan ke gateway. Karena itu, throughput untuk koneksi terenkripsi dari satu klien ke S3 File Gateway biasanya terhambat antara 40-60 MB/s.

  • Jika persyaratan keamanan Anda memungkinkan postur yang lebih santai, Anda dapat mengubah tingkat keamanan ke Klien yang dinegosiasikan, yang akan menonaktifkan enkripsi SMB dan menegakkan penandatanganan SMB saja. Dengan pengaturan ini, koneksi klien ke gateway dapat memanfaatkan beberapa vCPUs, yang biasanya menghasilkan peningkatan kinerja throughput.

    catatan

    Setelah Anda mengubah tingkat keamanan SMB untuk Gateway File S3 Anda, Anda harus menunggu status berbagi file berubah dari Memperbarui ke Tersedia di konsol Storage Gateway, lalu putuskan dan sambungkan kembali klien SMB Anda agar pengaturan baru diterapkan.

Tingkatkan throughput klien SMB dengan membagi cadangan SQL menjadi beberapa file

  • Sulit untuk mencapai kinerja throughput maksimum dengan S3 File Gateway yang hanya satu server SQL menulis satu file pada satu waktu, karena penulisan berurutan dari server SQL tunggal adalah operasi single-threaded. Sebagai gantinya, sebaiknya gunakan beberapa thread dari setiap server SQL untuk menulis beberapa file secara paralel, dan menggunakan beberapa server SQL secara bersamaan ke S3 File Gateway Anda untuk memaksimalkan throughput gateway. Dengan cadangan SQL, membagi cadangan menjadi beberapa file memungkinkan setiap file menggunakan utas terpisah, yang akan menulis beberapa file secara bersamaan ke berbagi file S3 File Gateway. Semakin banyak thread yang Anda miliki, semakin banyak throughput yang dapat Anda capai, hingga batas gateway.

  • SQL Server mendukung penulisan ke beberapa file pada saat yang sama selama operasi pencadangan tunggal. Misalnya, Anda dapat menentukan beberapa tujuan file menggunakan perintah T-SQL atau SQL Server Management Studio (SSMS). Setiap file menggunakan thread terpisah untuk mengirim data dari server SQL ke berbagi file gateway. Pendekatan ini memungkinkan I/O throughput yang lebih baik, yang secara signifikan dapat meningkatkan kecepatan dan efisiensi cadangan.

Saat mengonfigurasi cadangan server SQL Anda, pertimbangkan hal berikut:

  • Dengan membagi backup menjadi beberapa file, admin SQL Server dapat mengoptimalkan waktu backup dan mengelola backup database besar dengan lebih efektif.

  • Jumlah file yang digunakan tergantung pada konfigurasi penyimpanan server dan persyaratan kinerja. Untuk database besar, kami sarankan untuk memecah cadangan menjadi beberapa file yang lebih kecil antara 10 GB dan 20 GB masing-masing.

  • Tidak ada batasan ketat pada berapa banyak file SQL Server dapat menulis ke selama backup, tetapi pertimbangan praktis seperti arsitektur penyimpanan dan bandwidth jaringan harus memandu pilihan ini.

Untuk informasi selengkapnya, lihat:

Mencegah kegagalan salinan file besar dengan meningkatkan pengaturan batas waktu SMB

Ketika S3 File Gateway menyalin file cadangan SQL besar ke berbagi file SMB, koneksi klien SMB dapat batas waktu setelah jangka waktu yang lama. Sebaiknya perpanjang pengaturan batas waktu sesi SMB untuk klien SMB SQL server Anda hingga 20 menit atau lebih, tergantung pada ukuran file dan kecepatan tulis gateway Anda. Defaultnya adalah 300 detik, atau 5 menit. Untuk informasi selengkapnya, lihat Pekerjaan pencadangan gateway Anda gagal atau ada kesalahan saat menulis ke gateway Anda.

Tingkatkan jumlah utas pengunggah Amazon S3

Secara default, S3 File Gateway membuka 8 utas untuk unggahan data Amazon S3, yang menyediakan kapasitas unggah yang cukup untuk sebagian besar penerapan umum. Namun, gateway dapat menerima data dari server SQL dengan kecepatan yang lebih tinggi daripada yang dapat diunggah ke Amazon S3 dengan kapasitas utas 8 standar, yang dapat menyebabkan cache lokal mencapai batas penyimpanannya.

Dalam keadaan tertentu, Dukungan dapat meningkatkan jumlah kumpulan thread upload Amazon S3 untuk gateway Anda dari 8 menjadi 40, yang memungkinkan lebih banyak data untuk diunggah secara paralel. Bergantung pada bandwidth dan faktor lain yang spesifik untuk penerapan Anda, ini dapat meningkatkan kinerja unggahan secara signifikan dan membantu mengurangi jumlah penyimpanan cache yang diperlukan untuk mendukung beban kerja Anda.

Sebaiknya gunakan CachePercentDirty CloudWatch metrik untuk memantau jumlah data yang disimpan di disk cache gateway lokal yang belum diunggah ke Amazon S3, dan Dukungan menghubungi untuk membantu menentukan apakah peningkatan jumlah kumpulan utas unggahan dapat meningkatkan throughput untuk Gateway File S3 Anda. Untuk informasi selengkapnya, lihat Memahami metrik gateway.

catatan

Pengaturan ini menggunakan sumber daya CPU gateway tambahan. Kami merekomendasikan pemantauan penggunaan CPU gateway dan meningkatkan sumber daya CPU yang dialokasikan jika perlu.

Matikan penyegaran cache otomatis

Fitur penyegaran cache otomatis memungkinkan Gateway File S3 Anda menyegarkan metadatanya secara otomatis, yang dapat membantu menangkap perubahan apa pun yang dilakukan pengguna atau aplikasi ke file Anda yang disetel dengan menulis ke bucket Amazon S3 secara langsung, bukan melalui gateway. Untuk informasi selengkapnya, lihat Menyegarkan cache objek bucket Amazon S3.

Untuk mengoptimalkan throughput gateway, kami sarankan untuk menonaktifkan fitur ini dalam penerapan di mana semua pembacaan dan penulisan ke bucket Amazon S3 akan dilakukan melalui Gateway File S3 Anda.

Saat mengonfigurasi penyegaran cache otomatis, pertimbangkan hal berikut:

  • Jika Anda perlu menggunakan penyegaran cache otomatis karena pengguna atau aplikasi dalam penerapan Anda sesekali menulis ke Amazon S3 secara langsung, maka kami sarankan untuk mengonfigurasi interval waktu terpanjang antara penyegaran yang masih praktis untuk kebutuhan bisnis Anda. Interval penyegaran cache yang lebih lama membantu mengurangi jumlah operasi metadata yang perlu dilakukan gateway saat menjelajahi direktori atau memodifikasi file.

    Misalnya: atur penyegaran cache otomatis ke 24 jam, bukan 5 menit, jika itu dapat ditoleransi untuk beban kerja Anda.

  • Interval waktu minimum adalah 5 menit. Interval maksimum adalah 30 hari.

  • Jika Anda memilih untuk mengatur interval penyegaran cache yang sangat singkat, kami sarankan untuk menguji pengalaman penelusuran direktori untuk server SQL Anda. Waktu yang diperlukan untuk menyegarkan cache gateway dapat meningkat secara substansional tergantung pada jumlah file dan subdirektori di bucket Amazon S3 Anda.

Terapkan beberapa gateway untuk mendukung beban kerja

Storage Gateway dapat mendukung backup SQL untuk lingkungan besar dengan ratusan database SQL, beberapa SQL Server, dan ratusan terabyte data cadangan dengan membagi beban kerja di beberapa gateway.

Saat merencanakan penyebaran dengan beberapa gateway dan server SQL, pertimbangkan hal berikut:

  • Sebuah gateway tunggal biasanya dapat mengunggah hingga 20 TB per hari, dengan sumber daya perangkat keras dan bandwidth yang memadai. Anda dapat meningkatkan batas ini hingga 40 TB per hari dengan meningkatkan jumlah utas pengunggah Amazon S3.

  • Sebaiknya lakukan proof-of-concept pengujian untuk mengukur kinerja dan memperhitungkan semua variabel dalam penerapan Anda. Setelah Anda menentukan throughput puncak beban kerja cadangan SQL Anda, Anda dapat menskalakan jumlah gateway untuk memenuhi kebutuhan Anda.

  • Kami merekomendasikan merancang solusi Anda dengan mempertimbangkan pertumbuhan, karena jumlah database dan ukuran database dapat meningkat seiring waktu. Untuk terus meningkatkan skala dan mendukung peningkatan beban kerja, Anda dapat menerapkan gateway tambahan sesuai kebutuhan.

Sumber daya tambahan untuk beban kerja pencadangan basis data