Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ş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 buradaSQLDatapaylaşımın adıdır.
[SQLData]
path=/var/smb/SQLData
read only = no
browseable = yes
guest ok = no
writeable = yes
valid users = SQLSambaUser
Talimatlar
FCI yapılandırmasına katılacak sunuculardan birini seçin. Hangisi olduğu önemli değil.
mssqlkullanıcı hakkında bilgi edinin.sudo id mssqluid,gidve grupları not edin.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.
-
Sistem veritabanları veya varsayılan veri konumunda depolanan herhangi bir şey için şu adımları izleyin. Aksi takdirde 5. adıma atlayın.
Üzerinde çalıştığınız sunucuda SQL Server'ın durduruldığından emin olun.
sudo systemctl stop mssql-server sudo systemctl status mssql-serverTamamen süper kullanıcı olacak şekilde geçiş yapın.
sudo -imssqlkullanıcı olarak geçiş yapın.su mssqlSQL 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-
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.
-
Dosyaların dizininde olduğunu doğrulayın.
ls <TempDir><TempDir>, d adımındaki klasörün adıdır.
Dosyaları mevcut SQL Server veri dizininden silin.
rm - f /var/opt/mssql/data/*Dosyaların silindiğini doğrulayın.
ls /var/opt/mssql/dataKök kullanıcıya geri dönmek için exit yazın.
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>,mssqlkullanıcının UID'sidir -
<mssqlGID>,mssqlkullanıcının GID değeridir
-
Bağlama işleminin başarılı olduğunu kontrol etmek için herhangi bir parametre kullanmadan bağlama komutunu çalıştırın.
mountmssqlkullanıcıya geçin.su mssqlgeçici dizinindeki dosyaları
/var/opt/mssql/datakopyalayın.cp /var/opt/mssql/tmp/* /var/opt/mssql/dataDosyaların orada olduğunu doğrulayın.
ls /var/opt/mssql/dataexitolmaması içinmssqlgirin.exitolmaması içinrootgirin.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-serverDaha 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.
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-serverSadece 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
-
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.
Süper kullanıcı olarak geçiş yapın.
sudo -iSQL 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/userdataSMB 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>,mssqlkullanıcının UID'sidir -
<mssqlGID>,mssqlkullanıcının GID değeridir.
-
Bağlama işleminin başarılı olduğunu kontrol etmek için herhangi bir parametre kullanmadan bağlama komutunu çalıştırın.
Artık süper kullanıcı olmayacak şekilde exit yazın.
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.
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.
-
Diğer düğümlerde adımları yineleyin.
Artık FCI'yi yapılandırmaya hazırsınız.