Solaris10のswapサイズ拡張に少し手こずったのでメモ残しとく。
Oracleのswap空間の追加見てやってみたけど、エラー発生。
bash-3.2# /usr/sbin/mkfile 2g swap1 bash-3.2# ls -l /var/swap1 -rw------T 1 root root 2147483648 4月 5日 09:19 /var/swap1 bash-3.2# /usr/sbin/swap -a /var/swap1 /var/swap1: このファイルシステムタイプに無効な処理です
最終的にここを参考にしてswap拡張した。
ちなみに環境はVirtualBox上で起動してるSolaris10の環境。
現在のswap状態を確認。
bash-3.2# swap -l swap ファイル デバイス swaplo ブロック 空き容量 /dev/zvol/dsk/rpool/swap 181,1 8 1572856 1572856 bash-3.2# zfs list rpool/swap NAME USED AVAIL REFER MOUNTPOINT rpool/swap 817M 44.5G 491M - bash-3.2# zfs get all rpool/swap NAME PROPERTY VALUE SOURCE rpool/swap type volume - rpool/swap creation (水) 8月 31 1:36 2011 - rpool/swap used 817M - rpool/swap available 44.5G - rpool/swap referenced 491M - rpool/swap compressratio 1.00x - rpool/swap reservation none default rpool/swap volsize 768M local rpool/swap volblocksize 4K - rpool/swap checksum on default rpool/swap compression off default rpool/swap readonly off default rpool/swap shareiscsi off default rpool/swap copies 1 default rpool/swap refreservation 817M local rpool/swap primarycache metadata local rpool/swap secondarycache all default rpool/swap usedbysnapshots 0 - rpool/swap usedbydataset 491M - rpool/swap usedbychildren 0 - rpool/swap usedbyrefreservation 325M - rpool/swap logbias latency default rpool/swap sync standard default bash-3.2#
現在のswapを一旦無効化。
bash-3.2# swap -d /dev/zvol/dsk/rpool/swap bash-3.2# swap -l swap デバイスが構成されていません
swapサイズを拡張。今回は2GBに拡張した。
bash-3.2# zfs set volsize=2G rpool/swap bash-3.2# zfs get volsize rpool/swap NAME PROPERTY VALUE SOURCE rpool/swap volsize 2G local bash-3.2# /sbin/swapadd /var/swap1: このファイルシステムタイプに無効な処理です
エラー?
と思ったけど、拡張したswapは有効になってた。
bash-3.2# swap -l swap ファイル デバイス swaplo ブロック 空き容量 /dev/zvol/dsk/rpool/swap 181,1 8 4194296 4194296 bash-3.2# zfs list rpool/swap NAME USED AVAIL REFER MOUNTPOINT rpool/swap 817M 44.5G 491M -
空き容量も変更前の4倍になってる。(変更前は512MB)
bash-3.2# df -k ファイルシステム kbytes 使用済み 使用可能 容量 マウント先 rpool/ROOT/s10_8-11 65544192 16567451 46297479 27% / /devices 0 0 0 0% /devices ctfs 0 0 0 0% /system/contract proc 0 0 0 0% /proc mnttab 0 0 0 0% /etc/mnttab swap 2985016 364 2984652 1% /etc/svc/volatile objfs 0 0 0 0% /system/object sharefs 0 0 0 0% /etc/dfs/sharetab /usr/lib/libc/libc_hwcap1.so.1 62864930 16567451 46297479 27% /lib/libc.so.1 fd 0 0 0 0% /dev/fd swap 2984728 76 2984652 1% /tmp swap 2984680 28 2984652 1% /var/run rpool/export 65544192 32 46297479 1% /export rpool/export/home 65544192 793212 46297479 2% /export/home rpool 65544192 42 46297479 1% /rpool bash-3.2#
ということで一応成功したっぽい。
この後、Oralce11gのインストール実行してみたけど、swap不足で起動出来なかったOracleインストーラが起動出来たので多分大丈夫。