• 第28回 FreeBSD勉強会
  • 数千台のFreeBSD Jailホストを管理する技術、実務実践からのテクニック
  • 講師: 浅川倫之氏 @asakawaya
  • 日時: 2014-04-18 19:00-21:00
  • 場所: KDDIウェブコミュニケーションズ会議室
  • http://atnd.org/events/48054
  • #FreeBSDStudy
  • http://togetter.com/li/657083

久し振りのFreeBSD勉強会。社内システムで一桁台のJailをつかっているので運用テクニックを求めて。

_1170951_1170982_1170953_1170952_1170954

[2014-04-18 19:00]

  • jail: 発音はジャイル? ジェイル?
  • 性能的に1台で済むところをイベントトラフィックに耐えられるよう複数台のクラスタにするとコストがあわなくなるので複数ユーザでクラスタを共用する。
  • 基本構成は Internet -- LoadBalancer -- Server(cluster) -- DB
  • jailはオーバーヘッドがないので、性能を測ったことすらない。
  • muninのグラフをかくのにサーバがいそがしい。 urchinというログ解析のソフトはバッチで動いてCPU100%つかう。
    • _1170955
  • リリースディスクイメージをそのままマウントして、jail用のディスクは別途用意。
  • ezjailはつかったことないから知らない。使おうとおもったことはあるが、使う意味ないなぁとおもって使わなかった。
  • qjailは4年くらい前から後藤さんの記事をよんでつかっている。後藤さんはつかってないらしいが。
  • qjail3になってマルチIF(1つのjailに複数のアドレスをつける機能)がつかえなくなった。qjailはperlで書いてあるので書き換えてもいいがメンテナンスで心中したくはないので、そのまま使っている。/etc/rc.jailが書き換えられるのもいや。
  • mysqlは複数jailで起動できるが、postgresqlは共有メモリの関係で競合してして動かない。
  • 基本的にFreeBSDバージョンや32/64bitは親とjailとで違っていても動くが、ps/topなど(kmemみるやつ?)は動かないことがある。jailに親のps/topを入れると動くことが多い(が見られる必要もない?)。バージョン違いで動かすのは、古いpostgresqlを入れてデータのサルベージするのにつかったり。

_1170956_1170957_1170958_1170959_1170960_1170961_1170962

[2014-04-18 19:29]

10分ほど休憩タイム

[2014-04-18 19:36]

  • Q: FSはなにをつかっているか?
    • UFSをつかっている。
    • ZFSをつかってないのは容量はあまり必要ではないため。ファイルでいちばん大きいのはapacheのログだが、これも外に追い出している。
    • 昔はSCSIつかってたが今はATAでRAID0(6本)にして高速化している。ZFSだとオーバヘッドがもったいない。
    • UFSだと死んだときのサルベージの経験があって安心感がある。
  • Q: 一元管理はどうしているか?
    • 何かミスして全滅すると怖いので、40台しかないし、手でやってる。
    • 監視はmuninでみてるだけ。張り付いて監視している人はいない。
    • プログラム(CMS)は自社製でmysqlのマスタが死んでもすぐにスレーブをマスタに昇格できるようにスクリプトは組んである。
    • 内容は単純にコピーしてつかっている。
  • Q: Bonding(Teaming)・VLANは?
    • グローバルとプライベートのセグメントを分けてる。バックエンドであるクラスタサーバはプライベートにしか繋がないようにしている(ただし過去のしがらみはある)。
    • VIMAGE(ネットワークスタックの仮想化): そろそろほしくなってきた。客によっては専用線を使いたい案件があり今はファイアウォールでやっているがプライベートアドレスの衝突が起って困ることも。現状はカーネルを作りなおさないといけないのがイヤなところ。
  • nullfs: qjailがnullfsをつかっている。/sharedfsで共有されてる。portsも共有されるので親をアップデートすればjailもアップデートできるがliveではできず一旦止めないといけない(今後のsnapshotに期待)。
  • qjailとjailコマンド直のは混在可能。
  • qjailはzoneがつくれるが/usr/jails決め打ちなのがイヤ。
  • qjail: defaultsに設定を書いておけばコピーされるので便利。/usr/localも共有してる(設定ファイルは変えないといけないけど)。

[2014-04-18 19:58]

  • jailの中からfreebsd-updateができない。外からfreebsd-update -bでできる。qjailならupdate -bとか-pとか。jailごとにdistfilesもってきてしまう。

_1170963_1170964_1170965_1170966_1170967_1170968_1170969_1170970_1170971_1170972_1170973

qjail/jail実演:

  • ちょいはまる

[2014-04-18 20:24]

  • リモートからFreeBSDバージョンを上げるには: 本来はmakeするんだけどバイナリ上書きで。東京から札幌のマシンをアップデートしたり。/etc/passwdが上書きされることがあるので、リブートする前にパスワードを設定するのを忘れずに。

_1170976

質問タイム

[2014-04-18 20:30]

  • Q: linuxのjailはどう?
    • 動くらしいが使ってないので知らない。linux/32bbitでしか動かないKDDIのガラケー課金モジュールがあって困るがエミュレータで動かしている。ちなみに64bit版のlinuxエミュレータはまだない。
  • Q: Jailでうまく動かないことはあるか?
    • 通常はjailだから動かない、ということはない。
    • 親でpsするとJailで動いているプロセスにはJがついてわかるが、jailの中でpsしてもJがついちゃうのはイヤ。sysctlもみえているので、ぜんぜん隠せていない。
    • 昔はloopbackがつかえなかったのでlocalhostに自分の(jailの)アドレスをつけていた。
    • jail内でlistenしてないポートは親につながれてしまう問題がある。
  • Q: リソース(lxcとか)の管理は?
    • 最近はできるようになったらしいが、必要性がないのと、オーバコミット状態で運用しているのでちゃんとリミットつけると動かせるjail本数が少なくなってしまう。
  • FreeBSDはlinuxとちがってて教育コストが低い。(社員はlinuxをつかおうとしてない!)
  • (物理サーバの管理)

_1170977

[2014-04-18 20:46]

[2014-04-18 20:47]

告知 by 佐々木

  • 技評版FreeBSD勉強会が5/22にある。
  • FreeBSD勉強会 #29は6/2
  • FreeBSD VendorSummitはBSD系ならだれでも参加ok
  • BSD Researchは佐藤先生が立ち上げ中。LPICのようなBSD認定検定ができるらしい。海外では3000人くらい受けてて半分くらい合格してるらしい。日本語でできるようになるらしい。

_1170978_1170981

[2014-04-18 20:57]

懇親会

_1170983_1170993_1170984_1170985_1170987_1170998_1170994

閉会 22:50

_1180005_1180001_1180002_1180006_1180007_1180008_1180009_1180011