Bagikan melalui


Mengonfigurasi instans kluster failover penyimpanan SMB - SQL Server di Linux

Berlaku untuk: SQL Server - Linux

Artikel ini menjelaskan cara mengonfigurasi penyimpanan SMB untuk instans kluster failover (FCI) di Linux.

Di dunia non-Windows, SMB juga disebut sebagai berbagi Common Internet File System (CIFS) dan diimplementasikan melalui Samba. Di dunia Windows, mengakses berbagi SMB dilakukan dengan cara ini: \\SERVERNAME\SHARENAME. Untuk penginstalan SQL Server berbasis Linux, berbagi SMB harus dipasang sebagai folder.

Informasi sumber dan server penting

Berikut adalah beberapa tips dan catatan untuk berhasil menggunakan SMB:

  • Berbagi SMB dapat berada di Windows, Linux, atau bahkan dari appliance selama menggunakan SMB 3.0 atau versi yang lebih baru. Untuk informasi selengkapnya tentang Samba dan SMB 3.0, lihat SMB 3.0 untuk melihat apakah implementasi Samba Anda sesuai dengan SMB 3.0.
  • Berbagi SMB harus sangat tersedia.
  • Keamanan harus diatur dengan benar pada berbagi SMB. Di bawah ini adalah contoh dari /etc/samba/smb.conf, di mana SQLData adalah nama berbagi.
[SQLData]
path=/var/smb/SQLData
read only = no
browseable = yes
guest ok = no
writeable = yes
valid users = SQLSambaUser

