Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőkre vonatkozik:SQL Server Linux rendszeren
Ez a cikk bemutatja, hogyan konfigurálhatja az iSCSI-tárolót egy feladatátvevő fürtpéldányhoz (FCI) Linuxon.
Az iSCSI konfigurálása
Az iSCSI hálózatokon keresztül egy célállomásként ismert szerver lemezeit jeleníti meg a kiszolgálók számára. Az iSCSI célponthoz csatlakozó kiszolgálóknak szükségük van egy iSCSI-kezdeményező konfigurálására. ** A céllemezek explicit engedélyeket kapnak, hogy csak azok a kezdeményezők férhessenek hozzá, akiknek hozzáférési jogosultságuk van. A célnak magas rendelkezésre állásúnak és megbízhatónak kell lennie.
Fontos iSCSI-céladatok
Bár ez a szakasz nem foglalkozik az iSCSI-tároló konfigurálásával, mivel az a használt forrás típusára vonatkozik, győződjön meg arról, hogy a fürtcsomópontok által használt lemezek biztonsága konfigurálva van.
A cél soha nem konfigurálható egyik FCI-csomóponton sem, ha Linux-alapú iSCSI célt használ. A teljesítmény és a rendelkezésre állás érdekében az iSCSI-hálózatokat el kell különíteni a forrás- és az ügyfélkiszolgálókon rendszeres hálózati forgalom által használt hálózatoktól. Az iSCSI-hez használt hálózatoknak gyorsnak kell lenniük. Ne feledje, hogy a hálózat némi processzor-sávszélességet használ, ezért ennek megfelelően tervezze meg, ha normál kiszolgálót használ.
Az egyik legfontosabb feladat annak biztosítása, hogy a létrehozott lemezekhez megfelelő engedélyek legyenek hozzárendelve, hogy csak az FCI-ben részt vevő kiszolgálók férhessenek hozzá. Itt egy példát láthat a Microsoft iSCSI célról, ahol a linuxnodes1 a létrehozott név, és ebben az esetben a csomópontokhoz rendelt IP-címek úgy vannak beállítva, hogy NewFCIDisk1.vhdx-nek tűnjenek.
Előírás
Ez a szakasz bemutatja, hogyan konfigurálhat iSCSI-kezdeményezőt az FCI csomópontjaként szolgáló kiszolgálókon. Az utasításoknak ugyanúgy kell működnie, mint a Red Hat Enterprise Linux (RHEL) és az Ubuntu esetében.
A támogatott disztribúciók iSCSI-kezdeményezőjének további információiért tekintse meg az alábbi hivatkozásokat:
Megjegyzés:
Az SQL Server 2025 -től (17.x) kezdődően a SUSE Linux Enterprise Server (SLES) nem támogatott.
Válassza ki az FCI-konfigurációban részt vevő kiszolgálók egyikét. Nem számít, melyiket. Az iSCSI-nek dedikált hálózaton kell lennie, ezért konfigurálja az iSCSI-t a hálózat felismerésére és használatára. Futtassa a
sudo iscsiadm -m iface -I <iSCSIIfaceName> -o newparancsot, ahol a<iSCSIIfaceName>a hálózat egyedi vagy felhasználóbarát neve. Az alábbi példaiSCSINIChasznál:sudo iscsiadm -m iface -I iSCSINIC -o newItt a várt kimenet.
New interface iSCSINIC added/var/lib/iscsi/ifaces/iSCSIIfaceNameszerkesztése. Győződjön meg arról, hogy a következő értékek teljesen ki vannak töltve:-
iface.net_ifacenameaz operációs rendszerben látható hálózati kártya neve. -
iface.hwaddressaz alábbi felülethez létrehozandó egyedi név MAC-címe. iface.ipaddressiface.subnet_Mask
Lásd a következő példát:
-
Keresse meg az iSCSI-célt.
sudo iscsiadm -m discovery -t sendtargets -I <iSCSINetName> -p <TargetIPAddress>:<TargetPort><iSCSINetName>a hálózat egyedi/felhasználóbarát neve,<TargetIPAddress>az iSCSI-cél IP-címe,<TargetPort>pedig az iSCSI-cél portja.Itt a várt kimenet.
10.181.182.1:3260,1 iqn.1991-05.com.contoso:dcl-linuxnodes1-target 10.201.202.1:3260,1 iqn.1991-05.com.contoso:dc1-linuxnodes1-target [2002:b4b5:b601::b4b5:b601]:3260,1 iqn.1991-05.com.contoso:dcl-linuxnodes1-target [2002:8c9:ca01::c8c9:ca01]:3260,1 iqn.1991-05.com.contoso:dcl-linuxnodes1-targetJelentkezzen be a célhelyre.
sudo iscsiadm -m node -I <iSCSIIfaceName> -p TargetIPAddress -l<iSCSIIfaceName>a hálózat egyedi/felhasználóbarát neve,<TargetIPAddress>pedig az iSCSI-cél IP-címe.Itt a várt kimenet.
Logging in to [iface: iSCSINIC, target: ian.1991-05.com.contoso:dcl-linuxnodesl-tar get, portal: 10.181.182.1,3260] (multiple) Login to [iface: iSCSINIC, target: ian.1991-05.com.contoso:dcl-linuxnodesl-tar get, portal: 10.181.182.1,3260] successful.Ellenőrizze, hogy van-e kapcsolat az iSCSI-céllal.
sudo iscsiadm -m sessionA kimenet az alábbi példához hasonlóan néz ki:
tcp: [1] 10.105.16.7:3260,1 iqn.1991-05.com.contoso:dcl-linuxnodes1-target (non-flash)Ellenőrizze az iSCSI-hez csatlakoztatott lemezeket.
sudo grep "Attached SCSI" /var/log/messages
Hozzon létre egy fizikai kötetet az iSCSI-lemezen.
sudo pvcreate /dev/<devicename><devicename>az előző lépésben szereplő eszköz neve.Hozzon létre egy kötetcsoportot az iSCSI-lemezen. Az egyetlen kötetcsoporthoz rendelt lemezek készletnek vagy gyűjteménynek tekinthetők.
sudo vgcreate <VolumeGroupName> /dev/devicename<VolumeGroupName>a kötetcsoport neve,<devicename>pedig az eszköz neve a 6. lépésből.Hozza létre és ellenőrizze a lemez logikai kötetét.
sudo lvcreate -Lsize -n <LogicalVolumeName> <VolumeGroupName><size>a létrehozandó kötet mérete, amely G (gigabájt), T (terabájt) stb. értékekkel adható meg,<LogicalVolumeName>a logikai kötet neve,<VolumeGroupName>pedig az előző lépés kötetcsoportjának neve.Itt a várt kimenet.
Logical volume "FCIDataLV1" created.Az alábbi példa egy 25 GB-os kötetet hoz létre.
Futtassa a
sudo lvsparancsot a létrehozott LVM megtekintéséhez.Formázza a logikai kötetet egy támogatott fájlrendszerrel. Az ext4 esetében használja a következő példát:
sudo mkfs.ext4 /dev/<VolumeGroupName>/<LogicalVolumeName><VolumeGroupName>az előző lépés kötetcsoportjának neve.<LogicalVolumeName>az előző lépés logikai kötetének neve.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 13. 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-serverVáltson teljesen szuperfelhasználóvá. Ha sikeres, nem kap visszaigazolást.
sudo -iVáltson
mssqlfelhasználóra. Ha sikeres, nem kap visszaigazolást.su mssqlHozzon létre egy ideiglenes könyvtárat az SQL Server-adatok és naplófájlok tárolásához. Ha sikeres, nem kap visszaigazolást.
mkdir <TempDir><TempDir>a mappa neve. Az alábbi példa létrehoz egy /var/opt/mssql/TempDir nevű mappát.mkdir /var/opt/mssql/TempDirMásolja az SQL Server-adatokat és naplófájlokat az ideiglenes könyvtárba. Ha sikeres, nem kap visszaigazolást.
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>a mappa neve az előző lépésekből.Törölje a fájlokat a meglévő SQL Server-adatkönyvtárból. Ha sikeres, nem kap visszaigazolást.
rm - f /var/opt/mssql/data/*Ellenőrizze, hogy törölték-e a fájlokat. Az alábbi képen egy példa látható a teljes sorozatra c és h között.
ls /var/opt/mssql/dataA
exitfelhasználóra való visszaváltáshoz írja be aroot.Csatlakoztassa az iSCSI logikai kötetet az SQL Server adatmappájában. Ha sikeres, nem kap visszaigazolást.
mount /dev/<VolumeGroupName>/<LogicalVolumeName> /var/opt/mssql/data<VolumeGroupName>a kötetcsoport neve,<LogicalVolumeName>pedig a létrehozott logikai kötet neve. Az alábbi példa szintaxisa megegyezik az előző parancs kötetcsoportjának és logikai kötetének szintaxisával.mount /dev/FCIDataVG1/FCIDataLV1 /var/opt/mssql/dataMódosítsa a csatlakoztatás tulajdonosát
mssql. Ha sikeres, nem kap visszaigazolást.chown mssql /var/opt/mssql/dataMódosítsa a csatolás csoportjának tulajdonjogát
mssql-ra. Ha sikeres, nem kap visszaigazolást.chgrp mssql /var/opt/mssql/dataVáltson a
mssqlfelhasználóra. Ha sikeres, nem kap visszaigazolást.su mssqlMásolja a fájlokat az ideiglenes könyvtárból
/var/opt/mssql/data. Ha sikeres, nem kap visszaigazolást.cp /var/opt/mssql/TempDir/* /var/opt/mssql/dataEllenőrizze, hogy a fájlok ott vannak-e.
ls /var/opt/mssql/dataAdja meg a
exit, hogy ne legyenmssql.Adja meg a
exit, hogy ne legyenroot.Indítsa el az SQL Servert. Ha minden megfelelően lett másolva, és a biztonság megfelelően lett alkalmazva, az SQL Servernek elindult állapotban kell lennie.
sudo systemctl start mssql-server sudo systemctl status mssql-serverÁllítsa le az SQL Servert, és ellenőrizze, hogy leállt-e.
sudo systemctl stop mssql-server sudo systemctl status mssql-server
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 a 14. lépésre.
Váltson szuperfelhasználóra. Ha sikeres, nem kap visszaigazolást.
sudo -iHozzon létre egy mappát, amelyet az SQL Server használ.
mkdir <FolderName><FolderName>a mappa neve. A mappa teljes elérési útvonalát meg kell adni, ha nem található a megfelelő helyen. Az alábbi példa létrehoz egy /var/opt/mssql/userdata nevű mappát.mkdir /var/opt/mssql/userdataCsatlakoztassa az iSCSI logikai kötetet az előző lépésben létrehozott mappába. Ha sikeres, nem kap visszaigazolást.
mount /dev/<VolumeGroupName>/<LogicalVolumeName> <FolderName><VolumeGroupName>a kötetcsoport neve,<LogicalVolumeName>a létrehozott logikai kötet neve,<FolderName>pedig a mappa neve. A példa szintaxisa itt látható.mount /dev/FCIDataVG2/FCIDataLV2 /var/opt/mssql/userdataVáltoztassa meg a
mssqláltal létrehozott mappa tulajdonjogát. Ha sikeres, nem kap visszaigazolást.chown mssql <FolderName><FolderName>a létrehozott mappa neve. Itt egy példa látható.chown mssql /var/opt/mssql/userdataMódosítsa a létrehozott mappa csoportját
mssql-ra. Ha sikeres, nem kap visszaigazolást.chown mssql <FolderName><FolderName>a létrehozott mappa neve. Itt egy példa látható.chown mssql /var/opt/mssql/userdataÍrja be a
exit, hogy többé ne legyen a rendszergazda.A teszteléshez hozzon létre egy adatbázist a mappában. A következő szkript létrehoz egy adatbázist, környezeteket vált rá, ellenőrzi, hogy a fájlok az operációs rendszer szintjén léteznek-e, majd törli az ideiglenes helyet. A szkript futtatásához használhatja az SSMS-t vagy sqlcmd.
DROP DATABASE TestDB; GO CREATE DATABASE TestDB ON (NAME = TestDB_Data, FILENAME = '/var/opt/mssql/userdata/TestDB_Data.mdf') LOG ON (NAME = TestDB_Log, FILENAME = '/var/opt/mssql/userdata/TestDB_Log.ldf'); GO USE TestDB; GOFuttassa a következő parancsot a rendszerhéjban az új adatbázisfájlok megtekintéséhez.
sudo ls /var/opt/mssal/userdataItt a várt kimenet.
lost+found TestDB_Data.mdf TestDB_Log.ldfTörölje az adatbázist a tisztításhoz.
DROP DATABASE TestDB; GOsudo ls /var/opt/mssal/userdataItt a várt kimenet.
lost+foundVálaszd le a megosztást
sudo umount /dev/<VolumeGroupName>/<LogicalVolumeName> <FolderName><VolumeGroupName>a kötetcsoport neve,<LogicalVolumeName>a létrehozott logikai kötet neve,<FolderName>pedig a mappa neve. A példa szintaxisa itt látható.sudo umount /dev/FCIDataVG2/FCIDataLV2 /var/opt/mssql/userdata
Konfigurálja a kiszolgálót, hogy csak a Pacemaker aktiválhassa a kötetcsoportot.
sudo lvmconf --enable-halvm --services -startstopservicesHozza létre a kiszolgálón található kötetcsoportok listáját. Azokat a lemezeket, amelyek nem iSCSI lemezek, a rendszer használja, például az operációs rendszer lemezéhez.
sudo vgsMódosítsa a fájl /etc/lvm/lvm.conf aktiválási konfigurációs szakaszát. Konfigurálja a következő sort:
volume_list = [ <ListOfVGsNotUsedByPacemaker> ]<ListOfVGsNotUsedByPacemaker>a 20. lépés kimenetéből származó, az FCI által nem használt kötetcsoportok listája. Mindegyik idézőjelbe kerül, és vesszővel elválasztva. Itt egy példa látható.A Linux indításakor csatlakoztatja a fájlrendszert. Annak érdekében, hogy csak a Pacemaker csatlakoztathassa az iSCSI-lemezt, újraépítse a fájlrendszer gyökérrendszerképét.
Futtassa a következő parancsot, amely eltarthat néhány pillanatig. Ha sikeres, nem kap vissza üzenetet.
sudo dracut -H -f /boot/initramfs-$(uname -r).img $(uname -r)Indítsa újra a kiszolgálót.
Az FCI-ben részt vevő másik kiszolgálón hajtsa végre az 1–6. lépést. Ez bemutatja az iSCSI-célt az SQL Servernek.
Hozza létre a kiszolgálón található kötetcsoportok listáját. Meg kell jelenítenie a korábban létrehozott kötetcsoportot.
sudo vgsIndítsa el az SQL Servert, és ellenőrizze, hogy elindítható-e ezen a kiszolgálón.
sudo systemctl start mssql-server sudo systemctl status mssql-serverÁllítsa le az SQL Servert, és ellenőrizze, hogy leállt-e.
sudo systemctl stop mssql-server sudo systemctl status mssql-serverIsmételje meg az 1–6. lépést az FCI-ben részt vevő egyéb kiszolgálókon.
Most már készen áll az FCI konfigurálására.