PowerFlex:MVMクリーンアップとスペース再利用

Oversigt: この記事では、管理仮想マシン(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

警告:このKBで説明されているタスクを実行する前に、MVMのスナップショットを取得してください。これにより、Docker PVCをクリーンアップするときに間違いが発生した場合のロールバック方法が提供されます。 

MVMスナップショットは、MVMを実行している状態で取得できます。3つのMVMすべてにこれらの手順を適用します

  • vCenterにログインします。
  • MVMごとに、次の手順を実行します
  • [MVM]をクリックします> [ Snapshots ]をクリックします>[TAKE SNAPSHOT]をクリックします。
    お昼寝をする
  • [CREATE]をクリックします。

古いdocker-registry PVCのクリーンアップ

手順

  1. 次のコマンドは、「docker-registry」ポッドを一覧表示し、ポッドを実行している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>
  2. docker-registryの構成済み永続ボリューム要求の出力を確認すると、アクティブなPVCのPVC IDが一覧表示されます。PVCデータは、 /opt/platform-provisioner/の詳細を確認してください。

    Example:

    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. 上記のディレクトリーの出力を見ると、「docker-registry-1」のディレクトリーが2つあることがわかります。「docker registry 1」の現在のPVC IDは「pvc-0f689062-a700-48ad-8d10-65b985477e1a」です。「docker-registry-1」には2つのディレクトリーがリストされているためです。

  4. 古いディレクトリーが1つあり、これを削除してスペースを解放できます。時間の経過とともに残された古いディレクトリーの数に応じて、さらに多くのディレクトリーが存在する可能性があります。

    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. 古いディレクトリーは60GBを消費しており、このディレクトリーは削除できます。古いPVC IDは「pvc-8a5f3651-dbd5-40a9-8252-51fd18539fc3」です。

    古いディレクトリーのクリーンアップ前に使用されたスペース

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

    Example:
    古いディレクトリーは60GBのディスク領域を消費しています。

    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. 古い「docker-registry」ディレクトリーの削除

  7. 古いディレクトリーを削除すると、60GBが解放されます。

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

古いIC/RCMリポジトリー ディレクトリーのクリーンアップ

  • 任意のMVMから次のコマンドを実行して、IC/RCM UUIDと関連する名前を取得します。デフォルトに設定できるIC/RCMは1つだけです。古いIC/RCMコンプライアンス バンドルは削除できます。

    Example:
    コンプライアンスバージョン

    Example:
    PFMP UIのコンプライアンス バージョンに追加されるIC/RCMは1つだけであるため、データベースは1つだけを報告します。

    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)
  • コンプライアンス バンドルは、次の場所に保存されます: /opt/platform/fileshare 3 つの MVM すべてで。.zip拡張機能を持つコンプライアンス バンドルが表示されている場合は、PFMP UIで現在のデフォルトのコンプライアンス バージョンに関連付けられていないUUIDを削除できます。PFMP UIでIC/RCM同期が進行中でないことを確認します。

  • すべてのバンドルが[Available]状態の場合。.zipファイルを削除して、スペースを解放できます。

    Example:

    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

    Example:

  • このMVM pfmpn1には、完了しなかったIC/RCM同期タスクからのコンプライアンス バンドルが.zipに含まれています。このファイルを削除して、スペースを解放することができます。

    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
  • この例では、pfmpn3 に古い IC/RCM コンプライアンス バージョン ディレクトリが含まれていることを示していますが、PFMP UI に追加されている IC/RCM コンプライアンス バージョンが 1 つしかないため、不要になっています。

    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
  • 古い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     .
  • 次のコマンドを実行して、この古いディレクトリーに関連付けられているIC/RCMの名前を識別できます。コマンドを変更して、環境に適用可能な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">
  • この例の現在のデフォルトのIC/RCMバージョンは46.382.00であるため、この古いIC/RCMコンプライアンス ディレクトリーは53GBを消費しています。古いIC/RCMがUIで参照されていない場合は、このディレクトリーを削除できます。IC/RCMがまだUIにリストされている場合は、最初にUIから削除します。次に、ディレクトリーがクリーン アップされているかどうかを確認します。そうでない場合は、ディレクトリーを手動で削除できます。

  • MVMディスクの使用率を正常性レベルまで下げるために必要なのは、docker用の古いPVCをクリーンアップし、古いIC/RCMバンドルをクリーンアップすることだけです。

PFMPアップグレード ディレクトリーのクリーンアップ

PFMPのアップグレード中に作成されるディレクトリーは3つあります。PFMPを正常にアップグレードできても、アップグレード フェーズを手動で完了する必要がある可能性がある場合は、ディレクトリーがクリーンアップされていません。所有権の権限に問題がある場合も、ディレクトリーのクリーンアップに失敗することがあります。ディレクトリーは、各MVMの/opt/platform/fileshareにあります。再利用するスペースが最も多いディレクトリーは「PFMPUpgradeBundle」です

ディレクトリー名

  • PFMPUpgradeBundle
  • プラットフォーム
  • アップグレード
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

次のコマンドを実行して、これらのディレクトリーを削除します。

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

大規模なポッドのログ ファイルのクリーンアップ

  • さらにスペースが必要な場合は、確認し、必要に応じて削除します。

  • スペースの問題があるPFMP(MVM)サーバーで、次のfindコマンドを実行して、ログ ファイルのサイズを確認します。

    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 {} \;
  • 次のコマンドは、これらの大きなログ ファイルを自動的に削除します。

    注:ファイルのサイズが300MB < 小さい場合は、以下の削除コマンドを実行する必要はありません。サイズが大きい場合、サイズは1GBから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"' _ {} \;

確認

次のコマンドを使用して、ディスク使用量が削減されたことを確認します。1つのコンプライアンス バンドルのみでクリーンアップが完了した場合、使用率は35%から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    .

次のコマンドを実行し、すべてのポッドが実行中の状態であることを確認します。

kubectl get pods -o wide -n powerflex

PFMPクラスターを24時間監視します。その後、MVMスナップショットを削除できます。

Flere oplysninger

また、次のスクリプトはPVCクリーンアップに使用できます。

削除は実行されないため、スクリプトを使用しても安全です。削除に必要なコマンドを提供します。ただし、 これはDellでサポートされていないスクリプトです。このKBに記載されている手動の方法を使用することをお勧めします。このスクリプトの使用はサポートされていません。

MVM でスクリプト ファイルを作成する方法。  この手順は、他の2つのMVMで繰り返す必要があります

 

空のファイル #Create
touch /home/delladmin/dockerpvcclean.sh

ファイル実行権限 #Give
chmod +x /home/dellamdin/dockerpvcclean.sh

次のコマンド #Use、viエディターでファイルを開きます
vi /home/delladmin/dockerpvcclean.sh

viエディターを開いた状態で、「i」キー
#Copyこのセクションの最後にある スクリプト ファイル コンテンツ を押して、挿入モードに入ります。
ターミナル内を右クリックして、コンテンツをファイルに貼り付けます。

ファイルを #Save
{Escを押して挿入モードを終了します。{Shift}を押します。
次に、wqを押します
次にEnterを押します(これにより、viエディターが書き込まれて終了し、コマンドプロンプトに戻ります)

#Confirm ファイルには、スクリプトの内容が含まれています
cat /home/delladmin/dockerpvcclean.sh

スクリプトを実行する #To、次のコマンドを実行します。

sudo -s
/home/delladmin/dockerpvcclean.sh

スクリプト ファイルの内容

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