yum updateが異常に遅い(10kbpsほどの)マシンがあり、その解決に手間取ったので解決策をここに書き記しておきます。
まず、yumでfastestmirrorプラグインが有効になっているかどうか確認します。
確認方法は、yum updateの実行の際、Loaded plugins: fastestmirrorと表示されれば有効になっています。
有効になっている場合はキャッシュファイルを削除してみます。キャッシュファイルは、/etc/yum/pluginconf.d/fastestmirror.confのhostfilepathという項目に場所が書いてあります。
私の場合は/var/cache/yum/timedhosts.txtでした。これをリネームして読み込まないようにしてみます。
これでも解決しませんでしたので、/sbin/ifconfigでインターフェースの状態を確認してみます。
すると、errorパケットがかなりあり、現在進行形で増えているようでした。
/sbin/ethtool eth0でさらに詳しく状態を見てみると、Speedが100Mb/sに設定されていました。
他のマシンは1000Mbpsで設定されていたので設定を合わせます。
/etc/sysconfig/network-scripts/ifcfg-eth0を確認してみると、ETHTOOL_OPTS="autoneg off speed 100 duplex full"とあったので、Speedを1000に設定して/etc/init.d/network restartで再起動して有効にしようとしました。
しかし、Bringing up interface eth0: Cannot set new settings: Invalid argumentというエラーが表示されて変更できないようでした。
/sbin/ethtool -s eth0 speed 1000 duplex full autoneg offを実行しても下記のような同様の結果でした。
Cannot set new settings: Invalid argument
not setting speed
not setting duplex
not setting autoneg
おかしいなーと思いつつググると、Speedが1000の時はautonegがonになっている必要があるとの情報を発見しました。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=40505&forum=10&start=16
さっそく/sbin/ethtool -s eth0 speed 1000 duplex full autoneg onを実行したところうまく設定することができました。
再起動しても有効になるよう、ifcfg-eth0にもETHTOOL_OPTS="autoneg on speed 1000 duplex full"と書いておきます。
最後にyum updateを実行すると一瞬でダウンロードが終わりましたw
Source: New feed