Megosztás:


Átállási fürtpéldány konfigurálása – NFS – SQL Server Linux rendszeren

A következőkre vonatkozik:SQL Server Linux rendszeren

Ez a cikk bemutatja, hogyan lehet konfigurálni az NFS tárolást egy feladatátvevő fürtpéldányhoz (FCI) Linux operációs rendszeren.

Az NFS vagy hálózati fájlrendszer a lemezek linuxos világon történő megosztásának gyakori módszere, a Windows esetében azonban nem. Az iSCSI-hez hasonlóan az NFS konfigurálható egy kiszolgálón vagy valamilyen berendezésen vagy tárolóegységen, amennyiben megfelel az SQL Server tárolási követelményeinek.

Fontos NFS-kiszolgálóadatok

Az NFS-t futtató forrásnak (linuxos kiszolgálónak vagy valami másnak) a 4.2-es vagy újabb verziót kell használnia/kompatibilisnek kell lennie. A korábbi verziók nem működnek linuxos SQL Serverrel.

Az NFS-kiszolgálón megosztandó mappák konfigurálásakor győződjön meg arról, hogy az alábbi általános irányelveket követi:

  • rw annak biztosítása érdekében, hogy a mappa beolvasható és írható legyen
  • sync a mappába történő garantált írás biztosítása érdekében
  • Ne használja a no_root_squash lehetőséget; biztonsági kockázatnak minősül
  • Győződjön meg arról, hogy a mappa teljes jogosultságokkal (777) rendelkezik

Győződjön meg arról, hogy a biztonsági szabványok betartását biztosítják a hozzáférés során. A mappa konfigurálásakor győződjön meg arról, hogy csak az FCI-ben részt vevő kiszolgálók láthatják az NFS mappát. A következő példában egy Linux-alapú NFS-megoldás módosított /etc/exports értéke látható, ahol a mappa hozzáférés korlátozva van FCIN1 és FCIN2számára.

# /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)

