N1 Provisioning Server 3.1, Blades Edition ご使用にあたって

十分なディスク容量があるにもかかわらず、image コマンドが新しいイメージの作成に失敗して「Insufficient Disk Space」というエラーメッセージを表示する (4989527)

イメージサーバーのサイズは、インストール中、ファイルシステムに問い合わせることによって決定されます。 このサイズは、イメージサーバーデバイスの属性としてデータベース内に記録されます。 この値は静的であり、N1 Provisioning Server の範囲外のファイルシステムで行われた変更は反映しません。 次の変更は N1 Provisioning Server の範囲外で行われます。

どちらの場合も、原因を示す兆候は現れません。 表示されるエラーだけでは、問題の原因がデータベース内のイメージサーバーのサイズの間違いであるかどうかは分かりません。 このエラーは /var/adm/tspr.debug ログファイルに記録されることもあります。

回避策: 原因不明のスナップショットエラーが表示された場合、次の手順に従って、問題の原因がデータベースと実際のファイルシステム間のサイズの不一致であるかどうかを判断します。

  1. 次のコマンドを使用して、イメージサーバーのデバイス ID を調べます。


    # /opt/terraspring/sbin/device -Lr
    
  2. 次のコマンドを使用して、N1 Provisioning Server データベース内のイメージリポジトリのサイズを調べます。


    # /opt/terraspring/sbin/device lv device-id | grep imsvsize
    

    ここで、device-id は前の手順で調べたデバイス ID です。

  3. N1 Provisioning Server リポジトリが認識しているすべてのイメージの合計サイズを求めます。

    1. すべてのイメージの詳細な一覧を取得するには、次のコマンドを入力します。


      # image -lv > tmpfile
      
    2. tmpfile を調べて、各イメージの「Image Locations」セクションにあるサイズの値をすべて記録します。

    3. 前の手順で記録した値をすべて足して、N1 Provisioning Server リポジトリが認識しているすべてのイメージの合計サイズを求めます。

  4. 前の 2 つの手順で求めた値を引いて、N1 Provisioning Server ソフトウェアがイメージサーバーで利用できると認識しているディスク容量の合計を求めます。

  5. 次のコマンドを使用して、実際のファイルシステムのサイズを調べます。


    # df -k path-to-images-filesystem
    
  6. 実際のファイルシステムで利用できるディスク容量 (バイト数) を求めるには、 df の出力の「avail」の下にある値に 1024 をかけます。

手順 4 の値 (見かけのサイズ) が手順 6 の値 (実際のサイズ) と異なる場合、サイズの不一致が存在します。 この不一致を解消するには、次の手順に従います。

  1. 手順 6 で求めた実際のサイズに手順 3c で求めたイメージの合計サイズを足します。 この合計は、N1 Provisioning Server リポジトリ内の imsvsize 属性の新しい値になります。

  2. 次のコマンドを使用して、N1 Provisioning Server データベースの lmsvsize 属性を、前の手順で求めた新しい値に更新します。


    # device -sA imsvsize new-imsvsize-value device-id