PowerFlex: Oczyszczanie MVM i odzyskiwanie miejsca

Oversigt: W tym artykule wyjaśniono, jak odzyskać miejsce na maszynie wirtualnej zarządzania (MVM).

Denne artikel gælder for Denne artikel gælder ikke for Denne artikel er ikke knyttet til et bestemt produkt. Det er ikke alle produktversioner, der er identificeret i denne artikel.

Instruktioner

OSTRZEŻENIE: Przed wykonaniem zadań opisanych w tej bazie wiedzy należy wykonać migawkę MVM. Zapewni to metodę wycofywania w przypadku popełnienia błędu podczas czyszczenia PCV docker. 

Migawki MVM mogą być wykonywane przy uruchomionych MVM. Wykonaj te czynności dla wszystkich trzech MVM

  • Zaloguj się do vCenter
  • Dla każdego MVM wykonaj następujące czynności
  • Kliknij MVM --> Kliknij Snapshots --> Kliknij TAKE SNAPSHOT....
    Zrób sobie drzemkę
  • Kliknij UTWÓRZ.

Czyszczenie starych dokumentów PVC docker-registry

Kroki

  1. Następujące polecenie wyświetla listę zasobników "docker-registry" i wyświetla MVM, na którym jest uruchomiony zasobnik.

    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>
  2. Po przejrzeniu danych wyjściowych skonfigurowanych PVC dla docker-registry identyfikatory PVC są wyświetlane dla aktywnych PVC. Dane dotyczące PVC są przechowywane w /opt/platform-provisioner/.

    Przykład:

    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
  3. Gdy spojrzymy na dane wyjściowe katalogu powyżej, widać, że istnieją dwa katalogi dla "docker-registry-1". Bieżący identyfikator PVC dla "docker registry 1" to "pvc-0f689062-a700-48ad-8d10-65b985477e1a". Ponieważ istnieją dwa katalogi wymienione dla "docker-registry-1".

  4. Istnieje jeden nieaktualny katalog, który można usunąć, aby zwolnić miejsce. Może być ich znacznie więcej, w zależności od tego, ile starych katalogów pozostało w czasie.

    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
  5. Nieaktualny katalog zużywa 60 GB i katalog ten można usunąć. Nieaktualny identyfikator PVC to "pvc-8a5f3651-dbd5-40a9-8252-51fd18539fc3"

    Miejsce używane przed czyszczeniem starych katalogów

    delladmin@pfmpn2:~> df -h /dev/sda2
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda2       600G  273G  326G  46% /

    Przykład:
    Nieaktualny katalog zajmuje 60 GB miejsca na dysku.

    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
  6. Usuwanie przestarzałego katalogu "docker-registry"

  7. Usunięcie starego katalogu zwalnia 60 GB.

    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% /

Czyszczenie starych katalogów repozytoriów IC/RCM

  • Uruchom następujące polecenie z dowolnego MVM, aby uzyskać identyfikatory UUID IC/RCM i skojarzoną nazwę. Może być tylko jeden IC/RCM ustawiony domyślnie. Starsze pakiety zgodności IC/RCM można usunąć.

    Przykład:
    Wersje zgodności

    Przykład:
    Ponieważ w interfejsie użytkownika PFMP do wersji zgodności dodano tylko jeden moduł IC/RCM, baza danych zgłasza tylko jeden.

    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)
  • Pakiety zgodności są przechowywane w /opt/platform/fileshare na wszystkich trzech MVM. Każdy identyfikator UUID, który nie jest skojarzony z bieżącą domyślną wersją zgodności w interfejsie użytkownika PFMP, można usunąć, jeśli widzisz pakiety zgodności z rozszerzeniem .zip. Sprawdź, czy w interfejsie użytkownika PFMP nie trwa synchronizacja IC/RCM.

  • Jeśli wszystkie pakiety są w stanie Dostępny. Pliki .zip można usunąć, aby zwolnić miejsce.

    Przykład:

    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

    Przykład:

  • Ten MVM pfmpn1 ma pakiet zgodności w .zip z zadania synchronizacji IC/RCM, które nie zostało ukończone. Ten plik można usunąć, aby zwolnić miejsce.

    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
  • Ten przykład pokazuje, że pfmpn3 zawiera stary katalog wersji zgodności IC/RCM, który nie jest już potrzebny, ponieważ w interfejsie użytkownika PFMP dodano tylko jedną wersję zgodności IC/RCM.

    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
  • Miejsce zużyte na dysku dla starego IC/RCM

    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     .
  • Możesz uruchomić następujące polecenie, aby zidentyfikować nazwę IC/RCM powiązanego z tym starym katalogiem. Zmodyfikuj polecenie, aby uwzględnić identyfikator UUID odpowiedni dla danego środowiska.

    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">
  • Ten stary katalog zgodności IC/RCM zużywa 53 GB, ponieważ bieżąca domyślna wersja IC/RCM w tym przykładzie to 46.382.00. Jeśli stary IC/RCM nie jest przywoływany w interfejsie użytkownika, katalog ten można usunąć. Jeśli IC/RCM nadal znajduje się na liście w interfejsie użytkownika, najpierw usuń go z interfejsu użytkownika. Następnie sprawdź, czy katalog został wyczyszczony. Jeśli tak nie jest, możesz ręcznie usunąć katalog.

  • Wyczyszczenie starych obwodów PVC dla dockera i wyczyszczenie starych pakietów IC/RCM powinno być wszystkim, co jest potrzebne, aby zmniejszyć użycie dysku MVM do poziomu kondycji.

