Persistent Volume Claim(PVC;永続的ボリューム要求)によってマウントされた空のPostgresデータストアの使用済みスペースがホストに100%表示されるのはなぜですか
環境
- Astra Trident
- Kubernetes (クベルネ
- SolidFire
- Postgres
回答
Postgresでは、通常のWAL(先行ログの書き込み)を使用できます。このWALファイルは、ファイルシステム上に16MBの領域を割り当てていますが、ファイル自体には何かが書き込まれるまで0だけが含まれています。何も書き込まれず、ファイルが完全に初期化されたままの場合でも、追加のファイルが作成されます。SolidFire はこれらのゼロを無視するため、結果は100%使用されたファイルシステムになり、SolidFire でファイルされたボリュームは6%だけになります
追加情報
SolidFire ストレージはデフォルトでシンプロビジョニングを使用しています。ホストまたはポッドはシンであることを認識しないため、フルディスクであることを前提としています。PVCは、永続ボリューム(PV)の100%を保証します。
例
# df -h | grep pvc-66d6dcb7-4b2c-4adb-90f6-604cc49d671a
/dev/mapper/36f47acc10000000034796a650000025a 16G 15G 0 100% /var/lib/kubelet/pods/f0463b03-5fca-4f3a-a4f2-71d4ca38e16d/volumes/kubernetes.io~csi/pvc-66d6dcb7-4b2c-4adb-90f6-604cc49d671a/mount
SFストレージの使用率は6%のみ:
このケースシナリオは、Postgresによく使用されます。ホストの使用済みスペースの値が常に100%となるとはかぎりません