Oktatóanyag: Az SQL Server rendelkezésre állási csoportjainak konfigurálása SLES-alapú virtuális gépeken az Azure-ban
A következőre vonatkozik:SQL Server azure-beli virtuális gépen
Megjegyzés:
Ebben az oktatóanyagban az SQL Server 2022 -t (16.x) su Standard kiadás Linux Enterprise Server (SLES) v15-tel használjuk, de az SQL Server 2019 (15.x) SLES v12 vagy SLES v15 használatával konfigurálható a magas rendelkezésre állás.
Ebben az oktatóanyagban az alábbiakkal fog megismerkedni:
- Új erőforráscsoport, rendelkezésre állási csoport és Linux rendszerű virtuális gépek létrehozása
- Magas rendelkezésre állás engedélyezése (HA)
- Pacemaker-fürt létrehozása
- Kerítésügynök konfigurálása STONITH-eszköz létrehozásával
- AZ SQL Server és az mssql-tools telepítése az SLES-en
- Sql Server Always On rendelkezésre állási csoport konfigurálása
- Rendelkezésre állási csoport (AG) erőforrásainak konfigurálása a Pacemaker-fürtben
- Feladatátvétel és a kerítésügynök tesztelése
Ez az oktatóanyag az Azure CLI használatával helyezi üzembe az erőforrásokat az Azure-ban.
Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.
Előfeltételek
Használja a Bash-környezetet az Azure Cloud Shellben. További információ: A Bash rövid útmutatója az Azure Cloud Shellben.
Ha inkább helyi cli-referenciaparancsokat szeretne futtatni, telepítse az Azure CLI-t. Ha Windows vagy macOS rendszert használ, fontolja meg az Azure CLI Docker-tárolóban való futtatását. További információ: Az Azure CLI futtatása Docker-tárolóban.
Ha helyi telepítést használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. További bejelentkezési lehetőségekért lásd : Bejelentkezés az Azure CLI-vel.
Amikor a rendszer kéri, először telepítse az Azure CLI-bővítményt. További információ a bővítményekről: Bővítmények használata az Azure CLI-vel.
Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.
- Ez a cikk az Azure CLI 2.0.30-s vagy újabb verzióját igényli. Az Azure Cloud Shell használata esetén a legújabb verzió már telepítve van.
Erőforráscsoport létrehozása
Ha több előfizetése van, állítsa be azt az előfizetést, amelybe telepíteni szeretné ezeket az erőforrásokat.
Az alábbi paranccsal hozzon létre egy erőforráscsoportot <resourceGroupName>
egy régióban. Cserélje le <resourceGroupName>
az Ön által választott névre. Ebben az oktatóanyagban a következőt használjuk: East US 2
. További információkért tekintse meg az alábbi rövid útmutatót.
az group create --name <resourceGroupName> --location eastus2
Rendelkezésre állási csoport létrehozása
A következő lépés egy rendelkezésre állási csoport létrehozása. Futtassa a következő parancsot az Azure Cloud Shellben, és cserélje le <resourceGroupName>
az erőforráscsoport nevére. Válasszon nevet a következőnek <availabilitySetName>
: .
az vm availability-set create \
--resource-group <resourceGroupName> \
--name <availabilitySetName> \
--platform-fault-domain-count 2 \
--platform-update-domain-count 2
A parancs befejeződése után a következő eredményeket kell kapnia:
{
"id": "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/availabilitySets/<availabilitySetName>",
"location": "eastus2",
"name": "<availabilitySetName>",
"platformFaultDomainCount": 2,
"platformUpdateDomainCount": 2,
"proximityPlacementGroup": null,
"resourceGroup": "<resourceGroupName>",
"sku": {
"capacity": null,
"name": "Aligned",
"tier": null
},
"statuses": null,
"tags": {},
"type": "Microsoft.Compute/availabilitySets",
"virtualMachines": []
}
Virtuális hálózat és alhálózat létrehozása
Hozzon létre egy elnevezett alhálózatot egy előre hozzárendelt IP-címtartománysal. Cserélje le ezeket az értékeket a következő parancsban:
<resourceGroupName>
<vNetName>
<subnetName>
az network vnet create \ --resource-group <resourceGroupName> \ --name <vNetName> \ --address-prefix 10.1.0.0/16 \ --subnet-name <subnetName> \ --subnet-prefix 10.1.1.0/24
Az előző parancs létrehoz egy virtuális hálózatot és egy egyéni IP-tartományt tartalmazó alhálózatot.
SLES virtuális gépek létrehozása a rendelkezésre állási csoportban
Szerezze be az SLES v15 SP4-et BYOS-sel kínáló virtuálisgép-rendszerképek listáját (hozzon létre saját előfizetést). A SU Standard kiadás Enterprise Linux 15 SP4 + Patching VM (
sles-15-sp4-basic
) is használható.az vm image list --all --offer "sles-15-sp3-byos" # if you want to search the basic offers you could search using the command below az vm image list --all --offer "sles-15-sp3-basic"
A BYOS-rendszerképek keresésekor a következő eredményeknek kell megjelennie:
[ { "offer": "sles-15-sp3-byos", "publisher": "SUSE", "sku": "gen1", "urn": "SUSE:sles-15-sp3-byos:gen1:2022.05.05", "version": "2022.05.05" }, { "offer": "sles-15-sp3-byos", "publisher": "SUSE", "sku": "gen1", "urn": "SUSE:sles-15-sp3-byos:gen1:2022.07.19", "version": "2022.07.19" }, { "offer": "sles-15-sp3-byos", "publisher": "SUSE", "sku": "gen1", "urn": "SUSE:sles-15-sp3-byos:gen1:2022.11.10", "version": "2022.11.10" }, { "offer": "sles-15-sp3-byos", "publisher": "SUSE", "sku": "gen2", "urn": "SUSE:sles-15-sp3-byos:gen2:2022.05.05", "version": "2022.05.05" }, { "offer": "sles-15-sp3-byos", "publisher": "SUSE", "sku": "gen2", "urn": "SUSE:sles-15-sp3-byos:gen2:2022.07.19", "version": "2022.07.19" }, { "offer": "sles-15-sp3-byos", "publisher": "SUSE", "sku": "gen2", "urn": "SUSE:sles-15-sp3-byos:gen2:2022.11.10", "version": "2022.11.10" } ]
Ebben az oktatóanyagban a következőt használjuk:
SUSE:sles-15-sp3-byos:gen1:2022.11.10
.Fontos
A gépneveknek 15 karakternél rövidebbnek kell lenniük a rendelkezésre állási csoport beállításához. A felhasználónevek nem tartalmazhatnak nagybetűket, és a jelszavaknak 12 és 72 karakter közöttinek kell lenniük.
Hozzon létre három virtuális gépet a rendelkezésre állási csoportban. Cserélje le ezeket az értékeket a következő parancsban:
<resourceGroupName>
<VM-basename>
<availabilitySetName>
<VM-Size>
- Ilyen például a "Standard_D16s_v3"<username>
<adminPassword>
<vNetName>
<subnetName>
for i in `seq 1 3`; do az vm create \ --resource-group <resourceGroupName> \ --name <VM-basename>$i \ --availability-set <availabilitySetName> \ --size "<VM-Size>" \ --os-disk-size-gb 128 \ --image "SUSE:sles-15-sp3-byos:gen1:2022.11.10" \ --admin-username "<username>" \ --admin-password "<adminPassword>" \ --authentication-type all \ --generate-ssh-keys \ --vnet-name "<vNetName>" \ --subnet "<subnetName>" \ --public-ip-sku Standard \ --public-ip-address "" done
Az előző parancs a korábban definiált virtuális hálózat használatával hozza létre a virtuális gépeket. A különböző konfigurációkkal kapcsolatos további információkért tekintse meg az az vm create cikket.
A parancs azt a --os-disk-size-gb
paramétert is tartalmazza, amely 128 GB-os egyéni operációsrendszer-meghajtóméretet hoz létre. Ha később növeli ezt a méretet, bontsa ki a megfelelő mappaköteteket a telepítéshez, konfigurálja a Logikai kötetkezelőt (LVM).
Az egyes virtuális gépek parancsának befejeződése után az alábbihoz hasonló eredményeket kell kapnia:
{
"fqdns": "",
"id": "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/sles1",
"location": "westus",
"macAddress": "<Some MAC address>",
"powerState": "VM running",
"privateIpAddress": "<IP1>",
"resourceGroup": "<resourceGroupName>",
"zones": ""
}
A létrehozott virtuális gépekkel való kapcsolat tesztelése
Csatlakozás az egyes virtuális gépekre az alábbi paranccsal az Azure Cloud Shellben. Ha nem találja a virtuálisgép-IP-címeket, kövesse ezt a rövid útmutatót az Azure Cloud Shellben.
ssh <username>@<publicIPAddress>
Ha a kapcsolat sikeres, a következő kimenetnek kell megjelennie, amely a Linux-terminált jelöli:
[<username>@sles1 ~]$
Írja be exit
az SSH-munkamenet elhagyásához.
Regisztráljon az SU Standard kiadásCsatlakozás és telepítse a magas rendelkezésre állású csomagokat
Az oktatóanyag elvégzéséhez a virtuális gépeket regisztrálni kell az SU Standard kiadásCsatlakozás a frissítések és a támogatás fogadásához. Ezután telepítheti a Magas rendelkezésre állású bővítmény modult vagy mintát, amely a HA használatát lehetővé tevő csomagok készlete.
Egyszerűbb egy SSH-munkamenetet egyszerre megnyitni az egyes virtuális gépeken (csomópontokon), mivel a cikkben szereplő összes virtuális gépen ugyanazokat a parancsokat kell futtatni.
Ha több sudo
parancsot másol és illeszt be, és a rendszer jelszót kér, a további parancsok nem futnak. Futtassa az egyes parancsokat külön-külön.
Csatlakozás minden virtuálisgép-csomópontra a következő lépések futtatásához.
A virtuális gép regisztrálása az SU-val Standard kiadásCsatlakozás
A virtuálisgép-csomópont su Standard kiadásCsatlakozás használatával történő regisztrálásához cserélje le ezeket az értékeket az alábbi parancsban az összes csomóponton:
<subscriptionEmailAddress>
<registrationCode>
sudo SUSEConnect
--url=https://scc.suse.com
-e <subscriptionEmailAddress> \
-r <registrationCode>
Magas rendelkezésre állású bővítmény telepítése
A magas rendelkezésre állású bővítmény telepítéséhez futtassa a következő parancsot az összes csomóponton:
sudo SUSEConnect -p sle-ha/15.3/x86_64 -r <registration code for Partner Subscription for High Availability Extension>
Jelszó nélküli SSH-hozzáférés konfigurálása csomópontok között
A jelszó nélküli SSH-hozzáférés lehetővé teszi, hogy a virtuális gépek SSH nyilvános kulcsokkal kommunikáljanak egymással. Minden csomóponton konfigurálnia kell az SSH-kulcsokat, és ezeket a kulcsokat minden csomópontra át kell másolnia.
Új SSH-kulcsok létrehozása
A szükséges SSH-kulcsméret 4096 bit. Minden virtuális gépen váltson a /root/.ssh
mappára, és futtassa a következő parancsot:
ssh-keygen -t rsa -b 4096
Ebben a lépésben előfordulhat, hogy a rendszer egy meglévő SSH-fájl felülírását kéri. El kell fogadnia ezt a kérést. Nem kell jelszót megadnia.
A nyilvános SSH-kulcsok másolása
Minden virtuális gépen át kell másolnia a nyilvános kulcsot az imént létrehozott csomópontról a ssh-copy-id
parancs használatával. Ha meg szeretné adni a célkönyvtárat a cél virtuális gépen, használhatja a paramétert -i
.
Az alábbi parancsban a <username>
fiók lehet ugyanaz a fiók, amely az egyes csomópontokhoz konfigurálva van a virtuális gép létrehozásakor. Használhatja a root
fiókot is, de éles környezetben ez nem ajánlott.
sudo ssh-copy-id <username>@sles1
sudo ssh-copy-id <username>@sles2
sudo ssh-copy-id <username>@sles3
Jelszó nélküli hozzáférés ellenőrzése minden csomópontról
Annak ellenőrzéséhez, hogy az SSH nyilvános kulcsát minden csomópontra másolta-e, használja az ssh
egyes csomópontok parancsát. Ha helyesen másolta a kulcsokat, a rendszer nem kéri a jelszót, és a kapcsolat sikeres lesz.
Ebben a példában a második és a harmadik csomóponthoz csatlakozunk az első virtuális gépről (sles1
). A fiók ismét <username>
ugyanaz lehet, mint a virtuális gép létrehozásakor az egyes csomópontokhoz konfigurált fiók
ssh <username>@sles2
ssh <username>@sles3
Ismételje meg ezt a folyamatot mindhárom csomópontról, hogy az egyes csomópontok jelszavak nélkül kommunikálhassanak a többiekkel.
Névfeloldás konfigurálása
A névfeloldás a DNS használatával vagy az etc/hosts
egyes csomópontokon lévő fájl manuális szerkesztésével konfigurálható.
További információ a DNS-ről és az Active Directoryról: Csatlakozás AZ SQL Serverhez Linux-gazdagépen egy Active Directory-tartományhoz.
Fontos
Javasoljuk, hogy az előző példában használja a magánhálózati IP-címét . Ha ebben a konfigurációban a nyilvános IP-címet használja, a beállítás meghiúsul, és a virtuális gépet külső hálózatoknak teszi elérhetővé.
A példában használt virtuális gépek és IP-címük a következőképpen jelennek meg:
sles1
: 10.0.0.85sles2
: 10.0.0.86sles3
: 10.0.0.87
A fürt konfigurálása
Ebben az oktatóanyagban az első virtuális gép (sles1
) az 1. csomópont, a második virtuális gép (sles2
) a 2. csomópont, a harmadik virtuális gép pedigsles3
a 3. csomópont. A fürt telepítésével kapcsolatos további információkért lásd: Pacemaker beállítása SU Standard kiadás Linux Enterprise Serveren az Azure-ban.
Fürt telepítése
Futtassa a következő parancsot a
ha-cluster-bootstrap
csomag 1. csomóponton való telepítéséhez, majd indítsa újra a csomópontot. Ebben a példában ez asles1
virtuális gép.sudo zypper install ha-cluster-bootstrap
A csomópont újraindítása után futtassa a következő parancsot a fürt üzembe helyezéséhez:
sudo crm cluster init --name sqlcluster
A következő példához hasonló kimenet jelenik meg:
Do you want to continue anyway (y/n)? y Generating SSH key for root The user 'hacluster' will have the login shell configuration changed to /bin/bash Continue (y/n)? y Generating SSH key for hacluster Configuring csync2 Generating csync2 shared key (this may take a while)...done csync2 checking files...done Detected cloud platform: microsoft-azure Configure Corosync (unicast): This will configure the cluster messaging layer. You will need to specify a network address over which to communicate (default is eth0's network, but you can use the network address of any active interface). Address for ring0 [10.0.0.85] Port for ring0 [5405] Configure SBD: If you have shared storage, for example a SAN or iSCSI target, you can use it avoid split-brain scenarios by configuring SBD. This requires a 1 MB partition, accessible to all nodes in the cluster. The device path must be persistent and consistent across all nodes in the cluster, so /dev/disk/by-id/* devices are a good choice. Note that all data on the partition you specify here will be destroyed. Do you wish to use SBD (y/n)? n WARNING: Not configuring SBD - STONITH will be disabled. Hawk cluster interface is now running. To see cluster status, open: https://10.0.0.85:7630/ Log in with username 'hacluster', password 'linux' WARNING: You should change the hacluster password to something more secure! Waiting for cluster..............done Loading initial cluster configuration Configure Administration IP Address: Optionally configure an administration virtual IP address. The purpose of this IP address is to provide a single IP that can be used to interact with the cluster, rather than using the IP address of any specific cluster node. Do you wish to configure a virtual IP address (y/n)? y Virtual IP []10.0.0.89 Configuring virtual IP (10.0.0.89)....done Configure Qdevice/Qnetd: QDevice participates in quorum decisions. With the assistance of a third-party arbitrator Qnetd, it provides votes so that a cluster is able to sustain more node failures than standard quorum rules allow. It is recommended for clusters with an even number of nodes and highly recommended for 2 node clusters. Do you want to configure QDevice (y/n)? n Done (log saved to /var/log/crmsh/ha-cluster-bootstrap.log)
Ellenőrizze a fürt állapotát az 1. csomóponton az alábbi paranccsal:
sudo crm status
A kimenetnek a következő szöveget kell tartalmaznia, ha sikeres volt:
1 node configured 1 resource instance configured
Minden csomóponton módosítsa a jelszót egy biztonságosabb jelszóra
hacluster
az alábbi paranccsal. A felhasználói jelszót is módosítaniaroot
kell:sudo passwd hacluster
sudo passwd root
Futtassa a következő parancsot a 2. és a 3. csomóponton a
crmsh
csomag első telepítéséhez:sudo zypper install crmsh
Most futtassa a parancsot a fürthöz való csatlakozáshoz:
sudo crm cluster join
Íme néhány a várható interakciók közül:
Join This Node to Cluster: You will be asked for the IP address of an existing node, from which configuration will be copied. If you have not already configured passwordless ssh between nodes, you will be prompted for the root password of the existing node. IP address or hostname of existing node (e.g.: 192.168.1.1) []10.0.0.85 Configuring SSH passwordless with root@10.0.0.85 root@10.0.0.85's password: Configuring SSH passwordless with hacluster@10.0.0.85 Configuring csync2...done Merging known_hosts WARNING: scp to sles2 failed (Exited with error code 1, Error output: The authenticity of host 'sles2 (10.1.1.5)' can't be established. ECDSA key fingerprint is SHA256:UI0iyfL5N6X1ZahxntrScxyiamtzsDZ9Ftmeg8rSBFI. Are you sure you want to continue connecting (yes/no/[fingerprint])? lost connection ), known_hosts update may be incomplete Probing for new partitions...done Address for ring0 [10.0.0.86] Hawk cluster interface is now running. To see cluster status, open: https://10.0.0.86:7630/ Log in with username 'hacluster', password 'linux' WARNING: You should change the hacluster password to something more secure! Waiting for cluster.....done Reloading cluster configuration...done Done (log saved to /var/log/crmsh/ha-cluster-bootstrap.log)
Miután csatlakozott az összes géphez a fürthöz, ellenőrizze az erőforrást, hogy az összes virtuális gép online állapotban van-e:
sudo crm status
A következő kimenetnek kell megjelennie:
Stack: corosync Current DC: sles1 (version 2.0.5+20201202.ba59be712-150300.4.30.3-2.0.5+20201202.ba59be712) - partition with quorum Last updated: Mon Mar 6 18:01:17 2023 Last change: Mon Mar 6 17:10:09 2023 by root via cibadmin on sles1 3 nodes configured 1 resource instance configured Online: [ sles1 sles2 sles3 ] Full list of resources: admin-ip (ocf::heartbeat:IPaddr2): Started sles1
Telepítse a fürterőforrás-összetevőt. Futtassa az alábbi parancsot az összes csomóponton.
sudo zypper in socat
Telepítse az összetevőt
azure-lb
. Futtassa az alábbi parancsot az összes csomóponton.sudo zypper in resource-agents
Konfigurálja az operációs rendszert. Hajtsa végre az alábbi lépéseket az összes csomóponton.
A konfigurációs fájl szerkesztése:
sudo vi /etc/systemd/system.conf
Módosítsa az értéket a
DefaultTasksMax
következőre4096
:#DefaultTasksMax=512 DefaultTasksMax=4096
Mentse és lépjen ki a vi szerkesztőből .
A beállítás aktiválásához futtassa a következő parancsot:
sudo systemctl daemon-reload
Ellenőrizze, hogy a módosítás sikeres volt-e:
sudo systemctl --no-pager show | grep DefaultTasksMax
Csökkentse a piszkos gyorsítótár méretét. Hajtsa végre az alábbi lépéseket az összes csomóponton.
A rendszervezérlő konfigurációs fájljának szerkesztése:
sudo vi /etc/sysctl.conf
Adja hozzá a következő két sort a fájlhoz:
vm.dirty_bytes = 629145600 vm.dirty_background_bytes = 314572800
Mentse és lépjen ki a vi szerkesztőből .
Telepítse az Azure Python SDK-t az összes csomópontra a következő parancsokkal:
sudo zypper install fence-agents # Install the Azure Python SDK on SLES 15 or later: # You might need to activate the public cloud extension first. In this example, the SUSEConnect command is for SLES 15 SP1 SUSEConnect -p sle-module-public-cloud/15.1/x86_64 sudo zypper install python3-azure-mgmt-compute sudo zypper install python3-azure-identity
Kerítésügynök konfigurálása
A STONITH-eszközök egy kerítésügynököt biztosítanak. Az oktatóanyaghoz az alábbi utasítások módosulnak. További információ: Create an Azure fence agent STONITH device.
Ellenőrizze az Azure kerítésügynök verzióját, hogy biztosan frissüljön. Használja az alábbi parancsot:
sudo zypper info resource-agents
Az alábbi példához hasonló kimenetnek kell megjelennie.
Information for package resource-agents:
----------------------------------------
Repository : SLE-Product-HA15-SP3-Updates
Name : resource-agents
Version : 4.8.0+git30.d0077df0-150300.8.37.1
Arch : x86_64
Vendor : SUSE LLC <https://www.suse.com/>
Support Level : Level 3
Installed Size : 2.5 MiB
Installed : Yes (automatically)
Status : up-to-date
Source package : resource-agents-4.8.0+git30.d0077df0-150300.8.37.1.src
Upstream URL : http://linux-ha.org/
Summary : HA Reusable Cluster Resource Scripts
Description : A set of scripts to interface with several services
to operate in a High Availability environment for both
Pacemaker and rgmanager service managers.
Új alkalmazás regisztrálása a Microsoft Entra-azonosítóban
Ha új alkalmazást szeretne regisztrálni a Microsoft Entra ID-ban (korábbi nevén Azure Active Directory), kövesse az alábbi lépéseket:
- Odamegy https://portal.azure.com.
- Nyissa meg a Microsoft Entra ID Properties panelt , és írja le a
Tenant ID
. - Select App registrations.
- Új regisztráció kiválasztása.
- Adjon meg egy nevet , például
<resourceGroupName>-app
. A támogatott fióktípusok esetében válassza a Csak ebben a szervezeti címtárban található Fiókok lehetőséget (csak Microsoft – Egyetlen bérlő). - Válassza a Web for Redirect URI lehetőséget, és adjon meg egy URL-címet (például, http://localhost) és válassza a Hozzáadás lehetőséget. A bejelentkezési URL-cím bármilyen érvényes URL-cím lehet. Miután elkészült, válassza a Regisztráció lehetőséget.
- Válassza az új alkalmazásregisztráció tanúsítványait és titkos kulcsait , majd válassza az Új ügyfélkód lehetőséget.
- Írja be az új kulcs (titkos ügyfélkulcs) leírását, majd válassza a Hozzáadás lehetőséget.
- Írja le a titkos kód értékét. Ez a szolgáltatásnév jelszava.
- Válassza az Áttekintés lehetőséget. Írja le az alkalmazásazonosítót. A rendszer a szolgáltatásnév felhasználóneveként (az alábbi lépésekben szereplő bejelentkezési azonosítóként) használja.
Egyéni szerepkör létrehozása a kerítésügynökhöz
Kövesse az oktatóanyagot egy Egyéni Azure-szerepkör Azure CLI-vel való létrehozásához.
A JSON-fájlnak az alábbi példához hasonlóan kell kinéznie.
- Cserélje le
<username>
a kívánt névre. Ez a szerepkördefiníció létrehozásakor elkerüli a duplikációt. - Cserélje le
<subscriptionId>
az Azure-előfizetés azonosítóját.
{
"Name": "Linux Fence Agent Role-<username>",
"Id": null,
"IsCustom": true,
"Description": "Allows to power-off and start virtual machines",
"Actions": [
"Microsoft.Compute/*/read",
"Microsoft.Compute/virtualMachines/powerOff/action",
"Microsoft.Compute/virtualMachines/start/action"
],
"NotActions": [
],
"AssignableScopes": [
"/subscriptions/<subscriptionId>"
]
}
A szerepkör hozzáadásához futtassa a következő parancsot:
- Cserélje le
<filename>
a fájl nevére. - Ha a parancsot a fájl által mentett mappától eltérő elérési útról hajtja végre, adja meg a fájl elérési útját a parancsban.
az role definition create --role-definition "<filename>.json"
A következő kimenetnek kell megjelennie:
{
"assignableScopes": [
"/subscriptions/<subscriptionId>"
],
"description": "Allows to power-off and start virtual machines",
"id": "/subscriptions/<subscriptionId>/providers/Microsoft.Authorization/roleDefinitions/<roleNameId>",
"name": "<roleNameId>",
"permissions": [
{
"actions": [
"Microsoft.Compute/*/read",
"Microsoft.Compute/virtualMachines/powerOff/action",
"Microsoft.Compute/virtualMachines/start/action"
],
"dataActions": [],
"notActions": [],
"notDataActions": []
}
],
"roleName": "Linux Fence Agent Role-<username>",
"roleType": "CustomRole",
"type": "Microsoft.Authorization/roleDefinitions"
}
Az egyéni szerepkör hozzárendelése a szolgáltatásnévhez
Rendelje hozzá az utolsó lépésben létrehozott egyéni szerepkört Linux Fence Agent Role-<username>
a szolgáltatásnévhez. Ismételje meg ezeket a lépéseket az összes csomópont esetében.
Figyelmeztetés
Innentől kezdve ne használja a Tulajdonos szerepkört.
- Go to https://portal.azure.com
- A Minden erőforrás panel megnyitása
- Válassza ki az első fürtcsomópont virtuális gépét
- Válassza a Hozzáférés-vezérlés (IAM) lehetőséget.
- Válassza a Szerepkör-hozzárendelések hozzáadása lehetőséget
- Válassza ki a szerepkört
Linux Fence Agent Role-<username>
a szerepkörök listájából - Hagyja meg a hozzáférés hozzárendelését alapértelmezettként
Users, group, or service principal
. - A Kiválasztás listában adja meg például a korábban
<resourceGroupName>-app
létrehozott alkalmazás nevét. - Válassza a Mentés parancsot.
A STONITH-eszközök létrehozása
Futtassa a következő parancsokat az 1. csomóponton:
- Cserélje le az
<ApplicationID>
alkalmazásregisztráció azonosítóértékére. - Cserélje le az
<servicePrincipalPassword>
ügyfél titkos kódjának értékét. - Cserélje le az
<resourceGroupName>
oktatóanyaghoz használt előfizetés erőforráscsoportját. - Cserélje le az
<tenantID>
Azure-előfizetését és az<subscriptionId>
abból származót.
- Cserélje le az
Futtassa
crm configure
a crm-parancssor megnyitásához:sudo crm configure
A crm parancssorban futtassa a következő parancsot az erőforrás tulajdonságainak konfigurálásához, amely létrehozza az erőforrást
rsc_st_azure
az alábbi példában látható módon:primitive rsc_st_azure stonith:fence_azure_arm params subscriptionId="subscriptionID" resourceGroup="ResourceGroup_Name" tenantId="TenantID" login="ApplicationID" passwd="servicePrincipalPassword" pcmk_monitor_retries=4 pcmk_action_limit=3 power_timeout=240 pcmk_reboot_timeout=900 pcmk_host_map="sles1:sles1;sles2:sles2;sles3:sles3" op monitor interval=3600 timeout=120 commit quit
Futtassa a következő parancsokat a kerítésügynök konfigurálásához:
sudo crm configure property stonith-timeout=900 sudo crm configure property stonith-enabled=true sudo crm configure property concurrent-fencing=true
Ellenőrizze a fürt állapotát, hogy a STONITH engedélyezve van-e:
sudo crm status
A következő szöveghez hasonló kimenetnek kell megjelennie:
Stack: corosync Current DC: sles1 (version 2.0.5+20201202.ba59be712-150300.4.30.3-2.0.5+20201202.ba59be712) - partition with quorum Last updated: Mon Mar 6 18:20:17 2023 Last change: Mon Mar 6 18:10:09 2023 by root via cibadmin on sles1 3 nodes configured 2 resource instances configured Online: [ sles1 sles2 sles3 ] Full list of resources: admin-ip (ocf::heartbeat:IPaddr2): Started sles1 rsc_st_azure (stonith:fence_azure_arm): Started sles2
Az SQL Server és az mssql-tools telepítése
Az alábbi szakaszban telepítheti az SQL Servert és az mssql-toolst. További információ: SQL Server telepítése SU Standard kiadás Linux Enterprise Serveren.
Hajtsa végre ezeket a lépéseket a szakasz összes csomópontján .
Az SQL Server telepítése a virtuális gépekre
Az SQL Server telepítéséhez a következő parancsok használhatók:
Töltse le a Microsoft SQL Server 2019 SLES-adattár konfigurációs fájlját:
sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/15/mssql-server-2022.repo
Frissítse az adattárakat.
sudo zypper --gpg-auto-import-keys refresh
Annak érdekében, hogy a Microsoft csomagaláíró kulcs telepítve legyen a rendszeren, a következő paranccsal importálja a kulcsot:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
Futtassa a következő parancsokat az SQL Server telepítéséhez:
sudo zypper install -y mssql-server
Miután a csomag telepítése befejeződött, futtassa
mssql-conf setup
és kövesse az utasításokat az SA jelszavának beállításához, és válassza ki a kiadást.sudo /opt/mssql/bin/mssql-conf setup
Megjegyzés:
Győződjön meg arról, hogy erős jelszót ad meg az SA-fiókhoz (legalább 8 karakter hosszú, beleértve a nagybetűket és kisbetűket, az alap 10 számjegyet és/vagy a nem alfanumerikus szimbólumokat).
A konfiguráció befejezése után ellenőrizze, hogy a szolgáltatás fut-e:
systemctl status mssql-server
AZ SQL Server parancssori eszközeinek telepítése
Az alábbi lépésekben telepítse az SQL Server parancssori eszközeit, nevezetesen az sqlcmd és a bcp eszközt.
Adja hozzá a Microsoft SQL Server-adattárat a Zypperhez.
sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/15/prod.repo
Frissítse az adattárakat.
sudo zypper --gpg-auto-import-keys refresh
Telepítse az mssql-toolst a
unixODBC
fejlesztői csomaggal. További információ: Az SQL Serverhez (Linux) készült Microsoft ODBC-illesztőprogram telepítése.sudo zypper install -y mssql-tools unixODBC-devel
A kényelem érdekében hozzáadhatja /opt/mssql-tools/bin/
a környezeti változót PATH
. Ez lehetővé teszi az eszközök futtatását a teljes elérési út megadása nélkül. A következő parancsok futtatásával módosítsa a PATH értékeit a bejelentkezési munkamenetek és az interaktív/nem bejelentkezési munkamenetekre vonatkozóan egyaránt:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
Az SQL Server magas rendelkezésre állású ügynökének telepítése
Futtassa az alábbi parancsot az összes csomóponton az SQL Server magas rendelkezésre állású ügynökcsomagjának telepítéséhez:
sudo zypper install mssql-server-ha
Portok megnyitása magas rendelkezésre állású szolgáltatásokhoz
Az SQL Server és a HA-szolgáltatások összes csomópontján megnyithatja a következő tűzfalportokat: 1433, 2224, 3121, 5022, 5405, 21064.
sudo firewall-cmd --zone=public --add-port=1433/tcp --add-port=2224/tcp --add-port=3121/tcp --add-port=5022/tcp --add-port=5405/tcp --add-port=21064 --permanent sudo firewall-cmd --reload
Rendelkezésre állási csoport konfigurálása
Az alábbi lépésekkel konfigurálhat egy SQL Server Always On rendelkezésre állási csoportot a virtuális gépekhez. További információ: Sql Server Always On rendelkezésre állási csoportok konfigurálása magas rendelkezésre álláshoz Linuxon
Rendelkezésre állási csoportok engedélyezése és az SQL Server újraindítása
Engedélyezze a rendelkezésre állási csoportokat minden olyan csomóponton, amely SQL Server-példányt üzemeltet. Ezután indítsa újra a mssql-server
szolgáltatást. Futtassa az alábbi parancsokat minden csomóponton:
sudo /opt/mssql/bin/mssql-conf set hadr.hadrenabled 1
sudo systemctl restart mssql-server
Tanúsítvány létrehozása
A Microsoft nem támogatja az Active Directory-hitelesítést az AG-végponton. Ezért az AG-végpont titkosításához tanúsítványt kell használnia.
Csatlakozás az összes csomóponthoz az SQL Server Management Studio (SSMS) vagy az sqlcmd használatával. Futtassa a következő parancsokat egy AlwaysOn_health munkamenet engedélyezéséhez és egy főkulcs létrehozásához:
Fontos
Ha távolról csatlakozik az SQL Server-példányhoz, meg kell nyitnia az 1433-at a tűzfalon. Emellett engedélyeznie kell a bejövő kapcsolatokat az 1433-at az NSG-ben minden egyes virtuális géphez. További információ: Biztonsági szabály létrehozása bejövő biztonsági szabály létrehozásához.
- Cserélje le a
<MasterKeyPassword>
jelszót a saját jelszavára.
ALTER EVENT SESSION AlwaysOn_health ON SERVER WITH (STARTUP_STATE = ON); GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<MasterKeyPassword>'; GO
- Cserélje le a
Csatlakozás az elsődleges replikához SSMS vagy sqlcmd használatával. Az alábbi parancsok létrehoznak egy tanúsítványt
/var/opt/mssql/data/dbm_certificate.cer
és egy titkos kulcsotvar/opt/mssql/data/dbm_certificate.pvk
az elsődleges SQL Server-replikán:- Cserélje le a
<PrivateKeyPassword>
jelszót a saját jelszavára.
CREATE CERTIFICATE dbm_certificate WITH SUBJECT = 'dbm'; GO BACKUP CERTIFICATE dbm_certificate TO FILE = '/var/opt/mssql/data/dbm_certificate.cer' WITH PRIVATE KEY ( FILE = '/var/opt/mssql/data/dbm_certificate.pvk', ENCRYPTION BY PASSWORD = '<PrivateKeyPassword>' ); GO
- Cserélje le a
A parancs futtatásával lépjen ki az exit
sqlcmd munkamenetből, és térjen vissza az SSH-munkamenethez.
Másolja a tanúsítványt a másodlagos replikákra, és hozza létre a tanúsítványokat a kiszolgálón
Másolja a két létrehozott fájlt ugyanarra a helyre az összes olyan kiszolgálón, amely rendelkezésre állási replikákat fog üzemeltetni.
Az elsődleges kiszolgálón futtassa a következő
scp
parancsot a tanúsítvány célkiszolgálókra másolásához:- Cserélje le és
sles2
írja be<username>
a használt felhasználónevet és cél virtuális gép nevét. - Futtassa ezt a parancsot az összes másodlagos replikához.
Megjegyzés:
Nem kell futtatnia
sudo -i
, ami megadja a gyökérkörnyezetet. A parancsot azsudo
egyes parancsok előtt futtathatja.# The below command allows you to run commands in the root environment sudo -i
scp /var/opt/mssql/data/dbm_certificate.* <username>@sles2:/home/<username>
- Cserélje le és
Futtassa a következő parancsot a célkiszolgálón:
- Cserélje le
<username>
a felhasználónevet. - A
mv
parancs áthelyezi a fájlokat vagy könyvtárat egyik helyről a másikra. - A
chown
parancs a fájlok, könyvtárak vagy hivatkozások tulajdonosának és csoportjának módosítására szolgál. - Futtassa ezeket a parancsokat az összes másodlagos replikához.
sudo -i mv /home/<username>/dbm_certificate.* /var/opt/mssql/data/ cd /var/opt/mssql/data chown mssql:mssql dbm_certificate.*
- Cserélje le
Az alábbi Transact-SQL-szkript létrehoz egy tanúsítványt az elsődleges SQL Server-replikán létrehozott biztonsági másolatból. Frissítse a szkriptet erős jelszavakkal. A visszafejtési jelszó ugyanaz a jelszó, amelyet az előző lépésben a .pvk fájl létrehozásához használt. A tanúsítvány létrehozásához futtassa a következő szkriptet az sqlcmd vagy az SSMS használatával az összes másodlagos kiszolgálón:
CREATE CERTIFICATE dbm_certificate FROM FILE = '/var/opt/mssql/data/dbm_certificate.cer' WITH PRIVATE KEY ( FILE = '/var/opt/mssql/data/dbm_certificate.pvk', DECRYPTION BY PASSWORD = '<PrivateKeyPassword>' ); GO
Az adatbázis tükrözési végpontjának létrehozása az összes replikán
Futtassa a következő szkriptet minden SQL Server-példányon sqlcmd vagy SSMS használatával:
CREATE ENDPOINT [Hadr_endpoint]
AS TCP (LISTENER_PORT = 5022)
FOR DATABASE_MIRRORING (
ROLE = ALL,
AUTHENTICATION = CERTIFICATE dbm_certificate,
ENCRYPTION = REQUIRED ALGORITHM AES
);
GO
ALTER ENDPOINT [Hadr_endpoint] STATE = STARTED;
GO
A rendelkezésre állási csoport létrehozása
Csatlakozás az elsődleges replikát sqlcmd vagy SSMS használatával üzemeltető SQL Server-példányra. Futtassa a következő parancsot a rendelkezésre állási csoport létrehozásához:
- Cserélje le
ag1
a kívánt AG-névre. - Cserélje le a
sles1
,sles2
éssles3
az értékeket a replikákat üzemeltető SQL Server-példányok nevére.
CREATE AVAILABILITY
GROUP [ag1]
WITH (
DB_FAILOVER = ON,
CLUSTER_TYPE = EXTERNAL
)
FOR REPLICA
ON N'sles1'
WITH (
ENDPOINT_URL = N'tcp://sles1:5022',
AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
FAILOVER_MODE = EXTERNAL,
SEEDING_MODE = AUTOMATIC
),
N'sles2'
WITH (
ENDPOINT_URL = N'tcp://sles2:5022',
AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
FAILOVER_MODE = EXTERNAL,
SEEDING_MODE = AUTOMATIC
),
N'sles3'
WITH (
ENDPOINT_URL = N'tcp://sles3:5022',
AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
FAILOVER_MODE = EXTERNAL,
SEEDING_MODE = AUTOMATIC
);
GO
ALTER AVAILABILITY GROUP [ag1]
GRANT CREATE ANY DATABASE;
GO
SQL Server-bejelentkezés létrehozása a Pacemakerhez
Minden SQL Server-példányon hozzon létre egy SQL Server-bejelentkezést a Pacemakerhez. Az alábbi Transact-SQL létrehoz egy bejelentkezést.
- Cserélje le
<password>
saját összetett jelszavára.
USE [master]
GO
CREATE LOGIN [pacemakerLogin]
WITH PASSWORD = N'<password>';
GO
ALTER SERVER ROLE [sysadmin]
ADD MEMBER [pacemakerLogin];
GO
Minden SQL Server-példányon mentse az SQL Server-bejelentkezéshez használt hitelesítő adatokat.
Hozza létre a fájlt:
sudo vi /var/opt/mssql/secrets/passwd
Adja hozzá a következő két sort a fájlhoz:
pacemakerLogin <password>
A vi szerkesztőből való kilépéshez először nyomja le az Esc billentyűt, majd írja be a parancsot
:wq
a fájl megírásához és a kilépéshez.A fájl csak a gyökér alapján legyen olvasható:
sudo chown root:root /var/opt/mssql/secrets/passwd sudo chmod 400 /var/opt/mssql/secrets/passwd
Másodlagos replikák csatlakoztatása a rendelkezésre állási csoporthoz
A másodlagos replikákon futtassa a következő parancsokat az AG-hez való csatlakozáshoz:
ALTER AVAILABILITY GROUP [ag1] JOIN WITH (CLUSTER_TYPE = EXTERNAL); GO ALTER AVAILABILITY GROUP [ag1] GRANT CREATE ANY DATABASE; GO
Futtassa a következő Transact-SQL-szkriptet az elsődleges replikán és minden másodlagos replikán:
GRANT ALTER, CONTROL, VIEW DEFINITION ON AVAILABILITY GROUP::ag1 TO pacemakerLogin; GO GRANT VIEW SERVER STATE TO pacemakerLogin; GO
A másodlagos replikák csatlakoztatása után az Always On High Availability csomópont kibontásával láthatja őket az SSMS Object Explorerben:
Adatbázis hozzáadása a rendelkezésre állási csoporthoz
Ez a szakasz az adatbázis rendelkezésre állási csoporthoz való hozzáadásáról szóló cikket követi.
Ebben a lépésben a következő Transact-SQL-parancsokat használja a rendszer. Futtassa az alábbi parancsokat az elsődleges replikán:
CREATE DATABASE [db1]; -- creates a database named db1
GO
ALTER DATABASE [db1] SET RECOVERY FULL; -- set the database in full recovery model
GO
BACKUP DATABASE [db1] -- backs up the database to disk
TO DISK = N'/var/opt/mssql/data/db1.bak';
GO
ALTER AVAILABILITY GROUP [ag1] ADD DATABASE [db1]; -- adds the database db1 to the AG
GO
Ellenőrizze, hogy az adatbázis a másodlagos kiszolgálókon van-e létrehozva
Minden másodlagos SQL Server-replikán futtassa a következő lekérdezést annak megtekintéséhez, hogy a db1 adatbázis létrejött-e, és SZINKRONIZÁLT állapotban van-e:
SELECT * FROM sys.databases
WHERE name = 'db1';
GO
SELECT DB_NAME(database_id) AS 'database',
synchronization_state_desc
FROM sys.dm_hadr_database_replica_states;
GO
Ha a synchronization_state_desc
listák szinkronizálva db1
vannak, az azt jelenti, hogy a replikák szinkronizálva vannak. A másodpéldányok az elsődleges replikában jelennek meg db1
.
Rendelkezésre állási csoport erőforrásainak létrehozása a Pacemaker-fürtben
Megjegyzés:
Torzításmentes kommunikáció
Ez a cikk a rabszolga kifejezésre mutató hivatkozásokat tartalmaz, amely a Microsoft által sértőnek ítélt kifejezés, ha ebben a kontextusban használják. A kifejezés azért jelenik meg ebben a cikkben, mert jelenleg a szoftverben jelenik meg. Ha a kifejezés el lesz távolítva a szoftverből, eltávolítjuk a cikkből.
Ez a cikk az útmutatóra hivatkozik a rendelkezésre állási csoport erőforrásainak pacemaker-fürtökben való létrehozásához.
Pacemaker engedélyezése
Engedélyezze a Pacemakert, hogy automatikusan elindulhasson.
Futtassa a következő parancsot a fürt összes csomópontján .
sudo systemctl enable pacemaker
Az AG-fürterőforrás létrehozása
Futtassa
crm configure
a crm-parancssor megnyitásához:sudo crm configure
A crm-parancssorban futtassa az alábbi parancsot az erőforrás tulajdonságainak konfigurálásához. Az alábbi parancsok létrehozzák az erőforrást
ag_cluster
a rendelkezésre állási csoportbanag1
.primitive ag_cluster ocf:mssql:ag params ag_name="ag1" meta failure-timeout=60s op start timeout=60s op stop timeout=60s op promote timeout=60s op demote timeout=10s op monitor timeout=60s interval=10s op monitor timeout=60s interval=11s role="Master" op monitor timeout=60s interval=12s role="Slave" op notify timeout=60s ms ms-ag_cluster ag_cluster meta master-max="1" master-node-max="1" clone-max="3" clone-node-max="1" notify="true" commit quit
Tipp.
Írja be
quit
a crm-parancssorból való kilépéshez.Állítsa be a virtuális IP-cím társhelyre vonatkozó korlátozását, hogy az ugyanazon a csomóponton fusson, mint az elsődleges csomópont:
sudo crm configure colocation vip_on_master inf: admin-ip ms-ag_cluster: Master commit quit
Adja hozzá a rendelési kényszert, hogy megakadályozza, hogy az IP-cím ideiglenesen a csomópontra mutasson a feladatátvétel előtti másodlagossal. A rendezési kényszer létrehozásához futtassa a következő parancsot:
sudo crm configure order ag_first inf: ms-ag_cluster:promote admin-ip:start commit quit
Ellenőrizze a fürt állapotát a következő paranccsal:
sudo crm status
A kimenetnek az alábbi példához hasonlónak kell lennie:
Cluster Summary: * Stack: corosync * Current DC: sles1 (version 2.0.5+20201202.ba59be712-150300.4.30.3-2.0.5+20201202.ba59be712) - partition with quorum * Last updated: Mon Mar 6 18:38:17 2023 * Last change: Mon Mar 6 18:38:09 2023 by root via cibadmin on sles1 * 3 nodes configured * 5 resource instances configured Node List: * Online: [ sles1 sles2 sles3 ] Full List of Resources: * admin-ip (ocf::heartbeat:IPaddr2): Started sles1 * rsc_st_azure (stonith:fence_azure_arm): Started sles2 * Clone Set: ms-ag_cluster [ag_cluster] (promotable): * Masters: [ sles1 ] * Slaves: [ sles2 sles3 ]
Futtassa a következő parancsot a korlátozások áttekintéséhez:
sudo crm configure show
A kimenetnek az alábbi példához hasonlónak kell lennie:
node 1: sles1 node 2: sles2 node 3: sles3 primitive admin-ip IPaddr2 \ params ip=10.0.0.93 \ op monitor interval=10 timeout=20 primitive ag_cluster ocf:mssql:ag \ params ag_name=ag1 \ meta failure-timeout=60s \ op start timeout=60s interval=0 \ op stop timeout=60s interval=0 \ op promote timeout=60s interval=0 \ op demote timeout=10s interval=0 \ op monitor timeout=60s interval=10s \ op monitor timeout=60s interval=11s role=Master \ op monitor timeout=60s interval=12s role=Slave \ op notify timeout=60s interval=0 primitive rsc_st_azure stonith:fence_azure_arm \ params subscriptionId=xxxxxxx resourceGroup=amvindomain tenantId=xxxxxxx login=xxxxxxx passwd="******" cmk_monitor_retries=4 pcmk_action_limit=3 power_timeout=240 pcmk_reboot_timeout=900 pcmk_host_map="sles1:sles1;les2:sles2;sles3:sles3" \ op monitor interval=3600 timeout=120 ms ms-ag_cluster ag_cluster \ meta master-max=1 master-node-max=1 clone-max=3 clone-node-max=1 notify=true order ag_first Mandatory: ms-ag_cluster:promote admin-ip:start colocation vip_on_master inf: admin-ip ms-ag_cluster:Master property cib-bootstrap-options: \ have-watchdog=false \ dc-version="2.0.5+20201202.ba59be712-150300.4.30.3-2.0.5+20201202.ba59be712" \ cluster-infrastructure=corosync \ cluster-name=sqlcluster \ stonith-enabled=true \ concurrent-fencing=true \ stonith-timeout=900 rsc_defaults rsc-options: \ resource-stickiness=1 \ migration-threshold=3 op_defaults op-options: \ timeout=600 \ record-pending=true
Feladatátvétel tesztelése
A konfiguráció eddigi sikerességének biztosításához tesztelje a feladatátvételt. További információ: Always On rendelkezésre állási csoport feladatátvétele Linux rendszeren.
Futtassa a következő parancsot az elsődleges replika manuális feladatátvételéhez
sles2
. Cserélje lesles2
a kiszolgálónév értékére.sudo crm resource move ag_cluster sles2
A kimenetnek az alábbi példához hasonlónak kell lennie:
INFO: Move constraint created for ms-ag_cluster to sles2 INFO: Use `crm resource clear ms-ag_cluster` to remove this constraint
Ellenőrizze a fürt állapotát:
sudo crm status
A kimenetnek az alábbi példához hasonlónak kell lennie:
Cluster Summary: * Stack: corosync * Current DC: sles1 (version 2.0.5+20201202.ba59be712-150300.4.30.3-2.0.5+20201202.ba59be712) - partition with quorum * Last updated: Mon Mar 6 18:40:02 2023 * Last change: Mon Mar 6 18:39:53 2023 by root via crm_resource on sles1 * 3 nodes configured * 5 resource instances configured Node List: * Online: [ sles1 sles2 sles3 ] Full List of Resources: * admin-ip (ocf::heartbeat:IPaddr2): Stopped * rsc_st_azure (stonith:fence_azure_arm): Started sles2 * Clone Set: ms-ag_cluster [ag_cluster] (promotable): * Slaves: [ sles1 sles2 sles3 ]
Egy idő után a
sles2
virtuális gép lesz az elsődleges, a másik két virtuális gép pedig másodfokú. Futtassasudo crm status
újra, és tekintse át a kimenetet, amely az alábbi példához hasonló:Cluster Summary: * Stack: corosync * Current DC: sles1 (version 2.0.5+20201202.ba59be712-150300.4.30.3-2.0.5+20201202.ba59be712) - partition with quorum * Last updated: Tue Mar 6 22:00:44 2023 * Last change: Mon Mar 6 18:42:59 2023 by root via cibadmin on sles1 * 3 nodes configured * 5 resource instances configured Node List: * Online: [ sles1 sles2 sles3 ] Full List of Resources: * admin-ip (ocf::heartbeat:IPaddr2): Started sles2 * rsc_st_azure (stonith:fence_azure_arm): Started sles2 * Clone Set: ms-ag_cluster [ag_cluster] (promotable): * Masters: [ sles2 ] * Slaves: [ sles1 sles3 ]
Ellenőrizze újra a korlátozásokat a következő használatával
crm config show
: . Figyelje meg, hogy a manuális feladatátvétel miatt egy másik korlátozás lett hozzáadva.Távolítsa el a kényszert azonosítóval
cli-prefer-ag_cluster
a következő paranccsal:crm configure delete cli-prefer-ms-ag_cluster commit
Kerítés tesztelése
A STONITH teszteléséhez futtassa a következő parancsot. Próbálja meg futtatni az alábbi parancsot a következőhöz sles1
sles3
: .
sudo crm node fence sles3
Következő lépés
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: