Bagikan melalui


Mengonfigurasi listener bagi grup ketersediaan Always On

Berlaku untuk:SQL Server

Topik ini menjelaskan cara membuat atau mengonfigurasi pendengar grup ketersediaan tunggal untuk grup ketersediaan AlwaysOn dengan menggunakan SQL Server Management Studio, Transact-SQL, atau PowerShell di SQL Server.

Penting

Untuk membuat pendengar grup ketersediaan pertama dari grup ketersediaan, kami sangat menyarankan Anda menggunakan SQL Server Management Studio, Transact-SQL, atau SQL Server PowerShell. Hindari membuat listener langsung di kluster WSFC kecuali jika diperlukan, misalnya, untuk membuat listener tambahan.

Apakah Listener Sudah Ada untuk Grup Ketersediaan ini?

Untuk menentukan apakah pendengar sudah ada untuk grup ketersediaan

Catatan

Jika pendengar sudah ada dan Anda ingin membuat pendengar tambahan, lihat Untuk Membuat Listener Tambahan untuk Grup Ketersediaan (Opsional), nanti dalam topik ini.

Batasan dan Pembatasan

  • Anda hanya dapat membuat satu listener per grup ketersediaan melalui SQL Server. Biasanya, setiap grup ketersediaan hanya memerlukan satu pendengar. Namun, beberapa skenario pelanggan memerlukan beberapa pendengar untuk satu grup ketersediaan. Setelah membuat pendengar melalui SQL Server, Anda dapat menggunakan Windows PowerShell untuk kluster failover atau Manajer Kluster Failover WSFC untuk membuat listener tambahan. Untuk informasi selengkapnya, lihat Membuat Listener Tambahan untuk Grup Ketersediaan (Opsional), nanti dalam topik ini.

Rekomendasi

Menggunakan alamat IP statis disarankan, meskipun tidak diperlukan, untuk beberapa konfigurasi subnet.

Prasyarat

  • Anda harus terhubung ke instans server yang menghosting replika utama.

  • Jika Anda menyiapkan pendengar grup ketersediaan di beberapa subnet dan berencana untuk menggunakan alamat IP statis, Anda perlu mendapatkan alamat IP statis dari setiap subnet yang menghosting replika ketersediaan untuk grup ketersediaan tempat Anda membuat pendengar. Biasanya, Anda harus meminta administrator jaringan Anda untuk alamat IP statis.

Penting

Sebelum Anda membuat listener pertama, kami sangat menyarankan Anda membaca Always On Client Connectivity (SQL Server).

Persyaratan untuk Nama DNS Listener Grup Ketersediaan

Setiap pendengar grup ketersediaan memerlukan nama host DNS yang unik di domain dan di NetBIOS. Nama DNS adalah nilai string. Nama ini hanya boleh berisi karakter alfanumerik, tanda hubung/tanda hubung (-), dan garis bawah (_), dalam urutan apa pun. Nama host DNS tidak peka huruf besar/kecil. Panjang maksimum adalah 63 karakter, namun, dalam SQL Server Management Studio, panjang maksimum yang dapat Anda tentukan adalah 15 karakter.

Kami menyarankan agar Anda menentukan string yang bermakna. Misalnya, untuk grup ketersediaan bernama AG1, nama host DNS yang bermakna adalah ag1-listener.

Penting

NetBIOS hanya mengenali 15 karakter pertama dalam dns_name. Jika Anda memiliki dua kluster WSFC yang dikontrol oleh Direktori Aktif yang sama dan Anda mencoba membuat pendengar grup ketersediaan di kedua kluster menggunakan nama dengan lebih dari 15 karakter dan awalan 15 karakter yang identik, Anda akan mendapatkan pelaporan kesalahan bahwa sumber daya nama Virtual Network tidak dapat dibawa online. Untuk informasi tentang aturan penamaan awalan untuk nama DNS, lihat Menetapkan Nama Domain.

Izin Windows

Izin Tautan
Objek nama kluster (CNO) kluster WSFC yang menghosting grup ketersediaan harus memiliki izin Buat objek Komputer .