Czyszczenie katalogów uaktualnień PFMP

Istnieją trzy katalogi, które są tworzone podczas uaktualniania PFMP. Jeśli program PFMP został pomyślnie uaktualniony, ale mogło być konieczne ręczne ukończenie fazy aktualizacji, katalogi nie zostały wyczyszczone. Czyszczenie katalogów może również zakończyć się niepowodzeniem, jeśli wystąpiły problemy z uprawnieniami własności. Katalogi znajdują się w katalogu /opt/platform/fileshare na każdym MVM. Katalogiem, który zapewnia najwięcej miejsca do odzyskania, jest "PFMPUpgradeBundle"

Nazwy katalogów

  • PFMPUpgradeBundle
  • Platforma
  • Uaktualnienie
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

Uruchom następujące polecenia, aby usunąć te katalogi.

sudo rm -rf /opt/platform/fileshare/PFMPUpgradeBundle
sudo rm -rf /opt/platform/fileshare/Upgrade
sudo rm -rf /opt/platform/fileshare/platform

Czyszczenie plików dziennika dużych zasobników

  • Jeśli potrzebujesz więcej miejsca, sprawdź i usuń w razie potrzeby:

  • Na każdym serwerze PFMP (MVM), na którym występują problemy z miejscem, uruchom następujące polecenia find, aby sprawdzić rozmiar plików dziennika:

    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 {} \;
  • Te duże pliki dziennika są automatycznie usuwane za pomocą następujących poleceń:

    Uwaga: Nie musisz uruchamiać poniższych poleceń usuwania, jeśli pliki mają mały rozmiar < 300 MB. Jeśli są duże, rozmiar może wynosić od 1 GB do 100 + GB
    sudo 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"' _ {} \;

Weryfikacja

Sprawdź, czy użycie dysku zmniejszyło się, używając następującego polecenia. Po zakończeniu oczyszczania z tylko jednym pakietem zgodności użycie może wynosić od 35% do 55%.

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    .

Uruchom następujące polecenie i sprawdź, czy wszystkie zasobniki są w stanie Uruchomione.

kubectl get pods -o wide -n powerflex

Monitoruj klaster PFMP przez 24 godziny. Następnie migawki MVM mogą zostać usunięte.

Flere oplysninger

Poniższy skrypt może być również użyty do czyszczenia PVC.

Korzystanie ze skryptu jest bezpieczne, ponieważ nie wykonuje on usuwania. Zawiera polecenia potrzebne do usunięcia. Jest to jednak skrypt nieobsługiwany przez firmę Dell. Zaleca się użycie metody ręcznej opisanej w tej bazie wiedzy. Ten skrypt nie jest obsługiwany.

Jak utworzyć plik skryptu na MVM.  Procedurę tę należałoby powtórzyć na pozostałych dwóch MVM

 

#Create pustego pliku
touch /home/delladmin/dockerpvcclean.sh

#Give plikowi uprawnienia do wykonywania
chmod +x /home/dellamdin/dockerpvcclean.sh

#Use następujące polecenie, aby otworzyć plik za pomocą edytora
vivi /home/delladmin/dockerpvcclean.sh

Po otwarciu edytora vi przejdź do trybu wstawiania, naciskając
"i#Copy zawartość pliku skryptu na końcu tej sekcji. 
Kliknij prawym przyciskiem myszy terminal, aby wkleić zawartość do pliku.

#Save plik
{Naciśnij Esc, aby wyjść z trybu wstawiania. Naciśnij {Shift}: 
Następnie naciśnij wq
Następnie naciśnij Enter (Spowoduje to zapisanie i zamknięcie edytora vi i powrót do wiersza poleceń)

#Confirm plik zawiera zawartość skryptu
cat /home/delladmin/dockerpvcclean.sh

#To wykonać skrypt, uruchom następujące polecenia.

sudo -s
/home/delladmin/dockerpvcclean.sh

Zawartość pliku skryptu

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

 

Berørte produkter

PowerFlex rack connectivity, PowerFlex rack RCM Software, PowerFlex Software

Produkter

PowerFlex rack
Artikelegenskaber
Artikelnummer: 000348682
Artikeltype: How To
Senest ændret: 21 jan. 2026
Version:  5
Find svar på dine spørgsmål fra andre Dell-brugere
Supportservices
Kontrollér, om din enhed er dækket af supportservices.