計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)
Ubuntu 8.04 LTS で1TB以上の規模の大容量 ext3 ファイルシステムを fsck できない
現象
大量のノードが存在する1TB以上の規模の大容量 ext3 ファイルシステムを fsck すると
Pass 1 の実行中に以下のようなエラーメッセージが出て完了できないことがある.
Pass 1: Checking inodes, blocks, and sizes
Error allocating directory block array: Memory allocation failed
e2fsck: aborted
原因
利用できるメモリが足りない
解決作
1. メモリを増やす(以下のaかb)
a. 物理的に増やす
b. スワップ領域を増やす
次のようにファイルをスワップ領域にして増設するのが楽
bb if=/dev/zero of=/foo/bar/swapfile bs=1024k count=8192
(8GB[例]の空ファイルをルートシステム上に作る)
chmod 600 /foo/bar/swapfile
mkswap /foo/bar/swapfile
swapon -v /foo/bar/swapfile
(手動でのスワップ領域の設定が完了)
起動時に自動的にスワップ領域が設定されるように /etc/fstab に登録しておく
/foo/bar/swapfile none swap sw 0 0
2. Desktop版UbuntuであればServer版カーネルをインストールして再起動
(Desktop版では使えるメモリが3.5GBを越えられない)
linux-image-server を synaptic や apt-get でインストール
実状
当方では物理メモリの増設をしていないが, 解決できていない
計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)