Di Direktori Aktif, CNO secara default tidak memiliki izin Buat objek Komputer secara eksplisit dan dapat membuat 10 objek komputer virtual (VCO). Setelah 10 VCO dibuat, pembuatan VCO tambahan akan gagal. Anda dapat menghindari hal ini dengan memberikan izin secara eksplisit ke CNO kluster WSFC. Perhatikan bahwa VCO untuk grup ketersediaan yang telah Anda hapus tidak dihapus secara otomatis di Direktori Aktif dan dihitung berdasarkan batas default 10 VCO Anda kecuali dihapus secara manual.

Catatan: Di beberapa organisasi, kebijakan keamanan melarang pemberian izin Buat objek Komputer ke akun pengguna individual.
Langkah-langkah untuk mengonfigurasi akun untuk orang yang menginstal kluster di Panduan Langkah demi Langkah Kluster Failover: Mengonfigurasi Akun di Direktori Aktif

Langkah-langkah untuk prestaging akun nama kluster di Panduan Langkah demi Langkah Kluster Failover: Mengonfigurasi Akun di Direktori Aktif
Jika organisasi Anda mengharuskan Anda melakukan prestage akun komputer untuk nama jaringan virtual pendengar, Anda akan memerlukan keanggotaan di grup Operator Akun atau bantuan administrator domain Anda. Langkah-langkah untuk prestaging akun untuk layanan atau aplikasi terkluster di Panduan Langkah demi Langkah Kluster Failover: Mengonfigurasi Akun di Direktori Aktif.

Tip

Umumnya, paling sederhana untuk tidak mempra-prestage akun komputer untuk nama jaringan virtual pendengar. Jika bisa, biarkan akun dibuat dan dikonfigurasi secara otomatis saat Anda menjalankan wizard Ketersediaan Tinggi WSFC.

Izin SQL Server

Tugas Izin
Untuk membuat pendengar grup ketersediaan Memerlukan keanggotaan dalam peran server tetap sysadmin dan izin server CREATE AVAILABILITY GROUP, MENGUBAH izin GRUP KETERSEDIAAN APA PUN, atau izin SERVER KONTROL.
Untuk mengubah pendengar grup ketersediaan yang ada Memerlukan izin UBAH GRUP KETERSEDIAAN pada grup ketersediaan, izin GRUP KETERSEDIAAN KONTROL, izin UBAH GRUP KETERSEDIAAN APA PUN, atau izin SERVER KONTROL.

Menggunakan SQL Server Management Studio

Tip

Wizard Grup Ketersediaan Baru mendukung pembuatan pendengar untuk grup ketersediaan baru.

Untuk membuat atau mengonfigurasi pendengar grup ketersediaan

  1. Di Object Explorer, sambungkan ke instans server yang menghosting replika utama grup ketersediaan, dan klik nama server untuk memperluas pohon server.

  2. Perluas simpul Ketersediaan Tinggi AlwaysOn dan node Grup Ketersediaan .

  3. Klik grup ketersediaan yang pendengarnya ingin Anda konfigurasi, dan pilih salah satu alternatif berikut:

    • Untuk membuat pendengar, klik kanan simpul Listener grup Ketersediaan , dan pilih perintah Listener Baru . Ini membuka kotak dialog Pendengar Grup Ketersediaan Baru . Untuk informasi selengkapnya, lihat Menambahkan Listener Grup Ketersediaan (Kotak Dialog), nanti dalam topik ini.

    • Untuk mengubah nomor port pendengar yang ada, perluas simpul Listener grup Ketersediaan , klik kanan pendengar, dan pilih perintah Properti . Masukkan nomor port baru ke bidang Port , dan klik OK.

Pendengar Grup Ketersediaan Baru (Kotak Dialog)

Nama DNS Pendengar
Menentukan nama host DNS pendengar grup ketersediaan. Nama DNS adalah string harus unik di domain dan di NetBIOS. Nama ini hanya dapat berisi karakter alfanumerik, tanda hubung (-), dan tanda hubung (_), dalam urutan apa pun. Nama host DNS tidak peka huruf besar/kecil. Panjang maksimum adalah 15 karakter.

Untuk informasi selengkapnya, lihat Persyaratan untuk Nama DNS Pendengar Grup Ketersediaan, sebelumnya dalam topik ini.

Port
Port TCP yang digunakan oleh pendengar ini.

Mode Jaringan
Menunjukkan protokol TCP yang digunakan oleh pendengar, salah satu dari:

DHCP
Pendengar akan kita alamat IP dinamis yang ditetapkan oleh server yang menjalankan Dynamic Host Configuration Protocol (DHCP). DHCP terbatas pada satu subnet.

Penting

Kami tidak merekomendasikan DHCP di lingkungan produksi. Jika ada waktu henti dan sewa IP DHCP kedaluwarsa, waktu tambahan diperlukan untuk mendaftarkan alamat IP jaringan DHCP baru yang terkait dengan nama DNS pendengar dan berdampak pada konektivitas klien. Namun, DHCP baik untuk menyiapkan lingkungan pengembangan dan pengujian Anda untuk memverifikasi fungsi dasar grup ketersediaan dan untuk integrasi dengan aplikasi Anda.

IP statis
Pendengar akan menggunakan satu atau beberapa alamat IP statis. Alamat IP tambahan bersifat opsional. Untuk membuat pendengar grup ketersediaan di beberapa subnet, untuk setiap subnet, Anda harus menentukan alamat IP statis dalam konfigurasi pendengar. Hubungi administrator jaringan Anda untuk mendapatkan alamat IP statis ini.

Jika Anda memilih IP Statis , kisi subnet muncul di bawah bidang Mode Jaringan . Kisi ini menampilkan informasi tentang setiap subnet yang dapat diakses oleh pendengar grup ketersediaan ini. Kisi ini kosong sampai Anda menambahkan alamat IP statis dengan mengklik Tambahkan.

Kolomnya adalah sebagai berikut:

Subnet
Menampilkan pengidentifikasi setiap subnet yang Anda tambahkan ke pendengar grup ketersediaan.

Alamat IP
Menampilkan alamat IP subnet tertentu. Untuk subnet tertentu, alamat IP adalah alamat IPv4 atau alamat IPv6.

Tambahkan
Klik untuk menambahkan untuk menambahkan alamat IP statis ke subnet yang dipilih atau ke subnet lain untuk pendengar ini. Ini membuka kotak dialog Tambahkan Alamat IP . Untuk informasi selengkapnya, lihat topik bantuan Tambahkan Kotak Dialog Alamat IP (SQL Server Management Studio).

Hapus
Klik untuk menghapus subnet terpilih dari pendengar ini.

OK
Klik untuk membuat pendengar grup ketersediaan yang ditentukan.

Menggunakan T-SQL

Untuk membuat atau mengonfigurasi pendengar grup ketersediaan

  1. Sambungkan ke instans server yang menghosting replika utama.

  2. Gunakan opsi LISTENER dari pernyataan CREATE AVAILABILITY GROUP atau opsi TAMBAHKAN LISTENER dari pernyataan ALTER AVAILABILITY GROUP .

    Contoh berikut menambahkan pendengar grup ketersediaan ke grup ketersediaan yang sudah ada bernama MyAg2. Nama DNS unik, MyAg2ListenerIvP6, ditentukan untuk pendengar ini. Kedua replika berada di subnet yang berbeda, jadi , seperti yang direkomendasikan, pendengar menggunakan alamat IP statis. Untuk masing-masing dari dua replika ketersediaan, klausa WITH IP menentukan alamat IP statis, 2001:4898:f0:f00f::cf3c and 2001:4898:e0:f213::4ce2, yang menggunakan format IPv6. Contoh ini juga menentukan penggunaan argumen PORT opsional untuk menentukan port 60173 sebagai port pendengar.

    ALTER AVAILABILITY GROUP MyAg2   
          ADD LISTENER 'MyAg2ListenerIvP6' ( WITH IP ( ('2001:db88:f0:f00f::cf3c'),('2001:4898:e0:f213::4ce2') ) , PORT = 60173 );   
    GO  
    
    

Menggunakan PowerShell

