ljstudy20131127にいってきた
こんにちは。smallpalaceです。
タイトルどおり行って来たのでその記録です。
途中の駅でカレー食べてたら遅刻してしまいました。
Twitterタグは #ljstudy
------------------
ふじたさんのRHEL7とかFedora19とかのあたらしい話。
OpenLMIというのがいろいろなのをインクルードしてやってくれるかんじ
systemdとかに変わるのでinittabは残骸しかない
systemdはいろいろやってくれるjuarnaldとかuserせっしょんとかsystem全体のこともやっちゃう
OpenStackのコンポーネントいろいろあるがRHELのうえで色々うごくようにしてる
Redhatストレージもうごくようにしてる
ハバナがりりーすされてる
OPENSTACK4.0は年内がんばって出すかも。遅れる場合は年明け(海外の人の休暇でのびるかも
サンドボクシングってなんだろう
ファイルシステムがxfsがデフォルトになる予定(ext4、btrfsをサポート、pNFS
莫大な量のテストが終わってなくてxfsが本当にデフォルトになるか分からない
xfsがデフォルトなら一個のファイルシステムで500TBまでサポートする予定。ほかは16TBが上限らしい
pNFSいいよね、GlusterFSよりいいよね(パラレルNFS)
シングルポイントになるがp~は横展開してスケールアウトできるやつっぽい
6.4のpnfsには致命的なちょんぼがあるので6.5のやつをつかおう
pnfsのターゲットサーバ側はロードマップにでてこない
GlusterFSつかい方によってはいい(スケールアウトがたストレージ)
使用用途が限られるので勉強してからつかわないとだめ
RHEL7BASICS;RHEL5は2014に5.10でおしまい、6.5がでた。6.6は2014にでる
7は2014中には出る予定
Fedoracore12と13をまぜてRHEL6がでてる。19ベースで7がでる
4と5はベースになってるFedoraとコードの共有率は60%とか。kernelアップデート取り込んだりするとそうなる。
64bitしかでないらしい。winもmacも64bitになってるし32bitつかってメモリが使えないという問い合わせがいまだにあるのがうんざり
3月か4月とかからSoftwareDesignでRhel7の連載する予定
systemdの下でVNCあげるのとかFirewalldのしたでapacheあげるの一苦労らしいので勉強しましょう的な
2013年11月現在の情報。
KVM徹底入門3冊とかミンティアが配られました。ミンティアごちそうさまです。
---------------
お菓子タイム。ごちそうさまです。
-------------
なかいさんのsystemd入門
http://www.slideshare.net/enakai/linux-27872553
Linux専科て本の宣伝、Fedoraのことも知りたい人に。
systemdのことは本書いたあとに調べた。
自己紹介とRedhatの宣伝
今回はネタなしでガチでいきますとのこと
sysvinitとかupstartの復習。べんきょうになります。
/usr/bin/systemdがsystemdの本体
かみかみw
6ではupstartになってるけどやってることはだいたいおなじ
イベントベースのジョブ管理システムみたいなの
ジョブの定義ファイルが/etc/initのしたにいろいろある
結果として6のupstartは5のsysvinitとだいたいおなじ
設計時点ではjobの流れを最適化して起動処理を最適化しようとしてたけどsystemdができちゃった
systemdは過去との互換性を捨てて洗練された起動プロセスを実現したいというもの
従来のsysvinitは最低限start/stop/statusの3つを受け付けるひつようがある
レナーとのブログに何を思ってsytemdをつくったか書かれてる
システムの起動時間を短縮し並列度を高めたい、動的変更に対応したい、プロセスの停止処理を標準機能化したい(pidファイルやめてsystemdが何を起動したかトラッキングしてとめる)、Cgroupと連携したい(設定ファイルをsystemdが読んでリソース制限したい)
systemdの最小処理単位がUnit
.service 有効化するとデーモンが起動する
.target 何もしないが依存関係とかを定義するとかグループ化する
.mount ファイルシステムマウント
/swap swapが有効化される
管理者が最低限やらないといけないのはserviceとtargetをいじるの
Unitの定義ファイルの場所
設定ファイルの場所:
/etc/systemd/system/ 管理者がカスタマイズする
/usr/lib/systemd/system システムデフォルト設定(編集してはだめでコピーして/etcのしたにおく
元に戻したいときは/etcのしたのを消せば/usrのほうのデフォルト値に戻る
シンボリックリンクは別名を定義してる
rsyslogというサービスがsyslogという名前でも参照できるとか
マルチユーザターゲット(runlvel3相当)が最初に有効化される
defoult.target
grafical.targetがれべる5、れすきゅーターゲットがレベル1に相当する
依存関係の設定方法は2種類
requires とwantsこのターゲットを有効にするならこちらも一緒に有効化してねという依存関係の定義
設定ファイルディレクトリのなかにターゲット名.wantsというなぞのディレクトリがあるここに依存関係があるサービスのリンクがいっぱいある
設定ファイルでやるのとディレクトリと何が違うのかはこのあとすぐ
答えをいうとwantsディレクトリは管理者が直接リンク貼るとかではなく、chkconfigに相当するコマンドで実行される
systemctl disable sshd serviceとするとリンクが消え、
systemctl enable ..とするとリンクが張られる。
ファイルに書かないとsystemctlコマンドは使えないようです
ややこしいところ、いまのは依存関係、全体としてどのくらいのUnitが必要か依存関係で決まるが、起動順序とは関係なく、順序関係は別途定義する必要があり、定義しないと並列で実行されるっぽい
順序関係はAfterとBeforeで設定する
After=ABCだとABCのあと、Before=ABCだとABCの前
ネットワーク前提のサービス(sshとか)はAfter=network.target、
Firewallの設定は、Before=network.targetというかんじ
順序いちらん表示コマンド
systemctl list dependencies default.target --all
全部表示される。逆に読みきれないので--allけすとすぐしたのやつだけ表示される(target以外のユニットが現れるまで再帰的に)
lessにパイプしてくれるのでcatにパイプすると流れる
ユニット名
systemctl list dependencies network.target --before
--afterとか指定できる(beforeだと指定したのものが前のそれよりあとのユニットが表示される
networkマネージャrhel7では必須
状態確認コマンドがある
systemctl list inits
systemdの操作方法
systemctl status httpd service
ログも表示される。ログもトラッキングしてて直近の一部が表示される
systemctl daemon-reload
chkconfigも残ってるけどsystemctlコマンドのラッパーになってる
service postfix initdbとかはもうできなくなるかもでfedora17ではエラーになったけど19ではリダイレクトしてできる模様
変わったオプションは別のコマンドとしてセットアップしてねというポリシーではあるとのこと
sytemd cgls システムdが管理してるcgroupが全部表示される
プロセスグループへのシグナル送信
systemctl kill -s9 sshd.serviceとか
ごみプロセスが残るのを防止する
標準しゅつりょくへの書き出しはsystemdが読んでる
rsyslogdに送るやつも読んでる
UnixSocketからsystemログを受け取ってるrsyslog、それをsystemdが代わりにlistenしてsystemdが書き出してるソケットをrsyslogがlistenする
journaldのログ検索、このサービスに関連したログだけを追える
かこいいなsystemd
具体的な設定ファイルの書き方は資料読んでね
参考資料、systemdはmanページが超充実してる
関連コマンドがいっぱい
man systemd service
manページを駆使するとほぼ分からないことはなくなりそう
今回の資料を全部説明できてないけどまじめにやると1日コースになる。
Redhatでやると1日4万とかになるけど受けたい人いますかとか
ちらほら。
QA
Q.依存関係の設定と順序関係の違いがよくわからない
A.依存関係の設定と順序関係は別で、依存関係は順序関係に置き換えるとわかりやすい
補足、systemdはスーパーサーバの機能ももってて80番をsystemdが持っててhttpdに投げるとかもできる。補足すると、ソケットのスゴイつかい方、httpd本来のサービスがあがるのが遅くなるのでhttpd.socketをあげといてキューにためとくとか。
来年のLinuxConnにレナートくるので聞いてみるといいかも
Q.ハートビーツの斉藤さん、優先度の話があった、httpdに関してchefのレシピを書く場合、いじるのは/usrのほう?
A./usrのしたのをコピーして/etc/にいれて編集しましょう、/usrはrpmがつっこむ場所でユーザがいじるのは/etcのしたのやつ
Q.デーモンツールズを思い出す。systemdがなにを目指すかというのに殺しても殺しても起動するみたいなのを目指してるかどうか知りたい
A.従来のsysvだとプロセスツリーで把握してるのでフォークしてしまうと追えなくなるが、systemdはcgoupで把握してるので追える
Fedoraの途中から.serviceとか.target打たなくて良くなった(中井さんの環境だとたまに怪しい)なくしてく方向っぽい
systemctl isorait もうすでにランレベルという概念はない
Linuxはkernelとsystemdだけになった。
日系Linuxとかで翻訳したやつ書いてる
runlevel3.targetというリンクは残ってる
残りの質問は休憩室で。。次回はfirewalldで。。
--------
大変勉強になりました。ありがとうございました。
読んでいただいたかたもありがとうございました。
またそのうちに。
誤字脱字は気づいたら直します。