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 makale, Linux'ta bir yük devretme kümesi örneği (FCI) için NFS depolamanın nasıl yapılandırılacağını açıklar.
NFS veya ağ dosya sistemi, Linux dünyasında diskleri paylaşmak için yaygın bir yöntemdir ancak Windows'ta paylaşılmaz. iSCSI'ya benzer şekilde, SQL Server için depolama gereksinimlerini karşılıyorsa NFS bir sunucuda veya bir tür alette veya depolama biriminde yapılandırılabilir.
Önemli NFS sunucu bilgileri
NFS'yi barındıran kaynak (Linux sunucusu veya başka bir şey) 4.2 veya sonraki bir sürümü kullanıyor/uyumlu olmalıdır. Önceki sürümler Linux üzerinde SQL Server ile çalışmaz.
NFS sunucusunda paylaşılacak klasörleri yapılandırırken şu genel yönergelere uyduğundan emin olun:
- Klasörün okunabilir ve yazılabilir olmasını sağlamak için
rw - Klasöre garantili yazma işlemleri yapmak için
sync - seçenek olarak
no_root_squashkullanmayın; güvenlik riski olarak kabul edilir - Klasörün tüm izinlere sahip olduğundan emin olun (
777)
Erişim için güvenlik standartlarınızı uyguladığınızdan emin olun. Klasörü yapılandırırken yalnızca FCI'ye katılan sunucuların NFS klasörünü görmesi gerektiğinden emin olun. Aşağıdaki örnekte, linux tabanlı bir NFS çözümünde değiştirilmiş bir /etc/exports gösterilir ve burada klasör FCIN1 ve FCIN2ile sınırlıdır.
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See export(5).
#
/var/nfs/fci1 FCIN1(rw,sync) FCIN2(rw,sync)
Talimatlar
FCI yapılandırmasına katılacak sunuculardan birini seçin. Hangisi olduğu önemli değil.
Sunucunun NFS sunucusundaki depolama birimlerini görebildiğini denetleyin.
sudo showmount -e <IPAddressOfNFSServer>-
<IPAddressOfNFSServer>, kullanacağınız NFS sunucusunun IP adresidir.
-
Sistem veritabanları veya varsayılan veri konumunda depolanan herhangi bir şey için şu adımları izleyin. Aksi takdirde, 4. 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>, önceki adımdaki 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.
NFS paylaşımını SQL Server veri klasörüne bağlayın.
mount -t nfs4 <IPAddressOfNFSServer>:<FolderOnNFSServer> /var/opt/mssql/data -o nfsvers=4.2,timeo=14,intr-
<IPAddressOfNFSServer>, kullanacağınız NFS sunucusunun IP adresidir -
<FolderOnNFSServer>, NFS paylaşımının adıdır. Aşağıdaki örnek söz dizimi, 2. Adımdaki NFS bilgileriyle eşleşir.
mount -t nfs4 10.201.202.63:/var/nfs/fci1 /var/opt/mssql/data -o nfsvers=4.2,timeo=14,intr-
"Mount komutunu hiçbir parametre olmadan çalıştırarak bağlamanın başarılı olup olmadığını kontrol edin."
mountİşte beklenen çıktılar.
10.201.202.63:/var/nfs/fcil on /var/opt/mssql/data type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard, proto=tcp,port=0,timeo=14, retrans=2,sec=sys,clientaddr=10.201.202.128,local lock=none, addr=10.201.202.63)mssqlkullanıcıya geçin.su mssqlDosyaları geçici /var/opt/mssql/data dizininden kopyalayın.
cp /var/opt/mssql/tmp/* /var/opt/mssqldataDosyaların orada olduğunu doğrulayın.
ls /var/opt/mssql/dataexitolmaması içinmssqlgirin.Kök olmaması için
exitgirin.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-serverGüvenliğin düzgün ayarlandığını test etmek için bir veritabanı oluşturun. Aşağıdaki örnek, Transact-SQL aracılığıyla yapıldığını gösterir. Ayrıca SQL Server Management Studio (SSMS) aracılığıyla da yapılabilir.
SQL Server'ı durdurun ve kapatıldığını doğrulayın.
sudo systemctl stop mssql-server sudo systemctl status mssql-serverBaşka bir NFS bağlantısı oluşturmuyorsanız, paylaşımı ayırın. Başka bağlamalar oluşturuyorsanız, bağlamaları kaldırmayın.
sudo umount <IPAddressOfNFSServer>:<FolderOnNFSServer> <FolderToMountIn>-
<IPAddressOfNFSServer>, kullanacağınız NFS sunucusunun IP adresidir -
<FolderOnNFSServer>, NFS paylaşımının adıdır -
<FolderMountedIn>, önceki adımda oluşturulan klasördü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 5. adıma geçin.
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/userdata-
NFS paylaşımını önceki adımda oluşturulan klasöre bağlayın.
mount -t nfs4 <IPAddressOfNFSServer>:<FolderOnNFSServer> <FolderToMountIn> -o nfsvers=4.2,timeo=14,intr-
<IPAddressOfNFSServer>, kullanacağınız NFS sunucusunun IP adresidir -
<FolderOnNFSServer>, NFS paylaşımının adıdır -
<FolderToMountIn>, önceki adımda oluşturulan klasördür.
Aşağıdaki örnek NFS paylaşımını bağlar.
mount -t nfs4 10.201.202.63:/var/nfs/fci2 /var/opt/mssql/userdata -o nfsvers=4.2,timeo=14,intr-
"Mount komutunu hiçbir parametre olmadan çalıştırarak bağlamanın başarılı olup olmadığını kontrol edin."
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ı ayır
sudo umount <IPAddressOfNFSServer>:<FolderOnNFSServer> <FolderToMountIn>-
<IPAddressOfNFSServer>, kullanacağınız NFS sunucusunun IP adresidir -
<FolderOnNFSServer>, NFS paylaşımının adıdır -
<FolderMountedIn>, önceki adımda oluşturulan klasördür.
-
Diğer düğümlerde adımları yineleyin.