オルトプラスエンジニアの日常をお伝えします!

CentOS7に入門!

こんにちは、id:iandoです。

最近は構築作業を行うことが少なくなっていたのですが、久々でCentOS7(現時点の最新は7.3)をインストール・設定をする機会があったので、前バージョンとの比較で、気になった点を今更ながらいくつかまとめてみたいと思います。

ipコマンド

ネットワークコマンドとして、ifconfig コマンド が従来存在していましたが、CentOS7 では、代わりに ip コマンドが推奨されています(ifconfig は deprecated となっているそうです)。
IPアドレスの確認は、以下のようにして行うことができます。

ip a

サービスとランレベル

CentOS7では、従来存在したランレベル は廃止されて、代わりにターゲット と呼ばれる概念が導入されています。
また、従来のservice コマンドは存在するようですが、代わりにsystemctl コマンドを使ってサービスの管理を行うことが推奨されています("init.d", “chkconfig"なども移行)。

  • 起動、停止、再起動
systemctl start httpd
systemctl stop httpd
systemctl restart httpd
  • サービス一覧
    以下のコマンドでサービスの一覧を確認することができます。
ls /usr/lib/systemd/system/
  • 自動起動有効、無効
systemctl enable httpd
systemctl disable httpd

ファイアウォール

従来のiptables自体は存在しており、同様に設定することもできるようなのですが、新たな管理方法として、firewalld が追加されています。
設定の保存・反映などで個人的にはiptables よりも管理が楽だなと感じました。もしiptables を使っているのであれば、将来的なことも考慮して firewalld に移行した方がよいかもしれません。
firewalld では、裏ではiptables が動いているようなのですが、概念としてゾーンという単位で管理を行います。

  • public ゾーンに http サービスを追加
firewall-cmd --zone=public --add-service=http
  • SYN flood 対策
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p tcp ! --syn -m state --state NEW -j DROP 
  • 12345ポートの通信許可
firewall-cmd --add-port=12345/tcp --permanent
  • 設定確認
firewalld-cmd --list-all
  • 設定反映
firewall-cmd --reload

また、"-add-rich-rule"を使うと、ログの取得を行うことができます。

データベース

CentOS7では、デフォルトのデータベースサーバがMySQL からMariaDB に変更されています。

その他

他にも色々な新機能がありますが、いくつかを記載します。

  • journald
    従来の"rsyslogd"と並行して、フィルタリングなどの管理機能を強化したjournald が追加されています。

  • OpenLMI
    サーバ管理・監視を効率的に行う仕組みとして、OpenLMI が追加されています。

  • tuned
    システムパフォーマンスチューニングを簡単に行うための tuned が追加されています。

  • Kickstart
    自動インストールを行うための仕組みとして、KickStart が搭載されています。

今回、構築にあたり、以下の書籍を読みながら学習させていただきました。
従来のバージョンとの比較となる点が多く書かれており、
また、virsh,kickstarterなどdockerを中心とした仮想環境構築に対応するための情報、後半ではHadoopの構築や分散ストレージのGlusterFSやCephについてのインストール、設定方法が詳しく書かれており、参考になることが多かったため、紹介させていただきます。

CentOS 7実践ガイド (impress top gear)

CentOS 7実践ガイド (impress top gear)