CentOS7まわりの踏んで認識したことと調べたメモ

今更ですが備忘録です。ほぼポインタ集でもうしわけない。
バージョンが変わるから動くかどうかとかそういうミドルウェアレベルの細かいのはあんまりないです。

* initdからsystemctlになるので困る関連

 * [mysqldの二重起動のやりかたはmysql5.7からはmy.cnfで完結するらしい件]
 (https://qiita.com/tomgoodsun/items/3a635559215eb1c4d9dc)

　　　以前は起動スクリプト2つ用意してたがそういう必要はなくなった模様

 * 概要をまず知らないといけない件

　　　[RHEL 7 における systemd の概要 - Red Hat Customer Portal](https://access.redhat.com/ja/node/1379593)
　　　[Linux女子部　systemd徹底入門](https://www.slideshare.net/enakai/linux-27872553)
　　　https://www.amazon.co.jp/dp/4797382686/

 * ミドルのバージョンが変わったくらいで上書きされない確実に効くカスタマイズ設定方法を認識しておかないといけない件

　　　https://thinkit.co.jp/story/2014/12/11/5388?page=0%2C2
　　　https://qiita.com/nvsofts/items/529e422bb8a326401c39
　　　http://ksaito11.hatenablog.com/entry/2016/11/06/083900
　　　http://itpro.nikkeibp.co.jp/article/COLUMN/20140708/569987/?rt=nocnt
　　　http://enomotodev.hatenablog.com/entry/2016/09/24/014200

　　　システムが置くユニットファイルは`/usr/lib/systemd/system/<unit名>.<unit種別>`にあるが
　　　自分で設定する場合は`/etc/systemd/system/<unit名>.<unit種別>.d/`のしたに設定を置く。
　　　（/etc下側にファイルがある場合はそちらが優先的にロードされる）
　　　または`systemctl edit <unit名>.<unit種別>`と打つと、
　　　エディタが起動して編集保存すると`/etc/systemd/system/<unit名>.<unit種別>.d/override.conf`
　　　に差分ファイルが置かれる感じに。
　　　しかしeditオプション(7.2からつかえる)で起動されるエディタはデフォルトでnanoになっており、
　　　慣れてないのでvimにしたいというときはprofile的なファイルに以下のように設定するとよさそう。

```
export EDITOR="/usr/bin/vim"
export SYSTEMD_EDITOR="$EDITOR"
export VISUAL="$EDITOR"
export SUDO_EDITOR="$EDITOR"
```

* sysctlのtcpまわりのメモリ増やしたりを起動スクリプトのスタートセクションに仕込んでいたのをどうやってやるのか特定したい件

前述したような位置に起動時のオプションを以下のように書いた設定ファイルを置くとよさそう（たぶん）

```
[Service]
ExecStart=
ExecStart=新しい設定 ##ラッパーつくるなりして変えたい場合
ExecStartPre=command1  ##ここに起動前処理をかく（起動処理の成否判定に関与しない）
ExecStartPost=command2 ##ここに起動後処理をかく（起動処理の成否判定に関与しない）
```
現状設定されてる書ける値などは`systemctl show --all <unit名>`で確認可能。

* [Apacheが2.4になるためアクセス制御の記法がわかりやすくなる](http://blog.matsumoto-r.jp/?p=3482)

* [ファイルディスクリプタ（ulimit）の増やし方がかわる](https://qiita.com/smallpalace/items/bc1d936c546f26b6d9fd)

* [sysctlの値がOS再起動でかわる原因はTunedらしい件](http://yomon.hatenablog.com/entry/2016/08/19/224217)

`/etc/tuned/tuned-main.conf`の`dynamic_tuning = 0`（＝動的変更無効）なら大丈夫でRedhat系はデフォルト無効らしい。

[第3章 Tuned - Red Hat Customer Portal](https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/performance_tuning_guide/chap-red_hat_enterprise_linux-performance_tuning_guide-tuned)

* [Networkmanagerがnameserverを上書きしてくる件](https://metalman.wp-x.jp/linux/resolv-conf%E3%81%8C%E4%B8%8A%E6%9B%B8%E3%81%8D%E3%81%95%E3%82%8C%E3%82%8B%E4%BA%8B%E8%B1%A1%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6centos%E3%81%AE%E5%A0%B4%E5%90%88)

↓azureのwaagentが初期化したところにNetworkManagerが上書きして混沌としたので潔く止めたAnsibleタスク

```
- name: check if cloud provider is azure
  action: command [ -x /usr/sbin/waagent ]
  register: result
  ignore_errors: True
  tags: check-if-provider-is-azure
- name: disable NetworkManager on azure
  service:
    name: NetworkManager
    enabled: no
  tags: disable-NetworkManager-azure
  when: result|succeeded
```

* [Firewalldはiptablesのラッパーなのでiptablesほど細かいことはできないらしくデフォでOffで無かった時に見たい資料](https://www.slideshare.net/enakai/firewalld-study-v10)
クラウド上の仕組みやアプライアンスか他のミドルウェアがあって2重になるしエンドポイント晒してる箇所は最低限だし各ホストでの個別設定だと管理しづらいし見える化阻害するし動確時間が延びるのがアレで止めたいという場合の[止め方](http://server.etutsplus.com/centos-7-disable-firewall/)
（コンフィグレーションツールで共通設定で止めるかイメージ化の時に含めてしまうとかが手間がなさそう）

* [hostnamectlとかNWまわりなどの操作コマンド(*ctl)が結構違うものがある件](https://oss.sios.com/yorozu-blog/rhel6-rhel7change)

* [Chronydはスルーモードの挙動が最初は怪しかったが最近オプションがかわった件](https://qiita.com/ynishimura0922/items/ab4fed24f680aa034f82)

* [oom_score_adj的なOOM_Killer無効化対策のファイル名とスコア値がカーネルバージョンで違うなどの件](https://chuckyz.wordpress.com/2016/12/28/centos-7-disabling-oomkiller-for-a-process/)

　起動スクリプトのスタートセクションにてprocの下のファイルにわざわざリダイレクトで書く必要はなくなり楽になった。

```
# mkdir /etc/systemd/system/httpd.service.d/
# cd /etc/systemd/system/httpd.service.d/
# vi 10-httpd.conf
[Service]
OOMScoreAdjust=-1000
```

* [pacemakerからheartbeatが非推奨になるのでcrmshになってく（pcsはまだ試用版）件](https://ja.osdn.net/projects/linux-ha/releases/67817)

* 一通りまとめてるサイトなど
https://inaba-serverdesign.jp/blog/20141110/centos7.html
https://urashita.com/archives/1538
https://qiita.com/sion_cojp/items/115e1671fcbc8f214aee
https://oss.sios.com/yorozu-blog/rhel6-rhel7change
http://equj65.net/tech/systemd-boot/

* [CentOS7のMHAが公式に落ちてなかった気がしたけど場所がかわってただけな件](https://code.google.com/archive/p/mysql-master-ha/downloads)
以下のDockerfileのあたりにあるビルド手順はたぶんG*Oの人でリンク先の作者様のGoogleDriveにrpmがありました
https://github.com/takumakume/mha-rpm/blob/master/Dockerfile.centos7
https://drive.google.com/drive/folders/0B1lu97m8-haWeHdGWXp0YVVUSlk

ほかにもなんかありそうだけどもとりあえずこんなところで失礼します。