CentOS7(2)ロケールとネットワークの設定

Localeの設定

Localeを設定することで、特定に地域に適した言語や時刻、通貨などを設定することができる。Localeの設定や確認には、localectlコマンドやlocaleコマンドを使用する。Localeを表す複数の環境変数が存在する。

環境変数 意味 備考
LANG デフォルトロケール LC_で始まる全ての環境変数に適用される
LC_CTYPE フォールバックロケール 希望する複数のロケールを指定できる
LC_NUMERIC 数字の区切り
LC_TIME 日付形式
LC_COLLATE 正規表現などの照合順序
LC_MONETARY 通貨
LC_MESSAGES メッセージ
LC_ALL トラブルシューティング LANG や LC_よりも優先される変数

localctl

Localeの確認や設定を行う。

  • localeの確認
    # localectl
       System Locale: LANG=en_US.utf8
       VC Keymap: n/a
       X11 Layout: n/a
    

  • Localeの設定

    # localectl set-locale LANG=en_US.utf8
    

locale

Localeの確認を行う。

  • Locale環境変数の表示
    # locale
    LANG=en_US.utf-8
    LC_CTYPE="en_US.utf-8"
    LC_NUMERIC="en_US.utf-8"
    LC_TIME="en_US.utf-8"
    LC_COLLATE="en_US.utf-8"
    LC_MONETARY="en_US.utf-8"
    LC_MESSAGES="en_US.utf-8"
    LC_PAPER="en_US.utf-8"
    LC_NAME="en_US.utf-8"
    LC_ADDRESS="en_US.utf-8"
    LC_TELEPHONE="en_US.utf-8"
    LC_MEASUREMENT="en_US.utf-8"
    LC_IDENTIFICATION="en_US.utf-8"
    LC_ALL=en_US.utf-8
    

  • インストール済みのLocaleの確認

    # locale -a
    

ネットワーク設定

CentOS7からは、ifconfigやnetstatなどのネットワークコマンドが非奨励となり、iproute2パッケージに含まれる、ipコマンドやssコマンドを使うことが奨励されている。また、ネットワークの設定も、これまでのように設定ファイルを直接書き換えるのではなく、nmtuiコマンドを使用して設定変更することが奨励されている。

nmtui

内容 CentOS6 CentOS7 CentOS7(略記)
IP ifconfig ip link ip l
IPアドレスの参照 ifconfig ip addr ip a
ルーティングの参照 route ip route ip r
ARPの参照 arp ip neigh ip n
ne netstat ss

Fluentd + Elastichsearch + Kibana(1)CentOS7で環境構築する

Fluentdで収集したログをElastichsearch + Kibanaに入れて可視化する。ここを参考にしながら、まずはCentOS7に環境構築してみる。

Elastichsearch

OpenJDKのインストール

Elasticsearchは、インストールにJAVA7以降(Java8 Update 20以降、もしくはJava7 Update 55以降)のJDKを必要とする。Oracle JavaもしくはOpen JDKがサポートされているようなので、今回はOpenJDK8をインストールする。

sudo yum -y install java-1.8.0-openjdk

Elastichsearch のインストール

RPMからElastichsearchをインストールする。

sudo rpm -ivh https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/rpm/elasticsearch/2.3.5/elasticsearch-2.3.5.rpm

インストールが終わると以下のように忠告されるので、

### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemd
 sudo systemctl daemon-reload
 sudo systemctl enable elasticsearch.service
### You can start elasticsearch service by executing
 sudo systemctl start elasticsearch.service

言われた通りにコマンドを実行し、Elastichsearchを起動。

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

Fluentd

Fluentdをインストール

自動インストールスクリプトが用意されているので、これを実行する。現在、Fluentdは2.X系で開発が進められているので、td-agent2を指定してインストールを行う。

sudo curl -L http://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sh

FluentdとElastichsearchとの連携

FluentdからElastichsearchへデータを受け渡すためのプラグインをインストールする。

sudo yum -y install gcc libcurl-devel
sudo td-agent-gem install fluent-plugin-elasticsearch

Fluentdを起動

sudo systemctl enable td-agent
sudo systemctl start td-agent

Kibana

Kibanaのインストール

Elastichsearchのリポジトリを追加する。

sudo vi /etc/yum.repos.d/elastic.repo

[kibana-4.4]
name=Kibana repository for 4.4.x packages
baseurl=http://packages.elastic.co/kibana/4.4/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1

yumからインストールする。

sudo yum install kibana -y

Kibanaを起動

sudo systemctl enable kibana
sudo systemctl start kibana

Kibanaを起動

