Aracılığıyla paylaş


SMB depolama yük devretme kümesi örneğini yapılandırma - Linux üzerinde SQL Server

Şunlar için geçerlidir:Linux üzerinde SQL Server

Bu makalede Linux'ta bir yük devretme kümesi örneği (FCI) için SMB depolamanın nasıl yapılandırılır açıklanmaktadır.

Windows dışı dünyada SMB, Ortak İnternet Dosya Sistemi (CIFS) paylaşımı olarak da adlandırılır ve Samba aracılığıyla uygulanır. Windows dünyasında SMB paylaşımına erişim şu şekilde yapılır: \\SERVERNAME\SHARENAME. Linux tabanlı SQL Server yüklemeleri için SMB paylaşımının klasör olarak bağlanması gerekir.

Önemli kaynak ve sunucu bilgileri

SMB'nin başarıyla kullanılmasına yönelik bazı ipuçları ve notlar şunlardır:

  • SMB paylaşımı, SMB 3.0 veya daha sonraki sürümleri kullanıyorsa, Windows, Linux veya bir ağ cihazından bile yapılabilir. Samba ve SMB 3.0 hakkında daha fazla bilgi için, Samba uygulamanızın SMB 3.0 ile uyumlu olup olmadığını görmek için ve'e bakın.
  • SMB paylaşımı yüksek oranda kullanılabilir olmalıdır.
  • SMB paylaşımında güvenlik düzgün ayarlanmalıdır. Aşağıda, /etc/samba/smb.conf'den bir örnek verilmiştir ve burada SQLData paylaşımın adıdır.
[SQLData]
path=/var/smb/SQLData
read only = no
browseable = yes
guest ok = no
writeable = yes
valid users = SQLSambaUser

