PowerFlex: MVM-puhdistus ja tilan kunnostus
Oversigt: Tässä artikkelissa kerrotaan, miten voit vapauttaa tilaa hallinnan virtuaalikoneessa (MVM).
Instruktioner
MVM-tilannevedoksia voidaan ottaa MVM:ien ollessa käynnissä. Käytä näitä vaiheita kaikille kolmelle MVM: lle
- Kirjaudu vCenteriin
- Suorita jokaiselle MVM: lle seuraavat vaiheet
- Napsauta MVM --> Napsauta Snapshots --> Napsauta OTA TILANNEVEDOS....

- Valitse CREATE
Puhdistus Vanhentunut docker-rekisterin PVC:t
Vaiheet
-
Seuraavassa komennossa luetellaan docker-registry-podit ja podia suorittava MVM.
delladmin@pfmpn2:/opt/platform-provisioner> kubectl get pods -n powerflex -o wide | grep docker | grep -v sync docker-registry-0 1/1 Running 0 16h 192.168.21.154 pfmpn3 <none> <none> docker-registry-1 1/1 Running 0 16h 192.168.23.40 pfmpn2 <none> <none>
-
Kun tarkastelet docker-rekisterin määritettyjen Persistent Volume Claims -tietojen tulosta, aktiivisten PVC:iden PVC-tunnukset näkyvät luettelossa. PVC-tiedot tallennetaan
/opt/platform-provisioner/.Esimerkki:
delladmin@pfmpn2:~> kubectl get pvc -n powerflex | grep docker docker-registry-data-docker-registry-0 Bound pvc-648ed95b-0393-4c6d-b500-03a4b162dda5 20Gi RWO local-path 46h docker-registry-data-docker-registry-1 Bound pvc-0f689062-a700-48ad-8d10-65b985477e1a 20Gi RWO local-path 19d
-
Kun edellä olevaa hakemistotulosta tarkastellaan, docker-registry-1:lle on kaksi hakemistoa. Docker registry 1:n nykyinen PVC-tunnus on pvc-0f689062-a700-48ad-8d10-65b985477e1a. Koska docker-registry-1: lle on lueteltu kaksi hakemistoa.
-
On yksi vanhentunut hakemisto, joka voidaan poistaa tilan vapauttamiseksi. Niitä voi olla paljon enemmän riippuen siitä, kuinka monta vanhentunutta hakemistoa jäi ajan myötä.
delladmin@pfmpn2:~> ls -al /opt/platform-provisioner/ | grep docker drwxrwxrwx 1 root root 12 Jul 22 15:47 pvc-0f689062-a700-48ad-8d10-65b985477e1a_powerflex_docker-registry-data-docker-registry-1 drwxrwxrwx 1 root root 12 May 17 00:44 pvc-8a5f3651-dbd5-40a9-8252-51fd18539fc3_powerflex_docker-registry-data-docker-registry-1
-
Vanhentunut hakemisto kuluttaa 60 Gt, ja tämä hakemisto voidaan poistaa. Vanhentunut PVC-tunnus on "pvc-8a5f3651-dbd5-40a9-8252-51fd18539fc3"
Ennen vanhentuneen hakemiston uudelleenjärjestämistä käytetty tila
delladmin@pfmpn2:~> df -h /dev/sda2 Filesystem Size Used Avail Use% Mounted on /dev/sda2 600G 273G 326G 46% /
Esimerkki:
Vanhentunut hakemisto vie 60 Gt levytilaa.delladmin@pfmpn2:~> du -h --max-depth=1 /opt/platform-provisioner/pvc-8a5f3651-dbd5-40a9-8252-51fd18539fc3_powerflex_docker-registry-data-docker-registry-1 60G /opt/platform-provisioner/pvc-8a5f3651-dbd5-40a9-8252-51fd18539fc3_powerflex_docker-registry-data-docker-registry-1/docker 60G /opt/platform-provisioner/pvc-8a5f3651-dbd5-40a9-8252-51fd18539fc3_powerflex_docker-registry-data-docker-registry-1
-
Vanhentuneen docker-registry-hakemiston poistaminen
-
Kun vanhentunut hakemisto poistettiin, se vapautti 60 Gt.
delladmin@pfmpn2:/opt/platform-provisioner> sudo rm -rf pvc-8a5f3651-dbd5-40a9-8252-51fd18539fc3_powerflex_docker-registry-data-docker-registry-1 delladmin@pfmpn2:/opt/platform-provisioner> df -h /dev/sda2 Filesystem Size Used Avail Use% Mounted on /dev/sda2 600G 213G 385G 36% /
Puhdista vanhat IC/RCM-arkistohakemistot
-
Hae IC/RCM:n UUID:t ja niihin liittyvä nimi millä tahansa MVM:llä suorittamalla seuraava komento. Oletusarvoiseksi IC/RCM-kortteja voi olla vain yksi. Vanhemmat IC/RCM-yhteensopivuuspaketit voi poistaa.
Esimerkki:

Esimerkki:
Koska PFMP-käyttöliittymässä vaatimustenmukaisuusversioihin on lisätty vain yksi IC/RCM, tietokanta puolestaan ilmoittaa vain yhden.delladmin@pfmpn2:/opt/platform/fileshare> kubectl exec -it -n powerflex $(kubectl get pods -n powerflex | grep -i asmm | awk '{print $1}') -- bash -c 'PGPASSWORD=$CONNECTION_USER_PASSWORD psql -h postgres-ha-pgbouncer -p 5432 -U asmmanageruser -d asm_manager -w -c "SELECT id,name FROM firmware_repository;"' id | name ----------------------------------+------------------------------- 402897a59688313b01968c2d859e4732 | Intelligent Catalog 46.382.00 (1 row) -
Vaatimustenmukaisuuspaketit tallennetaan kansioon
/opt/platform/filesharekaikissa kolmessa MVM: ssä. Kaikki UUID-tunnukset, joita ei ole liitetty nykyiseen oletusarvoiseen vaatimustenmukaisuusversioon PFMP-käyttöliittymässä, voidaan poistaa, jos näet yhteensopivuuspaketteja, joissa on .zip-laajennus. Varmista, että PFMP-käyttöliittymässä ei ole käynnissä IC-/RCM-synkronointia. -
Jos kaikkien pakettien tila on Käytettävissä. .zip tiedostot voidaan poistaa tilan vapauttamiseksi.
Esimerkki:
delladmin@pfmpn2:/opt/platform/fileshare> pwd /opt/platform/fileshare delladmin@pfmpn2:/opt/platform/fileshare> ls -al | grep 402897a59688313b01968c2d859e4732 drwxr-xr-x 1 delladmin users 14184 May 30 16:41 402897a59688313b01968c2d859e4732
Esimerkki:
-
Tässä MVM-pfmpn1:ssä on vaatimustenmukaisuuspaketti .zip IC/RCM-synkronointitehtävästä, jota ei suoritettu loppuun. Tämä tiedosto voidaan poistaa tilan vapauttamiseksi.
delladmin@pfmp452n1:/opt/platform/fileshare> ls -alh | grep 402897 drwxr-xr-x 1 delladmin users 14K May 30 16:41 402897a59688313b01968c2d859e4732 -rw-r--r-- 1 delladmin users 28G Jul 17 14:06 402897a59688313b01968c2d859e4732.zip delladmin@pfmp452n1:/opt/platform/fileshare> sudo rm -rf /opt/platform/fileshare/402897a59688313b01968c2d859e4732.zip Result delladmin@pfmp452n1:/opt/platform/fileshare> ls -alh | grep 402897 drwxr-xr-x 1 delladmin users 14K May 30 16:41 402897a59688313b01968c2d859e4732
-
Tässä esimerkissä näkyy, että pfmpn3 sisältää vanhan IC/RCM-vaatimustenmukaisuusversion hakemiston, jota ei enää tarvita, koska PFMP-käyttöliittymään on lisätty vain yksi IC/RCM-yhteensopivuusversio.
delladmin@pfmp452n3:~> ls -al /opt/platform/fileshare/ | grep 402897 drwxr-xr-x 1 delladmin users 11798 Feb 13 17:16 4028979594e191650195014584d93692 drwxr-xr-x 1 delladmin users 14184 May 30 16:41 402897a59688313b01968c2d859e4732
-
Levyllä kului tilaa vanhalle IC/RCM:lle
delladmin@pfmpn3:/opt/platform/fileshare/4028979594e191650195014584d93692> du -h --max-depth=1 . 1.3G ./modified 47G ./os 2.8M ./rpm s 5.8M ./slesrpms 15M ./vibs70 53G .
-
Voit selvittää seuraavalla komennolla tähän vanhaan hakemistoon liittyvän IC/RCM:n nimen. Muokkaa komentoa lisäämällä ympäristöösi soveltuva UUID.
delladmin@pfmp452n3:/opt/platform/fileshare/4028979594e191650195014584d93692> head /opt/platform/fileshare/4028979594e191650195014584d93692/catalog.xml | grep name <Manifest baseLocation="" dateTime="2020-08-06T15:05:13" name="Intelligent Catalog 46.376.00" identifier="d70a21a1-116e-4a3c-95ec-52a24603b684" releaseID="MW3KN" version="1.28">
-
Tämä vanha IC/RCM-yhteensopivuushakemisto kuluttaa 53 Gt, koska tämän esimerkin nykyinen IC/RCM-oletusversio on 46.382.00. Jos käyttöliittymässä ei viitata vanhaan IC/RCM:ään, hakemisto voidaan poistaa. Jos IC/RCM näkyy edelleen käyttöliittymässä, poista se ensin käyttöliittymästä. Tarkista sitten, onko hakemisto puhdistettu. Jos näin ei ole, voit poistaa hakemiston manuaalisesti.
-
Dockerin vanhentuneiden PVC-levyjen puhdistamisen ja vanhojen IC/RCM-nippujen siivoamisen pitäisi olla kaikki, mitä tarvitaan, jotta MVM-levyn käyttö saadaan kuntotasolle.
Cleanup PFMP Upgrade -hakemistot
PFMP-päivityksen aikana luodaan kolme hakemistoa. Jos PFMP:n päivitys onnistui, mutta joudut ehkä suorittamaan päivitysvaiheen manuaalisesti, hakemistoja ei tyhjennetty. Hakemistot eivät myöskään välttämättä puhdistu, jos omistusoikeuksissa on ongelmia. Hakemistot ovat hakemistossa /opt/platform/fileshare kussakin MVM:ssä. Hakemisto, jossa on eniten tilaa palautusta varten, on PFMPUpgradeBundle
Hakemistojen nimet
- PFMPUpgradeBundle
- Ympäristö
- Päivitys
delladmin@pfmp452n3:/opt/platform/fileshare> ls -alh /opt/platform/fileshare/ | grep -Ei 'upgrade|platform' drwxr-xr-x 1 delladmin root 362 Jul 22 15:23 PFMPUpgradeBundle drwxr-xr-x 1 delladmin users 0 Nov 7 2024 platform drwxr-xr-x 1 delladmin root 92 Jul 22 15:23 Upgrade
Poista nämä hakemistot seuraavilla komennoilla.
sudo rm -rf /opt/platform/fileshare/PFMPUpgradeBundle sudo rm -rf /opt/platform/fileshare/Upgrade sudo rm -rf /opt/platform/fileshare/platform
Puhdistus Suuret pod-lokitiedostot
-
Jos tarvitset lisää tilaa, tarkista ja poista tarvittaessa:
-
Tarkista missä tahansa PFMP (MVM) -palvelimessa, jossa on tilaongelmia, lokitiedostojen suuri suorittamalla seuraavat hakukomennot:
sudo find /opt/platform-provisioner -type d -name "pvc-*_*_logging-rsyslog-data-*" -exec ls -lh {} \; sudo find /opt/platform-provisioner -iname "docker-registry.stdout.log" -exec du -h {} \; sudo find /opt/platform-provisioner -iname "supportassist-vxflexappliance.stdout.log" -exec du -h {} \; sudo find /opt/platform-provisioner -iname "temporal-history.stdout.log" -exec du -h {} \; -
Seuraavat komennot poistavat nämä suuret lokitiedostot automaattisesti:
Huomautus: Sinun ei tarvitse suorittaa alla olevia poistokomentoja, jos tiedostot ovat kooltaan < 300 Mt. Jos ne ovat suuria, koko voi vaihdella välillä 1GB - 100 + GBsudo find /opt/platform-provisioner -type d -name "pvc-*_*_logging-rsyslog-data-*" -exec sh -c 'for log in "$1"/*.log; do [ -e "$log" ] && echo "clean" > "$log"; done' _ {} \; sudo find /opt/platform-provisioner -iname "docker-registry.stdout.log" -exec sh -c 'echo "clean" > "$1"' _ {} \; sudo find /opt/platform-provisioner -iname "supportassist-vxflexappliance.stdout.log" -exec sh -c 'echo "clean" > "$1"' _ {} \; sudo find /opt/platform-provisioner -iname "temporal-history.stdout.log" -exec sh -c 'echo "clean" > "$1"' _ {} \;
Validointi
Varmista seuraavalla komennolla, että levyn käyttö on vähentynyt. Kun puhdistus on valmis ja mukana on vain yksi vaatimustenmukaisuuspaketti, käyttö voi vaihdella 35 prosentista 55 prosenttiin.
df -h /dev/sda2 Ex. delladmin@pfmpn2:/opt> df -h /dev/sda2 Filesystem Size Used Avail Use% Mounted on /dev/sda2 600G 218G 381G 37% / sudo du -h --max-depth=1 /opt Ex. delladmin@pfmpn2:/opt> sudo du -h --max-depth=1 /opt 45G ./platform 146M ./rke2 294M ./cni 84G ./platform-provisioner 129G .
Suorita seuraava komento ja varmista, että kaikki podit ovat käynnissä-tilassa.
kubectl get pods -o wide -n powerflex
Tarkkaile PFMP-klusteria 24 tunnin ajan. Sitten MVM-tilannevedokset voidaan poistaa.
Flere oplysninger
Myös alla olevaa komentosarjaa voidaan käyttää PVC:n puhdistamiseen.
Komentosarjan käyttö on turvallista, koska se ei suorita poistoja. Se sisältää poistamiseen tarvittavat komennot. Se on kuitenkin Dellin komentosarja, jota se ei tue. Suositus on käyttää tässä tietämyskannan artikkelissa käsiteltyä manuaalista menetelmää. Tämän komentosarjan käyttöä ei tueta.
Kuinka luoda komentosarjatiedosto MVM: lle. Tämä menettely on toistettava kahdessa muussa MVM: ssä
#Create tyhjää tiedostoatouch /home/delladmin/dockerpvcclean.sh
#Give tiedoston suoritusoikeudenchmod +x /home/dellamdin/dockerpvcclean.sh
#Use seuraava komento tiedoston avaamiseksi vi editorilla
vi /home/delladmin/dockerpvcclean.sh
Kun vi-editori on auki, siirry lisäystilaan painamalla "i"-näppäintä
#Copy tämän osan lopussa olevaa komentosarjatiedoston sisältöä .
Napsauta hiiren kakkospainikkeella päätelaitteessa liittääksesi sisällön tiedostoon.
#Save tiedosto
{Poistu lisäystilasta painamalla Esc-näppäintä. Paina {vaihto}:
Paina sitten wq
Paina sitten Enter (Tämä kirjoittaa ja lopettaa vi-editorin ja palaa komentokehotteeseen)
#Confirm tiedosto sisältää komentosarjan sisällöncat /home/delladmin/dockerpvcclean.sh
#To suorita komentosarja suorittamalla seuraavat komennot.
sudo -s/home/delladmin/dockerpvcclean.sh
Komentosarjatiedoston sisältö
#!/bin/bash
# Set this node name
MYNODENAME=$(kubectl get node -o yaml |grep host |awk '{print $2}' |grep $(hostname))
echo "$MYNODENAME Free space on root partition:"
df -h /
#
DOCKER0PV=$(kubectl get pvc -n powerflex docker-registry-data-docker-registry-0 -o json | jq .spec.volumeName | sed 's/"//g')
DOCKER1PV=$(kubectl get pvc -n powerflex docker-registry-data-docker-registry-1 -o json | jq .spec.volumeName | sed 's/"//g')
echo Currently used docker-registry-0 PV is $DOCKER0PV
echo Currently used docker-registry-1 PV is $DOCKER1PV
#
# Show which hosts have the current running set of docker-registry pods
for DOCKPOD in $(kubectl get pods -A -o name | grep docker-registry | grep -v sync); do
REGHOST=$(kubectl get $DOCKPOD -n powerflex -o jsonpath='{.spec.nodeName}');
echo $REGHOST has $DOCKPOD;
done
#Check for the good/valid PV directories on this host
DOCKER0PVDIR=$(find /opt/platform-provisioner/ -type d -name $DOCKER0PV*)
DOCKER1PVDIR=$(find /opt/platform-provisioner/ -type d -name $DOCKER1PV*)
if [ -n "$DOCKER0PVDIR" ];
then
echo Keeping $DOCKER0PVDIR which is on this node
fi
if [ -n "$DOCKER1PVDIR" ];
then
echo Keeping $DOCKER1PVDIR which is on this node
fi
STALEDOCKERPVDIRS=$(find /opt/platform-provisioner/ -type d -name *docker-registry-data* | grep -v $DOCKER1PV | grep -v $DOCKER0PV; echo )
if [ -n "$STALEDOCKERPVDIRS" ];
then
echo ##################################
echo Found $(echo $STALEDOCKERPVDIRS | wc -w ) Stale PVs on $HOSTNAME;
for CHECKSPACE in $(echo $STALEDOCKERPVDIRS); do
echo
echo $CHECKSPACE uses;
du -hcs $CHECKSPACE;
echo "#Please Run the following:"
echo "rm -rf $CHECKSPACE"
done
echo "A total of $(du -hcs $STALEDOCKERPVDIRS | grep total) can be saved"
else
echo "Good news: No stale PVs related to docker-registry found!"
fi