• LVMパーティションを拡張する。

    自宅のXen仮想サーバー機でLVMパーティションのキャパシティがオーバーしました。
    このままでは仕事にならないので、LVMパーティションの容量を拡張します。

    LVMパーティションを拡張する。

    ・現在のサイズに8GBを追加で割り当てる。
    
    # lvextend -L+8G /dev/VolGroup00/LogVol02
    

    ・パーティションを50GBに拡張する。

    # lvextend -L 50G /dev/VolGroup00/LogVol02
    

    ext2/ext3 のファイルシステムをチェックする

    # e2fsck -f /dev/VolGroup00/LogVol02
    

    ext2 / ext3 ファイルシステムをリサイズする

    # resize2fs /dev/VolGroup00/LogVol02
    

    *)同時にフォーマットもされる。


  • ファイルディスクリプタの上限管理

    Apache on CentOS で大量のバーチャルホストを設定したら次の様なエラーが出ました。

     [Fri Sep 04 23:17:11 2009] [error] (24)Too many open files: could not open transfer log file /var/log/httpd/aaaaaaaaaauo-access_log.
     [Fri Sep 04 23:18:18 2009] [error] (24)Too many open files: could not open transfer log file /var/log/httpd/aaaaaaaaaauo-access_log.
     

    「開くファイルが多すぎるてこれ以上開けない」という内容っぽいです。どうやらCentOSが同時に開けるファイル数を越えてしまったようです。

     # cat /proc/sys/fs/file-nr
     1728    0    22560
     

    左から、現在割り当てられているディスクリプタ数、使用中のディスクリプタ数、OSの上限ディスクリプタ数。

     # vi /etc/sysctl.conf
    
     -----sysctl.conf-----
     fs.file-max = 45120
     ---------------
     

    と設定し、

    # sysctl -p

    で適用。
    再度確認。

     # cat /proc/sys/fs/file-nr
     1728    0    45120
     

    ■ユーザごとのディスクリプタの上限

     # ulimit -n
     1024
     

    増やす。
    最終行に追記。

     # vi /etc/security/limits.conf
     -----limits.conf-----
     root    soft    nofile  44769
     root    hard    nofile  44769
     ----------------------
     

    再ログインして確認。

     # ulimit -n
     44769