Menjelaskan cara mengoptimalkan penyimpanan Azure untuk komputer virtual SQL Server

Selesai

Performa penyimpanan adalah komponen penting dari aplikasi berat I/O seperti mesin database. Azure menawarkan berbagai opsi penyimpanan dan bahkan dapat membangun solusi penyimpanan Anda untuk memenuhi persyaratan beban kerja Anda.

Azure Storage adalah platform yang kuat dan aman yang dirancang untuk memenuhi beragam kebutuhan berbagai aplikasi. Ini menawarkan berbagai solusi yang dapat diskalakan, memastikan bahwa semua jenis penyimpanan mendukung enkripsi saat tidak aktif. Pengguna dapat memilih antara kunci enkripsi yang dikelola Microsoft atau kunci enkripsi yang ditentukan pengguna untuk keamanan tambahan.

  • Penyimpanan Blob - Penyimpanan blob dikenal sebagai penyimpanan berbasis objek dan termasuk tingkat penyimpanan dingin, panas, dan arsip. Dalam lingkungan SQL Server, penyimpanan blob biasanya akan digunakan untuk cadangan database, menggunakan pencadangan SQL Server ke fungsi URL.

  • Penyimpanan File - Penyimpanan file secara efektif adalah berbagi file yang dapat dipasang pada komputer virtual, tanpa perlu mengatur perangkat keras apa pun. SQL Server dapat menggunakan penyimpanan File sebagai target penyimpanan untuk instans kluster failover.

  • Penyimpanan Disk - Disk terkelola Azure menawarkan penyimpanan blok yang disajikan ke komputer virtual. Disk ini dikelola seperti disk fisik di server lokal, kecuali disk tersebut divirtualisasi. Ada beberapa tingkat performa dalam disk terkelola tergantung pada beban kerja Anda. Jenis penyimpanan ini adalah jenis yang paling umum digunakan untuk data SQL Server dan file log transaksi.

Disk terkelola Azure

Disk yang dikelola Azure adalah volume penyimpanan tingkat blok yang disajikan ke Azure Virtual Machines. Penyimpanan tingkat blok mengacu pada volume penyimpanan mentah yang dibuat dan dapat diperlakukan sebagai hard drive individu. Perangkat blok ini dapat dikelola dalam sistem operasi, dan tingkat penyimpanan tidak mengetahui konten disk. Pilihan lain untuk memblokir penyimpanan adalah penyimpanan objek, ketika file dan metadata file disimpan pada sistem penyimpanan dasar. Azure Blob Storage adalah contoh model penyimpanan objek. Meskipun penyimpanan objek berfungsi dengan baik untuk banyak solusi pengembangan modern, sebagian besar beban kerja yang berjalan di komputer virtual menggunakan penyimpanan blok.

Konfigurasi disk terkelola Anda penting untuk performa beban kerja SQL Server Anda. Jika Anda berpindah dari lingkungan lokasi fisik, penting untuk menangkap metrik seperti detik disk rata-rata/baca dan detik disk rata-rata/tulis dari Performance Monitor seperti yang dijelaskan sebelumnya. Metrik lain yang perlu diambil adalah Operasi I/O per Detik, yang dapat ditangkap menggunakan penghitung SQL Server: Resource Pool Stats Disk Read and Write IO/sec, yang menunjukkan kepada Anda berapa banyak IOPs SQL Server yang melayani pada performa puncaknya. Penting untuk memahami beban kerja Anda. Anda ingin merancang penyimpanan dan komputer virtual Anda untuk memenuhi kebutuhan puncak beban kerja tersebut tanpa menimbulkan latensi yang signifikan. Setiap jenis Azure Virtual Machine memiliki batasan pada IOP.

Disk yang dikelola Azure hadir dalam empat jenis:

Disk ultra - Disk ultra mendukung beban kerja IO tinggi untuk database misi penting dengan latensi rendah.

SSD Premium - Disk SSD premium adalah throughput tinggi serta latensi rendah dan dapat memenuhi kebutuhan sebagian besar beban kerja database yang berjalan di cloud.

SSD Standar - SSD standar dirancang untuk beban kerja dev/test yang ringan digunakan atau server web guna melakukan sejumlah kecil IO, dan memerlukan latensi yang dapat diprediksi.

