ytooyamaのブログ

サーバ構築とか、仕事で発見したこととか、趣味のこととかを書いています。

Ubuntu 16.04やCentOS 7で色々あった

昨日のドカ雪から一夜明け、雪道の中の出社はなかなか苦労しました。 かかとに重心をかけて歩幅を狭くして歩くと、割と安定して歩けるような気がしました。

今週は週末くらいまで寒いらしいので、道路に残る雪の凍結や一目見て雪はないように見えるけど、うっすら凍結している舗装された道路に気をつけたいと思います。

Ubuntu 16.04とSpectre対応

Ubuntu 16.04にSpectre対応が入ったカーネルが公開されました。数台(4つくらい)にインストールしてみましたが、とりあえず触ってみた限りは不具合はなさそうです。

Bug #1744244 “linux: 4.4.0-112.135 -proposed tracker” : Bugs : linux package : Ubuntu

CentOS 7のPXEブート

CentOSのISOイメージをいちいちマウントするのが面倒だったので、PXEブートする環境を以前作りました。 CentOS 7のPXEブートができるようにpxe configに次のように記述していました。

label 10
menu label ^10) CentOS 7 x64
kernel cent7/vmlinuz
append linux text initrd=cent7/initrd.img ip=dhcp method=http://ftp.riken.jp/Linux/centos/7/os/x86_64/

ところがなんか時々、PXEブート中やインストーラーの起動中などに失敗してエラーがループしてしまうことがあるのです。 そこでISOイメージをPXEサーバー上のWebサーバーの公開領域(/var/www/htmlの配下)にマウントして、それをmethodに設定しました。

WebサーバーはLighttpdを使い、/etc/lighttpd/lighttpd.confserver.dir-listing = "enable"を追加してディレクトリーインデックスを公開するように設定し、pxe configは次のように書き換えて対応しました。

label 10
menu label ^10) CentOS 7 x64
kernel cent7/vmlinuz
append linux text initrd=cent7/initrd.img ip=dhcp method=http://172.17.14.3/image/cent7/

ちなみにISOイメージのマウントはmountコマンドでmount -o loop -t iso9660 CentOS-7.4-x86_64-Minimal-1708.iso /var/www/html/image/cent7のように実行しましたが、永続化は/etc/fstabに次のように設定しました。

...
/var/www/html/CentOS-7.4-x86_64-Minimal-1708.iso /var/www/html/image/cent7      auto    loop    0       0

当然ながら、PXEサーバーと同じサーバー上のhttpリソースを使うので速いですね。ついでに同じように設定してFedora 27もPXEブートできるように設定しました。

CentOS 7でyumがなんか失敗する

古いバージョンのOpenStackの環境を作る必要があったので、CentOS 7+Packstackでさっくり作ろうと思っていました。 先に書いた問題でちょっとはまりましたが、なんとかCentOS 7.4のインストールとアップデートが終わりPackstackを走らせたら、今度はランダムなパッケージでyumコマンドを使うところでパッケージがなかったり、タイムアウトしたりして処理が中止してしまう問題が起きるようになりました。

インストールするパッケージをyum infoyum listコマンドで調べると、baseやupdatesに存在するパッケージのようです。つまり、標準リポジトリーの問題みたいです。

CentOS 7のミラーサーバーの状態は次のサイトで見ることができます。日本のミラー一覧はこちらのリンクから

the status of CentOS mirrors

そして次がある日のミラー一覧

f:id:ytooyama:20180124000608p:plain

赤字になっているのはどれくらいマスターと同期されていないかを示しているようです。 この状態ながら、リポジトリーの状態が古いのにもかかわらずStatus OKを返しているのはおかしいような気がします。

今回は対象のサーバーを除外するため、次のように設定しました。設定後、もう一度Packstackを実行したところインストールはうまくいった模様です。今後のことを考えるとCentOS 7のローカルミラーを作った方がいいのかな。

# vi /etc/yum/pluginconf.d/fastestmirror.conf
exclude=ftp.nara.wide.ad.jp