smallpalace's blog

鯖缶主婦の日々の記録です

ljstudy20131127にいってきた

こんにちは。smallpalaceです。

 タイトルどおり行って来たのでその記録です。

途中の駅でカレー食べてたら遅刻してしまいました。

http://togetter.com/li/595658

Twitterタグは #ljstudy

------------------

ふじたさんのRHEL7とかFedora19とかのあたらしい話。

OpenLMIというのがいろいろなのをインクルードしてやってくれるかんじ

systemdとかに変わるのでinittabは残骸しかない

systemdはいろいろやってくれるjuarnaldとかuserせっしょんとかsystem全体のこともやっちゃう

クラウドのはなしRHEL7はクラウドでもつかえるよという

クラウドの基盤にもクラウドのゲストにもつかえるよ。

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で。。

--------

大変勉強になりました。ありがとうございました。

 

読んでいただいたかたもありがとうございました。

またそのうちに。

誤字脱字は気づいたら直します。