HDD standar - HDD standar cocok untuk cadangan dan penyimpanan file yang jarang diakses.

Biasanya, beban kerja SQL Server produksi menggunakan disk Ultra atau SSD Premium, atau beberapa kombinasi dari keduanya. Disk ultra biasanya digunakan di mana Anda mencari latensi submillisecond dalam waktu respons. SSD premium biasanya memiliki waktu respons milidetik satu digit, tetapi memiliki biaya yang lebih murah, dan lebih banyak fleksibilitas dalam desain. SSD premium juga mendukung penembolokan sementara, yang dapat menguntungkan beban kerja database pembacaan berat dengan mengurangi jumlah perjalanan ke disk. Cache baca disimpan di SSD lokal (D:\ drive di Windows atau /dev/sdb1/ di Linux) yang dapat membantu mengurangi jumlah perjalanan pulang pergi ke disk yang sebenarnya.

Pengelompokan disk untuk throughput maksimum

Salah satu cara untuk mendapatkan lebih banyak performa dan volume dari disk Azure adalah dengan menghapus data Anda di beberapa disk. Teknik ini tidak berlaku untuk disk Ultra, karena Anda dapat menskalakan IOP, throughput, dan ukuran maksimum secara independen pada satu disk. Namun, dengan SSD Premium teknik tersebut dapat bermanfaat untuk menskalakan IOPs dan volume penyimpanan. Untuk melucuti disk di Windows, Anda menambahkan jumlah disk yang Anda inginkan ke VM, lalu membuat kumpulan menggunakan Ruang Penyimpanan di Windows. Jangan mengonfigurasi redundansi untuk kumpulan Anda (yang akan membatasi performa Anda) karena redundansi disediakan oleh kerangka kerja Azure, yang menyimpan tiga salinan semua disk dalam replikasi sinkron untuk melindungi dari kerusakan disk. Saat Anda membuat kumpulan, kumpulan Anda memiliki jumlah IOPs dan jumlah volume semua disk di kumpulan Anda. Misalnya, jika Anda menggunakan 10 disk P30 yang masing-masing 1 TB dan memiliki 5000 IOP per disk, Anda akan memiliki volume 10 TB dengan 50.000 IOP yang tersedia.

Praktik terbaik konfigurasi penyimpanan SQL Server

Ada beberapa rekomendasi untuk praktik terbaik untuk SQL Server di Azure VM dan konfigurasi penyimpanannya:

  • Membuat volume terpisah untuk file log data dan transaksi
  • Mengaktifkan penembolokan baca pada volume file data
  • Jangan aktifkan penembolokan apa pun pada volume file log
  • Rencanakan 20% tambahan IOP dan throughput saat membangun penyimpanan untuk VM Anda untuk menangani puncak beban kerja
  • Gunakan drive D: (SSD yang terpasang secara lokal) untuk file TempDB karena TempDB dibuat ulang setelah menghidupkan ulang server, sehingga tidak ada risiko kehilangan data
  • Aktifkan inisialisasi file instan untuk mengurangi dampak aktivitas pertumbuhan file.
  • Memindahkan direktori file jejak dan log kesalahan ke disk data
  • Untuk beban kerja yang membutuhkan latensi penyimpanan di bawah 1 milidetik, pertimbangkan untuk menggunakan disk Ultra melalui SSD Premium.

Penyedia sumber daya Azure Virtual Machine

Salah satu cara untuk mengurangi kompleksitas membangun penyimpanan untuk SQL Server Anda di Azure Virtual Machine adalah dengan menggunakan templat SQL Server di Azure Marketplace, yang memungkinkan Anda mengonfigurasi penyimpanan sebagai bagian dari penyebaran Anda. Anda dapat mengonfigurasi IOP sesuai kebutuhan dan templat melakukan pekerjaan membuat kumpulan ruang penyimpanan Anda dalam Windows.

Konfigurasi Disk VM SQL Server

Penyedia sumber daya ini juga mendukung penambahan TempDB ke drive SSD lokal dan membuat tugas terjadwal untuk membuat folder pada saat mulai.