Untuk membuat atau mengonfigurasi pendengar grup ketersediaan

  1. Ubah direktori (cd) ke instans server yang menghosting replika utama.

  2. Untuk membuat atau mengubah pendengar grup ketersediaan, gunakan salah satu cmdlet berikut:

    New-SqlAvailabilityGroupListener
    Membuat pendengar grup ketersediaan baru dan melampirkannya ke grup ketersediaan yang sudah ada.

    Misalnya, perintah New-SqlAvailabilityGroupListener berikut membuat listener grup ketersediaan bernama MyListener untuk grup MyAgketersediaan . Pendengar ini akan menggunakan alamat IPv4 yang diteruskan ke parameter -StaticIp sebagai alamat IP virtualnya.

    New-SqlAvailabilityGroupListener -Name MyListener `   
    -StaticIp '192.168.3.1/255.255.252.0' `   
    -Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg  
    
    

    Set-SqlAvailabilityGroupListener
    Memodifikasi pengaturan port pada pendengar grup ketersediaan yang ada.

    Misalnya, perintah Set-SqlAvailabilityGroupListener berikut mengatur nomor port untuk listener grup ketersediaan bernama MyListener ke 1535. Port ini digunakan untuk mendengarkan koneksi ke pendengar.

    Set-SqlAvailabilityGroupListener -Port 1535 `   
    -Path SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MyAg\AGListeners\MyListener  
    
    

    Add-SqlAGListenerstaticIp
    Menambahkan alamat IP statis ke konfigurasi pendengar grup ketersediaan yang ada. Alamat IP dapat berupa alamat IPv4 dengan subnet, atau alamat IPv6.

    Misalnya, perintah Add-SqlAGListenerstaticIp berikut menambahkan alamat IPv4 statis ke pendengar MyListener grup ketersediaan pada grup MyAgketersediaan . Alamat IPv6 ini berfungsi sebagai alamat IP virtual pendengar di subnet 255.255.252.0. Jika grup ketersediaan mencakup beberapa subnet, Anda harus menambahkan alamat IP statis untuk setiap subnet ke pendengar.

    $path = "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MyAg\AGListeners\ MyListener" `   
    Add-SqlAGListenerstaticIp -Path $path `   
    -StaticIp "2001:0db8:85a3:0000:0000:8a2e:0370:7334"  
    

    Catatan

    Untuk melihat sintaks cmdlet, gunakan cmdlet Get-Help di lingkungan SQL Server PowerShell. Untuk informasi selengkapnya, lihat Mendapatkan Bantuan SQL Server PowerShell.

Untuk menyiapkan dan menggunakan penyedia SQL Server PowerShell

Pemecahan Masalah

Kegagalan Membuat Listener Grup Ketersediaan Karena Kuota Direktori Aktif

Pembuatan pendengar grup ketersediaan baru mungkin gagal saat pembuatan karena Anda telah mencapai kuota Direktori Aktif untuk akun komputer simpul kluster yang berpartisipasi. Untuk informasi lebih lanjut, baca artikel berikut:

Tindak Lanjut: Setelah Membuat Listener Grup Ketersediaan

Kata Kunci MultiSubnetFailover dan Fitur Terkait

MultiSubnetFailover adalah kata kunci string koneksi baru yang digunakan untuk mengaktifkan failover yang lebih cepat dengan Grup Ketersediaan AlwaysOn dan Instans Kluster Failover AlwaysOn di SQL Server 2012. Tiga sub-fitur berikut diaktifkan saat MultiSubnetFailover=True diatur dalam string koneksi:

  • Failover multi-subnet yang lebih cepat ke pendengar multi-subnet untuk Grup Ketersediaan AlwaysOn atau Instans Kluster Failover.

  • Failover subnet tunggal yang lebih cepat ke satu pendengar subnet untuk Grup Ketersediaan AlwaysOn atau Instans Kluster Failover.

    • Fitur ini digunakan saat menyambungkan ke pendengar yang memiliki satu IP dalam satu subnet. Ini melakukan percobaan ulang koneksi TCP yang lebih agresif untuk mempercepat kegagalan subnet tunggal.
  • Resolusi instans bernama ke Instans Kluster Failover AlwaysOn multi-subnet.

    • Ini untuk menambahkan dukungan resolusi instans bernama untuk Instans Kluster Failover AlwaysOn dengan beberapa titik akhir subnet.

MultiSubnetFailover=True Tidak Didukung oleh NET Framework 3.5 atau OLEDB

Masalah: Jika Grup Ketersediaan atau Instans Kluster Failover Anda memiliki nama pendengar (dikenal sebagai nama jaringan atau Titik Akses Klien di Manajer Kluster WSFC) bergantung pada beberapa alamat IP dari subnet yang berbeda, dan Anda menggunakan ADO.NET dengan .NET Framework 3.5SP1 atau SQL Native Client 11.0 OLEDB, berpotensi 50% dari permintaan koneksi klien Anda ke pendengar grup ketersediaan akan mencapai batas waktu koneksi.

Workarounds: Kami menyarankan agar Anda melakukan salah satu tugas berikut.

  • Jika tidak memiliki izin untuk memanipulasi sumber daya kluster, ubah batas waktu koneksi Anda menjadi 30 detik (nilai ini menghasilkan periode batas waktu TCP 20 detik ditambah buffer 10 detik).

    Kelebihan: Jika kegagalan lintas subnet terjadi, waktu pemulihan klien akan singkat.

    Kekurangan: Setengah dari koneksi klien akan memakan waktu lebih dari 20 detik

  • Jika Anda memiliki izin untuk memanipulasi sumber daya kluster, pendekatan yang lebih direkomendasikan adalah mengatur nama jaringan pendengar grup ketersediaan Anda ke RegisterAllProvidersIP=0. Untuk informasi selengkapnya, lihat "Pengaturan RegisterAllProvidersIP" nanti di bagian ini.

    Pro: Anda tidak perlu meningkatkan nilai batas waktu koneksi klien Anda.

    Kontra: Jika kegagalan lintas subnet terjadi, waktu pemulihan klien bisa 15 menit atau lebih, tergantung pada pengaturan HostRecordTTL Anda dan pengaturan jadwal replikasi DNS/AD lintas situs Anda.

Pengaturan RegisterAllProvidersIP

Saat Anda menggunakan SQL Server Management Studio, Transact-SQL, atau PowerShell untuk membuat pendengar grup ketersediaan, Titik Akses Klien dibuat di WSFC dengan properti RegisterAllProvidersIP diatur ke 1 (benar). Efek dari nilai properti ini tergantung pada string koneksi klien, sebagai berikut:

  • String koneksi yang mengatur MultiSubnetFailover ke true

    Grup ketersediaan AlwaysOn mengatur properti RegisterAllProvidersIP ke 1 untuk mengurangi waktu koneksi ulang setelah failover untuk klien yang string koneksi kliennya menentukan MultiSubnetFailover = True, seperti yang disarankan. Perhatikan bahwa untuk memanfaatkan fitur multi-subnet pendengar, klien Anda mungkin memerlukan penyedia data yang mendukung kata kunci MultiSubnetFailover . Untuk informasi tentang dukungan driver untuk failover multi-subnet, lihat Always On Client Connectivity (SQL Server).

    Untuk informasi tentang pengklusteran multi-subnet, lihat SQL Server Pengklusteran Multi-Subnet (SQL Server).

    Tip

    Saat RegisterAllProvidersIP = 1, jika Anda menjalankan Panduan Validasi Konfigurasi WSFC pada kluster WSFC, wizard akan menghasilkan pesan peringatan berikut:

    "Properti RegisterAllProviderIP untuk nama jaringan 'Name:<network_name>' diatur ke 1 Untuk konfigurasi kluster saat ini, nilai ini harus diatur ke 0."

    Abaikan pesan ini.

  • String koneksi yang tidak mengatur MultiSubnetFailover ke true

    Ketika RegisterAllProvidersIP = 1, setiap klien yang string koneksinya tidak menggunakan MultiSubnetFailover = True, akan mengalami koneksi latensi tinggi. Ini terjadi karena klien ini mencoba koneksi ke semua IP secara berurutan. Sebaliknya, jika RegisterAllProvidersIP diubah menjadi 0, alamat IP aktif terdaftar di Titik Akses Klien di kluster WSFC, mengurangi latensi untuk klien warisan. Oleh karena itu, jika Anda memiliki klien warisan yang perlu terhubung ke pendengar grup ketersediaan dan tidak dapat menggunakan properti MultiSubnetFailover , kami sarankan Anda mengubah RegisterAllProvidersIP menjadi 0.

    Penting

    Saat Anda membuat pendengar grup ketersediaan melalui kluster WSFC (GUI Manajer Kluster Failover), RegisterAllProvidersIP akan menjadi 0 (salah) secara default.

Pengaturan HostRecordTTL

Secara default, klien meng-cache kluster rekaman DNS selama 20 menit. Dengan mengurangi HostRecordTTL, Time to Live (TTL), untuk rekaman cache, klien warisan dapat terhubung kembali lebih cepat. Namun, mengurangi pengaturan HostRecordTTL juga dapat mengakibatkan peningkatan lalu lintas ke server DNS.

Contoh Skrip PowerShell untuk Menonaktifkan RegisterAllProvidersIP dan Mengurangi TTL

Contoh PowerShell berikut menunjukkan cara mengonfigurasi parameter kluster RegisterAllProvidersIP dan HostRecordTTL untuk sumber daya pendengar. Catatan DNS akan di-cache selama 5 menit daripada default 20 menit. Memodifikasi kedua parameter kluster dapat mengurangi waktu untuk terhubung ke alamat IP yang benar setelah failover untuk klien warisan yang tidak dapat menggunakan parameter MultiSubnetFailover . Ganti yourListenerName dengan nama pendengar yang Anda ubah.

Import-Module FailoverClusters  
Get-ClusterResource yourListenerName | Set-ClusterParameter RegisterAllProvidersIP 0   
Get-ClusterResource yourListenerName | Set-ClusterParameter HostRecordTTL 300  
Stop-ClusterResource yourListenerName  
Start-ClusterResource yourListenerName  
Start-Clustergroup yourListenerGroupName

Untuk informasi selengkapnya tentang waktu pemulihan selama failover, lihat Latensi Pemulihan Klien Selama Failover.

Rekomendasi Tindak Lanjut

Setelah Anda membuat pendengar grup ketersediaan:

  • Minta administrator jaringan Anda untuk memesan alamat IP pendengar untuk penggunaan eksklusifnya.

  • Berikan nama host DNS pendengar kepada pengembang aplikasi untuk digunakan dalam string koneksi saat meminta koneksi klien ke grup ketersediaan ini.

  • Dorong pengembang untuk memperbarui string koneksi klien untuk menentukan MultiSubnetFailover = True, jika memungkinkan. Untuk informasi tentang dukungan driver untuk failover multi-subnet, lihat Konektivitas Klien AlwaysOn (SQL Server).

Membuat Listener Tambahan untuk Grup Ketersediaan (Opsional)

Setelah membuat satu listener melalui SQL Server, Anda dapat menambahkan listener tambahan, sebagai berikut:

  1. Buat pendengar menggunakan salah satu alat berikut:

    • Menggunakan Manajer Kluster Failover WSFC:

      1. Tambahkan titik akses klien dan konfigurasikan alamat IP.

      2. Jadikan listener online.

      3. Tambahkan dependensi ke sumber daya grup ketersediaan WSFC.

      Untuk informasi tentang kotak dialog dan tab Manajer Kluster Failover, lihat Antarmuka Pengguna: Snap-In Manajer Kluster Failover.

    • Menggunakan Windows PowerShell untuk kluster failover:

      1. Gunakan Add-ClusterResource untuk membuat nama jaringan dan sumber daya alamat IP.

      2. Gunakan Start-ClusterResource untuk memulai sumber daya nama jaringan.

      3. Gunakan Add-ClusterResourceDependency untuk mengatur dependensi antara nama jaringan dan sumber daya Grup Ketersediaan SQL Server yang ada.

      Untuk informasi tentang menggunakan Windows PowerShell untuk kluster failover, lihat Gambaran Umum Perintah Manajer Server.

  2. Mulai SQL Server mendengarkan pendengar baru. Setelah membuat pendengar tambahan, sambungkan ke instans SQL Server yang menghosting replika utama grup ketersediaan dan menggunakan SQL Server Management Studio, Transact-SQL, atau PowerShell untuk memodifikasi port pendengar.

Untuk informasi selengkapnya, lihat Cara membuat beberapa pendengar untuk grup ketersediaan yang sama (blog tim SQL Server Always On).

Langkah berikutnya

Sekarang setelah Anda membuat pendengar, konfigurasikan aplikasi Anda untuk terhubung ke pendengar. Anda juga dapat meninjau berbagai strategi pemantauan grup ketersediaan untuk memastikan kesehatan grup ketersediaan Anda.

Anda juga dapat melihat properti pendengar atau mempelajari cara menghapus pendengar, jika perlu.