Talimatlar

  1. FCI yapılandırmasına katılacak sunuculardan birini seçin. Hangisi olduğu önemli değil.

  2. mssql kullanıcı hakkında bilgi edinin.

     sudo id mssql
    

    uid, gidve grupları not edin.

  3. sudo smbclient -L //NameOrIP/ShareName -U UserYürüt.

    • <NameOrIP>, SMB paylaşımını barındıran sunucunun DNS adı veya IP adresidir.
    • <ShareName>, SMB paylaşımının adıdır.
  4. Sistem veritabanları veya varsayılan veri konumunda depolanan herhangi bir şey için şu adımları izleyin. Aksi takdirde 5. adıma atlayın.

    1. Üzerinde çalıştığınız sunucuda SQL Server'ın durduruldığından emin olun.

      sudo systemctl stop mssql-server
      sudo systemctl status mssql-server
      
    2. Tamamen süper kullanıcı olacak şekilde geçiş yapın.

      sudo -i
      
    3. mssql kullanıcı olarak geçiş yapın.

      su mssql
      
    4. SQL Server verilerini ve günlük dosyalarını depolamak için geçici bir dizin oluşturun.

      mkdir <TempDir>
      
      • <TempDir> klasörün adıdır. Aşağıdaki örnek, /var/opt/mssql/tmpadlı bir klasör oluşturur.
      mkdir /var/opt/mssql/tmp
      
    5. SQL Server verilerini ve günlük dosyalarını geçici dizine kopyalayın.

      cp /var/opt/mssql/data/* <TempDir>
      
      • <TempDir>, önceki adımdaki klasörün adıdır.
    6. Dosyaların dizininde olduğunu doğrulayın.

      ls <TempDir>
      

      <TempDir>, d adımındaki klasörün adıdır.

    7. Dosyaları mevcut SQL Server veri dizininden silin.

      rm - f /var/opt/mssql/data/*
      
    8. Dosyaların silindiğini doğrulayın.

      ls /var/opt/mssql/data
      
    9. Kök kullanıcıya geri dönmek için exit yazın.

    10. SMB paylaşımını SQL Server veri klasörüne bağlayın. Bu örnekte, Windows Server tabanlı SMB 3.0 paylaşımına bağlanma söz dizimi gösterilmektedir.

      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>, SMB paylaşımına sahip sunucunun adıdır
      • <ShareName> paylaşımın adıdır
      • <UserName>, paylaşıma erişecek kullanıcının adıdır
      • <Password> kullanıcının parolasıdır
      • <domain>, Active Directory'nin adıdır
      • <mssqlUID>, mssql kullanıcının UID'sidir
      • <mssqlGID>, mssql kullanıcının GID değeridir
    11. Bağlama işleminin başarılı olduğunu kontrol etmek için herhangi bir parametre kullanmadan bağlama komutunu çalıştırın.

      mount
      
    12. mssql kullanıcıya geçin.

      su mssql
      
    13. geçici dizinindeki dosyaları /var/opt/mssql/datakopyalayın.

      cp /var/opt/mssql/tmp/* /var/opt/mssql/data
      
    14. Dosyaların orada olduğunu doğrulayın.

      ls /var/opt/mssql/data
      
    15. exitolmaması için mssql girin.

    16. exitolmaması için root girin.

    17. SQL Server'ı başlatın. Her şey doğru kopyalandıysa ve güvenlik doğru uygulandıysa, SQL Server başlatılmış olarak gösterilmelidir.

      sudo systemctl start mssql-server
      sudo systemctl status mssql-server
      
    18. Daha fazla test etmek için izinlerin iyi olduğundan emin olmak için bir veritabanı oluşturun. Aşağıdaki örnekte Transact-SQL kullanılır; SSMS kullanabilirsiniz.

      Test veritabanının oluşturulmasını gösteren ekran görüntüsü.

    19. SQL Server'ı durdurun ve kapandığını doğrulayın. Diğer diskleri ekleyecek veya test edecekseniz, bu diskler eklenene ve test edilene kadar SQL Server'ı kapatmayın.

      sudo systemctl stop mssql-server
      sudo systemctl status mssql-server
      
    20. Sadece bittiyse, paylaşım bağlantısını kaldırın. Aksi takdirde, testi tamamladıktan/ek disk ekledikten sonra çıkarın.

      sudo umount //<IPAddressorServerName>/<ShareName /<FolderMountedIn>
      
      • <IPAddressOrServerName>, SMB konağın IP adresi veya adıdır
      • <ShareName> paylaşımın adıdır
      • <FolderMountedIn>, SMB'nin bağlandığı klasörün adıdır
  5. Kullanıcı veritabanları veya yedeklemeler gibi sistem veritabanları dışındaki şeyler için aşağıdaki adımları izleyin. Yalnızca varsayılan konumu kullanıyorsanız 14. Adım'a atlayın.

    1. Süper kullanıcı olarak geçiş yapın.

      sudo -i
      
    2. SQL Server tarafından kullanılacak bir klasör oluşturun.

      mkdir <FolderName>
      

      <FolderName> klasörün adıdır. Doğru konumda değilse klasörün tam yolunun belirtilmesi gerekir. Aşağıdaki örnek, /var/opt/mssql/userdataadlı bir klasör oluşturur.

      mkdir /var/opt/mssql/userdata
      
    3. SMB paylaşımını SQL Server veri klasörüne bağlayın. Bu örnekte Samba tabanlı SMB 3.0 paylaşımına bağlanma söz dizimi gösterilmektedir.

      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>, SMB paylaşımına sahip sunucunun adıdır
      • <ShareName> paylaşımın adıdır
      • <FolderName>, son adımda oluşturulan klasörün adıdır
      • <UserName>, paylaşıma erişecek kullanıcının adıdır
      • <Password> kullanıcının parolasıdır
      • <mssqlUID>, mssql kullanıcının UID'sidir
      • <mssqlGID>, mssql kullanıcının GID değeridir.
    4. Bağlama işleminin başarılı olduğunu kontrol etmek için herhangi bir parametre kullanmadan bağlama komutunu çalıştırın.

    5. Artık süper kullanıcı olmayacak şekilde exit yazın.

    6. Test etmek için bu klasörde bir veritabanı oluşturun. Aşağıdaki örnek sqlcmd kullanarak veritabanı oluşturur, bağlamı buna geçirir, dosyaların işletim sistemi düzeyinde var olduğunu doğrular ve geçici konumu siler. SSMS kullanabilirsiniz.

    7. Paylaşımı çıkart

      sudo umount //<IPAddressorServerName>/<ShareName> /<FolderMountedIn>
      
      • <IPAddressOrServerName>, SMB konağın IP adresi veya adıdır
      • <ShareName> paylaşımın adıdır
      • <FolderMountedIn>, SMB'nin bağlandığı klasörün adıdır.
  6. Diğer düğümlerde adımları yineleyin.

Artık FCI'yi yapılandırmaya hazırsınız.