Előírás

  1. Válassza ki az FCI-konfigurációban részt vevő kiszolgálók egyikét. Nem számít, melyiket.

  2. Ellenőrizze, hogy a kiszolgáló láthatja-e a csatlakoztatásokat az NFS-kiszolgálón.

    sudo showmount -e <IPAddressOfNFSServer>
    
    • <IPAddressOfNFSServer> a használni kívánt NFS-kiszolgáló IP-címe.
  3. A rendszeradatbázisok vagy az alapértelmezett adathelyen tárolt adatok esetében kövesse az alábbi lépéseket. Ellenkező esetben ugorjon a 4. lépésre.

    • Győződjön meg arról, hogy az SQL Server le van állítva azon a kiszolgálón, amelyen éppen dolgozik.

      sudo systemctl stop mssql-server
      sudo systemctl status mssql-server
      
    • Teljes mértékben váltson szuperfelhasználói módra.

      sudo -i
      
    • Váltson mssql felhasználóra.

      su mssql
      
    • Hozzon létre egy ideiglenes könyvtárat az SQL Server-adatok és naplófájlok tárolásához.

      mkdir <TempDir>
      
      • <TempDir> a mappa neve. Az alábbi példa egy /var/opt/mssql/tmpnevű mappát hoz létre.
      mkdir /var/opt/mssql/tmp
      
    • Másolja az SQL Server-adatokat és naplófájlokat az ideiglenes könyvtárba.

      cp /var/opt/mssql/data/* <TempDir>
      
      • <TempDir> az előző lépésben szereplő mappa neve.
    • Ellenőrizze, hogy a fájlok a könyvtárban vannak-e.

      ls TempDir
      
      • <TempDir> az előző lépésben szereplő mappa neve.
    • Törölje a fájlokat a meglévő SQL Server-adatkönyvtárból.

      rm - f /var/opt/mssql/data/*
      
    • Ellenőrizze, hogy törölték-e a fájlokat.

      ls /var/opt/mssql/data
      
    • Írja be a kilépést a gyökérfelhasználóra való visszaváltáshoz.

    • Csatlakoztassa az NFS-megosztást az SQL Server adatmappájában.

      mount -t nfs4 <IPAddressOfNFSServer>:<FolderOnNFSServer> /var/opt/mssql/data -o nfsvers=4.2,timeo=14,intr
      
      • <IPAddressOfNFSServer> a használni kívánt NFS-kiszolgáló IP-címe
      • <FolderOnNFSServer> az NFS-megosztás neve. Az alábbi példa szintaxisa megegyezik a 2. lépés NFS-információival.
      mount -t nfs4 10.201.202.63:/var/nfs/fci1 /var/opt/mssql/data -o nfsvers=4.2,timeo=14,intr
      
    • Ellenőrizze, hogy a csatlakoztatás sikeres volt-e, ha a "mount" parancsot kapcsolók nélkül adja ki.

      mount
      

      Itt a várt kimenet.

      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)
      
    • Váltson a mssql felhasználóra.

      su mssql
      
    • Másolja a fájlokat az ideiglenes könyvtárból /var/opt/mssql/data.

      cp /var/opt/mssql/tmp/* /var/opt/mssqldata
      
    • Ellenőrizze, hogy a fájlok ott vannak-e.

      ls /var/opt/mssql/data
      
    • Adja meg a exit, hogy ne legyen mssql.

    • Írja be a exit-t, hogy ne legyen root jogosultságú.

    • Indítsa el az SQL Servert. Ha mindent helyesen másoltak és a biztonságot megfelelően alkalmazták, akkor az SQL Servernek elindult állapotban kell lennie.

      sudo systemctl start mssql-server
      sudo systemctl status mssql-server
      
    • Hozzon létre egy adatbázist, amely ellenőrzi, hogy a biztonság megfelelően van-e beállítva. Az alábbi példa azt mutatja be, hogy a Transact-SQL-en keresztül történik. Az SQL Server Management Studióval (SSMS) is elvégezhető.

      Képernyőkép a tesztadatbázis létrehozásáról.

    • Állítsa le az SQL Servert, és ellenőrizze, hogy leállt-e.

      sudo systemctl stop mssql-server
      sudo systemctl status mssql-server
      
    • Ha nem hoz létre más NFS-csatlakoztatásokat, bontsa le a megosztást. Ha más csatlakoztatásokat hoz létre, ne bontsa le.

      sudo umount <IPAddressOfNFSServer>:<FolderOnNFSServer> <FolderToMountIn>
      
      • <IPAddressOfNFSServer> a használni kívánt NFS-kiszolgáló IP-címe
      • <FolderOnNFSServer> az NFS-megosztás neve
      • <FolderMountedIn> az előző lépésben létrehozott mappa.
  4. A rendszeradatbázisok, például a felhasználói adatbázisok vagy a biztonsági másolatok kivételével az alábbi lépéseket kell követnie. Ha csak az alapértelmezett helyet használja, ugorjon az 5. lépésre.

    • Váltson szuperfelhasználóra.

      sudo -i
      
    • Hozzon létre egy mappát, amelyet az SQL Server fog használni.

      mkdir <FolderName>
      
      • <FolderName> a mappa neve. A mappa teljes elérési útját meg kell adni, ha nincs a megfelelő helyen.

      Az alábbi példa egy /var/opt/mssql/userdatanevű mappát hoz létre.

      mkdir /var/opt/mssql/userdata
      
    • Csatlakoztassa az NFS-megosztást az előző lépésben létrehozott mappába.

      mount -t nfs4 <IPAddressOfNFSServer>:<FolderOnNFSServer> <FolderToMountIn> -o nfsvers=4.2,timeo=14,intr
      
      • <IPAddressOfNFSServer> a használni kívánt NFS-kiszolgáló IP-címe
      • <FolderOnNFSServer> az NFS-megosztás neve
      • <FolderToMountIn> az előző lépésben létrehozott mappa.

      Az alábbi példa csatlakoztatja az NFS-megosztást.

      mount -t nfs4 10.201.202.63:/var/nfs/fci2 /var/opt/mssql/userdata -o nfsvers=4.2,timeo=14,intr
      
    • Ellenőrizze, hogy a csatlakoztatás sikeres volt-e, ha a "mount" parancsot kapcsolók nélkül adja ki.

    • Írja be a kilépést, hogy többé ne legyen a felügyelő.

    • A teszteléshez hozzon létre egy adatbázist a mappában. Az alábbi példa az sqlcmd használatával hoz létre egy adatbázist, átvált a környezetre, ellenőrzi, hogy a fájlok az operációs rendszer szintjén léteznek-e, majd törli az ideiglenes helyet. Használhatja az SSMS-t.

      Képernyőkép az sqlcmd parancsról és a parancsra adott válaszról.

    • A megosztás leválasztása

      sudo umount <IPAddressOfNFSServer>:<FolderOnNFSServer> <FolderToMountIn>
      
      • <IPAddressOfNFSServer> a használni kívánt NFS-kiszolgáló IP-címe
      • <FolderOnNFSServer> az NFS-megosztás neve
      • <FolderMountedIn> az előző lépésben létrehozott mappa.
  5. Ismételje meg a lépéseket a többi csomóponton.