Petunjuk

  1. Pilih salah satu server yang akan berpartisipasi dalam konfigurasi FCI. Tidak masalah yang mana.

  2. Dapatkan informasi tentang mssql pengguna.

     sudo id mssql
    

    uidPerhatikan grup , gid, dan .

  3. Jalankansudo smbclient -L //NameOrIP/ShareName -U User.

    • <NameOrIP> adalah nama DNS atau alamat IP server yang menghosting berbagi SMB.
    • <ShareName> adalah nama berbagi SMB.
  4. Untuk database sistem, atau apa pun yang disimpan di lokasi data default, ikuti langkah-langkah ini. Jika tidak, lewati ke langkah 5.

    1. Pastikan bahwa SQL Server dihentikan di server yang sedang Anda kerjakan.

      sudo systemctl stop mssql-server
      sudo systemctl status mssql-server
      
    2. Beralih sepenuhnya menjadi superuser.

      sudo -i
      
    3. Beralih menjadi mssql pengguna.

      su mssql
      
    4. Buat direktori sementara untuk menyimpan data SQL Server dan file log.

      mkdir <TempDir>
      
      • <TempDir> adalah nama folder. Contoh berikut membuat folder bernama /var/opt/mssql/tmp.
      mkdir /var/opt/mssql/tmp
      
    5. Salin data SQL Server dan file log ke direktori sementara.

      cp /var/opt/mssql/data/* <TempDir>
      
      • <TempDir> adalah nama folder dari langkah sebelumnya.
    6. Verifikasi bahwa file berada di direktori.

      ls <TempDir>
      

      <TempDir> adalah nama folder dari Langkah d.

    7. Hapus file dari direktori data SQL Server yang ada.

      rm - f /var/opt/mssql/data/*
      
    8. Verifikasi bahwa file telah dihapus.

      ls /var/opt/mssql/data
      
    9. Ketik exit untuk beralih kembali ke pengguna root.

    10. Pasang berbagi SMB di folder data SQL Server. Contoh ini memperlihatkan sintaks untuk menyambungkan ke berbagi SMB 3.0 berbasis Windows Server.

      Mount -t cifs //<ServerName>/<ShareName> /var/opt/mssql/data -o vers=3.0,username=<UserName>,password=<Password>,domain=<domain>,uid=<mssqlUID>,gid=<mssqlGID>,file_mode=0777,dir_mode=0777
      
      • <ServerName> adalah nama server dengan berbagi SMB
      • <ShareName> adalah nama berbagi
      • <UserName> adalah nama pengguna untuk mengakses berbagi
      • <Password> adalah kata sandi untuk pengguna
      • <domain> adalah nama Direktori Aktif
      • <mssqlUID> adalah UID mssql pengguna
      • <mssqlGID> adalah GID mssql pengguna
    11. Periksa untuk melihat bahwa pemasangan berhasil dengan mengeluarkan pemasangan tanpa sakelar.

      mount
      
    12. Beralih ke mssql pengguna.

      su mssql
      
    13. Salin file dari direktori /var/opt/mssql/datasementara .

      cp /var/opt/mssql/tmp/* /var/opt/mssql/data
      
    14. Verifikasi bahwa file ada di sana.

      ls /var/opt/mssql/data
      
    15. Masukkan exit untuk tidak menjadi mssql.

    16. Masukkan exit untuk tidak menjadi root.

    17. Mulai SQL Server. Jika semuanya disalin dengan benar dan keamanan diterapkan dengan benar, SQL Server akan ditampilkan sebagai dimulai.

      sudo systemctl start mssql-server
      sudo systemctl status mssql-server
      
    18. Untuk menguji lebih lanjut, buat database untuk memastikan izinnya baik-baik saja. Contoh berikut menggunakan Transact-SQL; Anda dapat menggunakan SSMS.

      Cuplikan layar memperlihatkan pembuatan database pengujian.

    19. Hentikan SQL Server dan verifikasi bahwa SQL Server dimatikan. Jika Anda akan menambahkan atau menguji disk lain, jangan matikan SQL Server hingga disk tersebut ditambahkan dan diuji.

      sudo systemctl stop mssql-server
      sudo systemctl status mssql-server
      
    20. Hanya jika selesai, lepaskan berbagi. Jika tidak, lepas setelah selesai menguji/menambahkan disk tambahan apa pun.

      sudo umount //<IPAddressorServerName>/<ShareName /<FolderMountedIn>
      
      • <IPAddressOrServerName> adalah alamat IP atau nama host SMB
      • <ShareName> adalah nama berbagi
      • <FolderMountedIn> adalah nama folder tempat SMB dipasang
  5. Untuk hal-hal selain database sistem, seperti database pengguna atau cadangan, ikuti langkah-langkah ini. Jika hanya menggunakan lokasi default, lewati ke Langkah 14.

    1. Beralih menjadi superuser.

      sudo -i
      
    2. Buat folder yang akan digunakan oleh SQL Server.

      mkdir <FolderName>
      

      <FolderName> adalah nama folder. Jalur lengkap folder perlu ditentukan jika tidak berada di lokasi yang tepat. Contoh berikut membuat folder bernama /var/opt/mssql/userdata.

      mkdir /var/opt/mssql/userdata
      
    3. Pasang berbagi SMB di folder data SQL Server. Contoh ini memperlihatkan sintaks untuk menyambungkan ke berbagi SMB 3.0 berbasis Samba.

      Mount -t cifs //<ServerName>/<ShareName> <FolderName> -o vers=3.0,username=<UserName>,password=<Password>,uid=<mssqlUID>,gid=<mssqlGID>,file_mode=0777,dir_mode=0777
      
      • <ServerName> adalah nama server dengan berbagi SMB
      • <ShareName> adalah nama berbagi
      • <FolderName> adalah nama folder yang dibuat di langkah terakhir
      • <UserName> adalah nama pengguna untuk mengakses berbagi
      • <Password> adalah kata sandi untuk pengguna
      • <mssqlUID> adalah UID mssql pengguna
      • <mssqlGID> adalah GID mssql pengguna.
    4. Periksa untuk melihat bahwa pemasangan berhasil dengan mengeluarkan pemasangan tanpa sakelar.

    5. Ketik exit untuk tidak lagi menjadi superuser.

    6. Untuk menguji, buat database di folder tersebut. Contoh berikut menggunakan sqlcmd untuk membuat database, beralih konteks ke dalamnya, memverifikasi bahwa file ada di tingkat OS, lalu menghapus lokasi sementara. Anda dapat menggunakan SSMS.

    7. Melepas kaitan berbagi

      sudo umount //<IPAddressorServerName>/<ShareName> /<FolderMountedIn>
      
      • <IPAddressOrServerName> adalah alamat IP atau nama host SMB
      • <ShareName> adalah nama berbagi
      • <FolderMountedIn> adalah nama folder tempat SMB dipasang.
  6. Ulangi langkah-langkah pada simpul lain.

Anda sekarang siap untuk mengonfigurasi FCI.