@IT情報マネジメント会議室は、2009年4月15日に新システムに移行しました。
新たに書き込みを行う場合には、新しい会議室をご利用ください。
- PR -

Solaris10でスワップファイルの作成でエラー

1
投稿者投稿内容
take11
会議室デビュー日: 2006/02/16
投稿数: 18
投稿日時: 2008-05-28 16:18
Solaris10でスワップファイルを追加で作成しようとしています。

まず、スワップ用のファイルをfilesというディレクトリに作成しました。

# mkfile 1900m swapfile

できました。

# ls -l
合計 3074311
-rw------- 1 root root 1992294400 5月 28日 13:49 swapfile

ですが、このファイルをスワップファイルとして追加しようとすると、下記のようなエラーが出ます。

# swap -a /files/swapfile
"/files/swapfile" は swap として有効ではありません。
"実行時にユーザーテキストを保存する" ためのビットが設定されている
ブロック型デバイスまたは通常ファイルにする必要があります。

ls -lの結果から分かるように、これは通常ファイルになっていると思います。なぜスワップファイルにできないのでしょうか?
よろしくお願いいたします。
Java僧
ぬし
会議室デビュー日: 2003/11/06
投稿数: 261
投稿日時: 2008-05-28 22:23
mkfile の man ページによると、
「root ユーザーとして mkfile() を実行すると、デフォルトでスティッキービットが設定され、ファイルはゼロでパディングされます。root 以外のユーザーは、mkfile() を実行するときに、chmod(1) を使用して、手動でスティッキービットを設定する必要があります。」
とあります。
take11 さんは root で実行しているようですが、
手動でスティッキービットを立ててから
スワップ追加を実行したらどうなりますか?
_________________
「ご教授」はできません
take11
会議室デビュー日: 2006/02/16
投稿数: 18
投稿日時: 2008-05-29 11:34
引用:

Java僧さんの書き込み (2008-05-28 22:23) より:
mkfile の man ページによると、
「root ユーザーとして mkfile() を実行すると、デフォルトでスティッキービットが設定され、ファイルはゼロでパディングされます。root 以外のユーザーは、mkfile() を実行するときに、chmod(1) を使用して、手動でスティッキービットを設定する必要があります。」
とあります。
take11 さんは root で実行しているようですが、
手動でスティッキービットを立ててから
スワップ追加を実行したらどうなりますか?




ご返答ありがとうございます。
恥ずかしながら、スティッキービットというものの存在をはじめて知りました。勉強になります。
で、早速試してみたのですが、chmodを使用してスティッキービットを立てたり取ったりして試した見たのですが、どちらも結果は変わりませんでした。
もしなにかお気づきの点がございましたら、ご意見いただけるとうれしく思います。
よろしくお願いします。
NeXT
大ベテラン
会議室デビュー日: 2004/04/06
投稿数: 215
お住まい・勤務地: 江戸
投稿日時: 2008-05-30 11:10
手元にある Solaris10 5/08 x86 だと以下の手順で swap 追加できました。
/files は NFS 等ではなくローカルファイルシステム(/dev/dsk/c0t1d0s0)です。
# su -
# # df -h
Filesystem size used avail capacity Mounted on
/dev/dsk/c0t1d0s0 55G 5.8G 48G 11% /
... snip snip...

# /usr/bin/mkdir /files
# /usr/sbin/mkfile -v 1900m /files/swapfile
# ls -l
-rw------T 1 root root 1992294400 May 30 10:30 swapfile
# /usr/sbin/swap -a /files/swapfile

# /usr/sbin/swap -l
swapfile dev swaplo blocks free
/dev/dsk/c0t1d0s1 29,65 8 2104504 2104504
/files/swapfile - 8 3891192 3891192

/files/swapfile を再作成してみたり,swap として指定したファイルに
sticky bit がちゃんと立っているかどうか,コマンドまでのパスが正し
いか,もし環境変数 umask(1) を設定しているのであればそれらの値…etc
を調べてみては如何でしょうか。
1

スキルアップ/キャリアアップ(JOB@IT)