これでインストール作業が全て完了。
インストールしたサーバの5601ポートにアクセスするとこんなページが見れるはず。

http://XXX.XXX.XXX.XXX:5601

Kibana

CentOS7(1)アレイコントローラの認識

HP Dynamic Smart Array B140i Controller

CentOS7をインストールするサーバに、アレイコントローラが搭載されている場合、アレイコントローラのドライバを指定した上でインストールを実行しないと、論理ドライブが認識されずに物理ドライブがそのまま見えてしまう場合がある。HP ProLiantに搭載されているHP Dynamic Smart Array B140i Controllerを認識させる場合は、デバイスドライバの入ったUSBメモリを作成し、このUSBメモリを使ってCentOSインストールと同時にドライバの組み込みも行う。デバイスドライバは、HPのサポートページからダウンロードすることが可能である。

デバイスドライバ(ドライバディスケット)のダウンロード

HPのサポートページから「.gz」形式のドライバーをダウンロードする。

デバイスドライバのダウンロード

デバイスドライバー(ドライバディスケット)の解凍

解凍すると「.dd」形式のファイルとなる。

デバイスドライバの解凍

USBメモリへの書き込み

FAT形式にフォーマットしたUSBメモリにddコマンドを用いてドライバを書き込む。「.dd」形式のファイルをファインダー上でドラッグアンドドロップするだけでは、正常に読み込むことができない

FAT形式にフォーマット

Macの場合は、ディスクユーティリティを使ってFAT形式にフォーマットする。このとき、名前をUNTITLEDと命名すると、通常は/Volumes/UNTITLEDでマウントされる。また、装置欄に記述されている名称(disk2)がデバイス名称(/dev/disk2)となる。

USBメモリのフォーマット

ddコマンドによる書き込み

USBメモリがマウントされている状態では、ddコマンドを実行することができない。

$ sudo dd if=hpdsa-1.2.8-107.rhel7u0.x86_64.dd of=/dev/disk2
Password:
dd: /dev/disk2: Resource busy

そこで、ddコマンドを実行する前に、USBメモリをアンマウントしておく。

$ sudo umount -fv /Volumes/UNTITLED

改めて、ddコマンドを実行する。

$ sudo dd if=hpdsa-1.2.8-107.rhel7u0.x86_64.dd of=/dev/disk2
2584+0 records in
2584+0 records out
1323008 bytes transferred in 0.654908 secs (2020143 bytes/sec)

CentOSをインストール

CentOSをインストールする際にGRUBエントリーの編集を行い、デバイスドライバーのインストールとAHCIの無効化を行う。

GRUB選択画面

eコマンド”で編集画面に遷移し、”inst.dd modprobe.blacklist=ahci“を追記した上で起動を行う。この時点では、まだUSBメモリを挿入しない

vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CENTOS\X207\X20\X86_64 quit inst.dd modprobe.blacklist=ahci

すると、どのデバイスからドライバをインストールするかを問うプロンプトが表示されるので、この時点で初めてUSBメモリを挿入し、”rコマンド“によりデバイス一覧の再スキャンを行う。

DD: starting interactive mode

(Page 1 of 0) Driver disk device selection
    /DEVICE TYPE      LABEL
# to select, 'r'-reflesh, or 'c'-continue:

USBメモリが認識されるので、どのデバイスにある、どのドライバを組み込むのかを対話形式で入力する。

(Page 1 of 1) Driver disk device selection
	/DEVICE	TYPE	LABEL
1)	sda1	vfat	VID	XXXXX
2)	sda2	ext4	OEMDRV	XXXXX
# to select, 'r'-reflesh, or 'c'-continue: 2
DD: Examining /dev/sda2

(Page 1 of 1) Select drivers to install
1)	[]	/media/DD-1/rmps/x86_64/kmod-hpdsa-1.2.8-107.rhel7u2.x86_64.rpm
# to toggle selection, or 'c'-continue: 1

(Page 1 of 1) Select drivers to install
1)	[x]	/media/DD-1/rmps/x86_64/kmod-hpdsa-1.2.8-107.rhel7u2.x86_64.rpm
# to toggle selection, or 'c'-continue: c
DD: Extracting: kmod-hpdsa

これでドライバの組み込みが終了したので、この時点で必ずUSBメモリを抜いておく。USBメモリを挿したままインストール作業を実行すると、USBメモリからOSインストールを行おうとしてエラーが発生する。

HP Smart Array P440 FBWC Controller

SAS HDDのアレイコントローラであるP440は、何もしなくてもCentOSから認識された。違いはなんなんだ。