Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

SQL Server Ketersediaan tinggi:Tambahkan disk baru ke instance kluster failover yang ada

Dalam artikel saya sebelumnya, saya telah menjelaskan proses langkah-demi-langkah untuk menginstal sebuah node di SQL Server Failover Cluster Instance yang ada. Bersamaan dengan itu, saya juga telah mendemonstrasikan failover manual dan failover otomatis.

Dalam artikel ini, saya akan mendemonstrasikan proses penambahan disk di cluster failover dan kemudian memindahkan database yang ada ke drive baru.

Pertama, untuk menambahkan disk di cluster, kita harus melakukan langkah-langkah berikut:
1. Buat disk virtual iSCSI baru.
2. Hubungkan ke disk virtual iSCSI baru menggunakan inisiator iSCSI dari node cluster failover.
3. Tambahkan disk baru ke penyimpanan cluster failover yang ada.
4. Pindahkan file database sampel ke disk baru.
Pertama, izinkan saya memberikan pengantar singkat tentang penyiapan demo. Saya telah membuat empat mesin virtual di komputer saya. Berikut detailnya:

Mesin Virtual Nama Inang Alamat IP Tujuan
Pengontrol Domain DC.Lokal 192.168.1.110 Mesin virtual ini akan digunakan sebagai pengontrol domain.
SAN SAN.DC.Local 192.168.1.111 Mesin virtual ini akan digunakan sebagai SAN virtual. Saya telah membuat dua disk virtual iSCSI yang akan saya sambungkan dari node cluster failover menggunakan inisiator iSCSI.
Simpul SQL Utama SQL01.DC.Local 192.168.1.112 Pada mesin virtual ini, kita akan menginstal instance failover clustered.
Simpul SQL Sekunder SQL02.DC.Local 192.168.1.113 Pada mesin virtual ini, kita akan menginstal node sekunder dari instance failover cluster.

Di SAN.DC.Local , Saya telah membuat tiga drive iSCSI. Detailnya adalah sebagai berikut:

nama drive iSCSI Tujuan
Sql-data Pada drive ini, kami menyimpan file database dari database pengguna dan file TempDB.
Sql-log Pada drive ini, kami menyimpan file log dari database pengguna.
kuorum Drive ini digunakan sebagai kuorum.

Berikut adalah screenshot konfigurasi kami:

Buat disk iSCSI

Seperti yang saya sebutkan di atas, pertama-tama kita harus membuat drive virtual iSCSI. Dalam hal ini, saya akan menggunakan PowerShell untuk membuat dan mengkonfigurasi disk virtual iSCSI ukuran tetap. Ukuran disk virtual adalah 8 GB. Untuk membuat drive iSCSI baru, jalankan perintah berikut.

New-IscsiVirtualDisk –Path F:\new-sql-data\new-sql-data.vhdx –SizeBytes (8GB) –UseFixed

Untuk memverifikasi bahwa disk iSCSI berhasil dibuat, buka S selalu M manajer dan klik disk virtual iSCSI di panel kiri. Lihat gambar berikut:

Sekarang kita harus membuat target iSCSI. Server jarak jauh dapat terhubung ke disk virtual dengan menggunakan nama target. Di sini, saya akan membuat target bernama new-sql-data . Untuk membuat target iSCSI bernama “new-sql-data ” dan tetapkan ke SQL02.dc.Local dan SQL02.dc.Local , jalankan perintah berikut.

New-IscsiServerTarget -TargetName "new-sql-data" -InitiatorIds @("IQN:iqn.1991-05.com.microsoft:sql01.dc.local", "IQN:iqn.1991-05.com.microsoft:sql02.dc.local")

Setelah target iSCSI dibuat, kita harus menetapkan disk virtual kita ke target iSCSI. Untuk melakukannya, jalankan kueri berikut:

Add-IscsiVirtualDiskTargetMapping -TargetName new-sql-data –Path "F:\new-sql-data\new-sql-data.vhdx"

Setelah pemetaan target berhasil diselesaikan, segarkan panel disk virtual iSCSI di Manajer Server. Lihat gambar berikut:

Hubungkan ke disk virtual iSCSI baru menggunakan inisiator iSCSI dari node cluster failover

Sekarang, mari kita sambungkan ke drive ini dari SQL01.dc.local simpul dengan menggunakan RDP.

Untuk menghubungkan ke disk virtual iSCSI menggunakan inisiator iSCSI, buka inisiator iSCSI dan klik tombol Refresh tombol untuk menemukan target. Sekarang Anda dapat memilih nama target yang sesuai dari “Target yang ditemukan " kolom tulisan. Pilih target yang sesuai dan klik C sambungkan . Lihat gambar berikut:

Setelah kita terhubung ke disk virtual, Anda dapat melihat disk di D terserah M manajer bagian di bawah C komputer M manajemen . Untuk menggunakan disk dalam cluster, kita harus melakukan tugas berikut:

  • Bawa disket ke internet. Untuk melakukannya, klik kanan D isk 4 dan pilih Online . Lihat gambar berikut:

  • Setelah disk online, inisialisasi disk. Untuk melakukannya, klik kanan Disk 4 dan pilih Inisialisasi disk . Lihat gambar berikut:

  • Setelah disk diinisialisasi, klik kanan Disk 4 dan pilih Volume Sederhana Baru untuk membuat partisi. Lihat gambar berikut:

