AWS EC2インスタンスのRHEL7について

こんちには。iriharaです。
2014年6月10日にRed Hat Enterprise Linux 7(以下RHEL 7)がリリースされました。
それに伴い、AWSでは早くも、RHEL 7のAMIが配布されています。
選択可能なインスタンスタイプとしては、t2.microからhs1.8xlargeがありますが、
ひとまず、t2.micro(1vcpu、1GBメモリー)でLaunchしてみました。

RHEL7の主な特徴

・Fedora19と、Linux Kernel 3.10をベースとしている。
・デフォルトのファイルシステムが、ext4からxfsに変更されている。
・動作環境としては、X86_64、IBM Power、IBM System z
・インストールアーキテクチャは64bit版のみ
(32bitアプリケーション用ライブラリを同梱)
※このため、64bit版のAMIのみ選択可能です。
RHEL 7にインストールされる主なソフトウエアのバージョンは以下になります。

パッケージ情報

kernel 3.10.0
httpd 2.4.6
php 5.4.16
tomcat 7.0.42
MySQL(MariaDB)5.5.37
PostgreSQL 9.2.7
OpenLDAP 2.4.39
samba 4.1.1
postfix 2.10.1
mailman 2.1.15
Dovecot 2.2.10
BIND 9.9.4
Squid 3.3.8
perl 5.16.3
ruby 2.0.0.353

また、従来の6系との違いとして幾つかありますが、今回はRHEL 7を使用して、LAMP環境を
構築・運用する際に管理系コマンドなどを実行する際に気付いた点を中心に紹介します。

サービス系のコマンド

6系との最も異なる点としては、サービスの管理方法が大きく異なっています。
今までサービスの起動・停止を実行する際に使用していた、/etc/init.d/配下のサービスが
ほとんどありません。
RHEL 7系では、chkconfig / service コマンドが廃止になりました。また、runlevelの概念が無くなり、
targetと言う概念に切り替わっています。
また、initdの替わりとしてサービスの管理をsystemdで行っています。

そのため、コマンド体系なども大きく変わっています。

・systemctl
…サービスの起動や停止を行います。
今まで使用していた、/etc/init.d/ <サービス名> { start | stop | status }の替わりに使用します。
使い方としては、以下のようになります。

例:systemctl { start | stop | status } <サービス名>
…/etc/init.d/でサービスを起動・停止する際の代替方法になります。

systemctl { enable | disable } <サービス名>
…サービスの自動起動の設定を行います。chkconfigの替わりになります。

systemctl is-enabled <サービス名>
…サービスの自動起動設定の確認を行います。

systemctl –type service
…サービスの一覧表示を行います。
※ちなみに、chkconfig –listを実行すると、以下のように表示されます。
今までとは、随分異なります。。

[root@test1 ~]# chkconfig --list

Note: This output shows SysV services only and does not include native
systemd services. SysV configuration data might be overridden by native
systemd configuration.

If you want to list systemd services use 'systemctl list-unit-files'.
To see services enabled on particular target use
'systemctl list-dependencies [target]'.

choose_repo 0:off 1:off 2:on 3:on 4:on 5:on 6:off
netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rh-cloud-firstboot 0:off 1:off 2:off 3:off 4:off 5:off 6:off
rhnsd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

◆その他の管理コマンド

RHEL 7では、最小構成でインストールを行うと、net-toolsパッケージがインストールされません。
そのため、ifconfig、netstat、route、arpコマンドなどが使用できないようですが、AWSのRHEL 7でLaunchしたところ、
デフォルトでnet-toolsパッケージがインストールされていました。
確認したところ、6系と同様今まで通りに、ifconfig、netstat、route、arpなどのコマンドが使用できました。
また、psコマンドも使用可能です。
しかし、今後の方向性としては、以下のコマンドに切り替わっていくようです。
ifconfig
⇒ ip address
…設定を確認する際は、ip address showなどで確認可能です。
パケットの送受信のエラー数の確認などは、「ip -s l」に確認可能です。

route
⇒ ip route
…ゲートウェイの確認が可能です。

arp
⇒ ip n
…関連付けられたIPアドレスとMACアドレスの確認が可能です。

netstat
⇒ ss
…「ss -nat(TCPソケットの確認)」、「ss -nau(UDPソケットの確認)」が可能です。
◆データベースについて

RHEL 7では、MySQLの替わりにMariaDBがデフォルトのデータベースとして採用されています。
MariaDBは、MySQLから派生したRDBMSになります。
yumコマンドで、MySQLのインストールを試みると、MariaDBがインストールされます。

[root@Hoge1 ~]# yum install mysql
Loaded plugins: amazon-id, rhui-lb
Resolving Dependencies
--> Running transaction check
--> Package mariadb.x86_64 1:5.5.37-1.el7_0 will be installed
--> Processing Dependency: mariadb-libs(x86-64) = 1:5.5.37-1.el7_0 for package: 1:mariadb-5.5.37-1.el7_0.x86_64

...

--> Finished Dependency Resolution

Dependencies Resolved

=======================================================================================================================================
Package Arch Version Repository Size
=======================================================================================================================================
Installing:
mariadb x86_64 1:5.5.37-1.el7_0 rhui-REGION-rhel-server-releases 9.0 M
Installing for dependencies:
[root@Hoge1 ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.37-1.el7_0.x86_64
mariadb-5.5.37-1.el7_0.x86_64
しかし、インストールされるコマンドは、MySQLです。

[root@Hoge1 ~]# which mariadb
/usr/bin/which: no mariadb in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

[root@Hoge1 ~]# which mysql
/bin/mysql

では、MariaDBとMySQLが全く同じものかと言うと、そうではなく、仕様などは異なりますが、ここでは割愛させて頂きます。
https://mariadb.org/などでご確認願います。
他にも異なる点やfirewalldなどの新機能がありますが、またの機会に取り上げさせて頂ければと思います。

◆参考

http://blog.yuryu.jp/2014/07/systemd-quick-guide.html
http://devnull.synergy-marketing.co.jp/2013/07/rhel7-systemctl/
http://d.hatena.ne.jp/enakai00/20140712/1405139841
http://d.hatena.ne.jp/enakai00/20140712/1405139841

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.