system management
1748011 メンバー
4509 オンライン
108757 解決策
新規ポスト

make_sys_imageについて

 
KN
貴重なコントリビューター

make_sys_imageについて

いつもお世話になっております。

現在、make_sys_imageの評価を行っています。

が、ファイル容量の問題で困っています。

Ignite-UXサーバ(hostA)上に十分な空き容量にを確保しているにもかかわらず、クライアントシステム(hostB)上で、make_sys_imageを実行すると、以下のようなエラーが出て失敗します。

ERROR: Not enough space for archive.

/var/opt/ignite/archives on hostA needs 4698393 kbytes free.

There are 1 kbytes free.

Ignite-UXサーバ(hostA)の現状は以下です。

Filesystem kbytes used avail %used Mounted on

/dev/vg00/lvol3 1048576 176752 865080 17% /

/dev/vg00/lvol1 262144 61824 198800 24% /stand

/dev/vg00/lvol8 10240000 2412064 7766848 24% /var

/dev/vg00/lvol7 4194304 2073616 2104152 50% /usr

/dev/vg00/lvol6 262144 12736 247528 5% /tmp

/dev/vg00/lvol5 4194304 1929600 2247016 46% /opt

/dev/vg00/lvol4 524288 16744 503584 3% /home

/var配下には8GByte近く空きがあるようですが・・

どうしてでしょうか?

どなたかアドバイス、コメントお願い致します。
4件の返信4
rawsq
貴重なコントリビューター

make_sys_imageについて

(略)

# If the DEST_DIR doesn't exist then plug in a size so DEST_SIZE has value.

: ${DEST_SIZE:=1}

# If bdf reports 0 or less available, plug in 1 to prevent div by zero.

((DEST_SIZE<=0)) && DEST_SIZE=1

PERCENT_DIFF=$(( 100*${ARCHIVE_SIZE}/${DEST_SIZE} ))

# If a volume is more than 99% full, then don't proceed.

if (( PERCENT_DIFF > 99 ))

then

verbose -fe "

ERROR: Not enough space for archive.

${DEST_DIR} on ${SERVER} needs ${ARCHIVE_SIZE} kbytes free.

There are ${DEST_SIZE} kbytes free."

(略)

上記はmake_sys_imageより抜粋したのですが、DEST_DIR(今回の/var/opt/ignite/archives)が存在しなければサイズは1KBとみなすようです。

サーバ上に上記フォルダはありますか。
KN
貴重なコントリビューター

make_sys_imageについて

ご回答ありがとうございます。

お返事遅くなって申し訳ないです。

確認しましたところ、/var/opt/ignite/archivesディレクトリは存在しました。

いろいろ試しましたところ、make_sys_imageでアーカイブ作成先をホスト名で指定していたところを、IPアドレス指定に変更して実行したところ、今回のエラーは出力されず正常に終了しました。

なぜこんなエラーが出たのかが不明です・・

お騒がせして申し訳ないです。
rawsq
貴重なコントリビューター

make_sys_imageについて

>make_sys_imageでアーカイブ作成先をホスト名で指定していたところを、IPアドレス指定に変更して実行したところ、今回のエラーは出力されず正常に終了しました。

make_sys_image内ではremshを利用しています。

今回のサーバ/クライアント間でremshが「ホスト名」でうまく動作するか調べてみるとよいかもしれません。

rawsq
貴重なコントリビューター

make_sys_imageについて

調べてみました。:-)

以下、make_sys_imageより抜粋

(略)

if ]; then

DEST_SIZE=$(remsh ${SERVER} -l ${REMSH_USER} -n bdf ${DEST_DIR} |

awk '$0 !~ /^F/ {

if(length($4) && $4 !~ /%/)

print $4

else if (length($3))

print $3}')

(略)

# If the DEST_DIR doesn't exist then plug in a size so DEST_SIZE has value.

: ${DEST_SIZE:=1}

(略)

と、いうようにmake_sys_image内でremshを使ってサーバのディスク空き容量を調査しています。

今回は、remshがホスト名で実行する際に失敗し、変数DEST_SIZEが空のため1に設定されたのでは?と思います。

以下、調査のためのスクリプトを作ってみました。

やはりremshで失敗するとDEST_SIZE=nullとなります。

この場合、強制的にDEST_SIZEを1に設定しますので今回のエラーになったと思います。

----ここから

#!/bin/sh

DEST_SIZE=$(remsh <サーバ名> -l -n bdf /var/opt/ignite/archives |

awk '$0 !~ /^F/ {

if(length($4) && $4 !~ /%/)

print $4

else if (length($3))

print $3}')

: ${DEST_SIZE:=1}

echo "DEST_SIZE="$DEST_SIZE

----ここまで

成功例

# ./test.sh

DEST_SIZE=756660

#

失敗例(.rhostsからエントリを消してみました)

# ./test.sh

remshd: Login incorrect.

DEST_SIZE=1

#

よって、remshがホスト名で実行できるように設定できれば解決できると思います。