Demikian pula, kita harus menghubungkan drive virtual dari SQL02.dc.local simpul. Untuk melakukannya, sambungkan SQL02.dc.local node menggunakan RDP, buka inisiator iSCSI, dan klik tombol Refresh tombol untuk menemukan target. Sekarang Anda dapat memilih nama target yang sesuai dari Target yang ditemukan kolom tulisan. Pilih target yang sesuai dan klik C sambungkan . Lihat gambar berikut:

Tambahkan disk baru ke penyimpanan cluster failover yang ada.

Untuk menambahkan disk ini ke penyimpanan cluster, sambungkan ke SQL01.Dc.Local menggunakan RDP, buka F berlebihan C kilau M manajer , sambungkan ke SQLCluster.DC.Local , pilih D berisiko dari pan kiri dan klik A dd disk . Kotak dialog "Tambahkan disk ke cluster" akan terbuka. Dalam kotak dialog ini, disk berkerumun baru akan ditampilkan. Lihat gambar berikut:

Setelah disk baru ditambahkan, Anda dapat melihatnya di menu disk dari Failover Cluster Manager. Lihat gambar berikut:

Pindahkan contoh file database ke disk baru.

Setelah disk ditambahkan, mari pindahkan contoh file database ke drive baru. Saya telah membuat database bernama de basis data di SQL01.dc.local . Kami ingin memindahkan file datanya ke disk baru. Untuk melakukannya, sambungkan ke PowerShell lalu sambungkan ke instance SQL Server menggunakan 'SQLCmd ’ perintah.

Setelah Anda terhubung ke instance, jalankan perintah berikut untuk melepaskan database.

exec sp_detach_db [demodatabase]
go

Setelah database terlepas, salin file data dari drive F (drive lama) ke drive E (drive baru) dan jalankan perintah berikut untuk melampirkan database.

CREATE DATABASE demodatabase
    ON (FILENAME = 'E:\SQLData\demodatabase.mdf'),   
    (FILENAME = 'F:\SQLLog\demodatabase_log.ldf')   
    FOR ATTACH; 
GO

Saat Anda menjalankan perintah di atas, Anda akan menerima kesalahan berikut:

Msg 5184, Level 16, State 2, Server SQLCLUST, Line 1
Cannot use file 'E:\SQLData\demodatabase.mdf' for clustered server. Only formatted files on which the cluster resource of the server has a dependency can be used. Either the disk resource containing the file is not present in the cluster group or the cluster resource of the Sql Server does not have a dependency on it.

Kesalahan ini terjadi karena kami tidak menambahkan disk baru ke grup sumber daya cluster dan ke AND Dependency peran MSSQLSERVER. Lihat gambar berikut:

Untuk memperbaiki kesalahan ini, kita harus menambahkan disk baru ke peran MSSQLSERVER. Untuk melakukannya, buka Failover Cluster Manager, klik Select Roles, klik kanan SQL Server (MSSQLSERVER ) peran, dan pilih Tambahkan Penyimpanan . Lihat gambar berikut:

Tambahkan Penyimpanan kotak dialog akan terbuka. Dari daftar penyimpanan yang tersedia, pilih disk yang kami buat. Lihat gambar berikut:

Setelah kami menambahkan penyimpanan, kami dapat memverifikasinya dari tab sumber daya dari peran MSSQLSERVER. Lihat gambar berikut:

Setelah disk ditambahkan, kita juga perlu menambahkannya ke SQL Server DAN dependensi . Untuk melakukannya, klik kanan SQL Server dalam daftar sumber daya di bawah MSSQLSERVER peran dan pilih P properti . Dalam P properti kotak dialog, buka Ketergantungan tab dan pilih Cluster Disk 4 dari kotak tarik-turun di Sumber Daya kolom.

Setelah sumber daya disk ditambahkan, coba lampirkan database menggunakan perintah berikut:

CREATE DATABASE demodatabase
    ON (FILENAME = 'E:\SQLData\demodatabase.mdf'),   
    (FILENAME = 'F:\SQLLog\demodatabase_log.ldf')   
    FOR ATTACH; 
GO

Perintah akan berhasil dijalankan. Untuk memverifikasi bahwa file telah disalin ke lokasi yang sesuai, jalankan kueri berikut di PowerShell.

select db_name(database_id) as [database name], physical_name from sys.master_files where db_name(database_id) ='demodatabase'

Berikut adalah outputnya:

Database Name		physical_name
------------ 		---------------------------------
demodatabase		E:\SQLData\demodatabase.mdf
demodatabase		F:\SQLLog\demodatabase_log.ldf

Seperti yang Anda lihat, file database telah dipindahkan ke drive baru.

Ringkasan

Dalam artikel ini, saya telah menjelaskan bahwa proses langkah demi langkah untuk menambahkan disk ke contoh kluster failover SQL Server yang ada. Pada artikel berikutnya, saya akan menjelaskan cara memindahkan database sistem ke clustered disk yang baru.

Tetap disini!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Temukan nilai maksimal dan tampilkan nilai yang sesuai dari bidang yang berbeda di server SQL

  2. Masalah Besar :SQL Server 2016 Paket Layanan 1

  3. Membagi fungsi di SQL Server 2008

  4. Menerapkan relasi satu-ke-nol-atau-satu di SQL Server

  5. Hitung berdasarkan kondisi di SQL Server