この問題を回避するには、少なくとも postgres データベースの 1.5 倍のサイズの新しい VMDK ディスクを追加し、データベースをその新しいディスク パーティションにコピーします。
次の手順を実行して、新しい VMDK ディスクを追加し、データベースをコピーします。
- 仮想マシン編集設定オプションを使用して、少なくとも postgres データベースの 1.5 倍のサイズの新しい VMDK を追加します。
- ディスクを初期化するには:
- root を使用してアプライアンスにログインします
- 'df -h' の出力を確認します
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 9.8G 9.6G 0 100% /
udev 4.0G 104K 4.0G 1% /dev
tmpfs 4.0G 0 4.0G 0% /dev/shm
/dev/sda1 128M 21M 101M 18% /boot
/dev/sdb1 20G 173M 19G 1% /storage/core
/dev/sdb2 20G 2.3G 17G 12% /storage/log
/dev/sdb3 60G 54G 2.7G 96% /storage/db
- /dev を参照して、ls | grep -i sd を実行します
ls | grep -i sd
sda
sda1
sda2
sda3
sdb
sdb1
sdb2
sdb3
sdc
注: sdc は手順 1 で追加した新しいデバイスです。新しいデバイスが表示されない場合は、アプライアンスを再起動します。
- 新しいディスクをフォーマットするには、次のコマンドを実行します。
fdisk /dev/sdc
新しいパーティションを作成するには、以下を入力します: n
プライマリ パーティションを作成するには、次を入力します: p
パーティションを指定された設定で作成するには、次を入力します: w
- 新しいデバイス上にファイル システムを作成します
mkfs -t ext3 /dev/sdc
- マウント ポイントを作成し、デバイスをマウントします
mkdir /storage/sdc/
mount /dev/sdc /storage/sdc/
- df -h の出力を再度確認します
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 9.8G 9.6G 0 100% /
udev 4.0G 112K 4.0G 1% /dev
tmpfs 4.0G 0 4.0G 0% /dev/shm
/dev/sda1 128M 21M 101M 18% /boot
/dev/sdb1 20G 173M 19G 1% /storage/core
/dev/sdb2 20G 2.2G 17G 12% /storage/log
/dev/sdb3 60G 54G 2.7G 96% /storage/db
/dev/sdc 99G 188M 94G 1% /storage/sdc
- 次のコマンドを実行して、VMware Postgres サービスを停止します。
service vmware-vpostgres stop
- DB を新しいディスク パーティションにコピーします
cp -ar /storage/db/vpostgres /storage/sdc/vpostgres
- データベースを新しい場所から起動します
sudo -u postgres /opt/vmware/vpostgres/1.0/bin/pg_ctl -D /storage/sdc/vpostgres start
- vacuum コマンドを再度実行します
sudo -u postgres /opt/vmware/vpostgres/1.0/bin/vacuumdb -a -e -v -f -U postgres > /tmp/vacuumdb.log