CUBE SUGAR CONTAINER

技術系のこと書きます。

CentOS7

Ansible: notify と handlers の使い方について調べた

今回は Ansible の Playbook で使える notify と handlers の使い方について調べてみる。 このふたつはペアになっていて、タスクに notify を書いておくと、そのタスクで状態に変更があった場合にそれと対応する handlers が実行される仕組みになっている。 …

インターネットと疎通がないマシンに yum で RPM をインストールする

たまにインターネットとは直接疎通のないマシンをデプロイしなきゃいけないことがあるんだけど、今回はそんなときどうすれば yum で RPM をインストールできるかというお話。 検証環境には CentOS7 を使った。 基本的には CentOS6 でも動作するはず。 $ cat …

MariaDB のデータを mysqldump でバックアップ・リストアする

MySQL (MariaDB) のデータをバックアップ・リストアする方法には色々なやり方があるみたい。 今回は、その中でも最もオーソドックスな mysqldump を使う方法を試してみる。 また、mysqldump はその時点でのデータベースの内容を全て書き出すフルバックアップ…

MariaDB Galera Cluster - Known Limitations について調べた

MariaDB Galera Cluster は MariaDB を同期レプリケーション型のマルチマスタ構成で冗長化するためのアプリケーションだ。 マスタ・スレーブ構成のようにフォールバック用のスクリプトを自分で用意する必要もないし、マルチマスタ構成なのでクラスタを構成す…

Docker v1.8 から RHEL/CentOS6 はサポート外になった

表題の通り Docker バージョン 1.8 から RHEL/CentOS6 はサポート外になった。 今後は Docker を使いたい場合 RHEL/CentOS7 を使う必要がある。 もうちょっと詳しく調べてみる 以下のチケットが Docker バージョン 1.8 のリリースされるちょっと前に話題にな…

rsync で効率的にファイルを同期する

rsync はファイルを別のディレクトリやリモートのホストと同期させるためのプログラムだ。 例えば rsync の代わりに cp コマンドを使った場合、宛先の状態に関わらず全てのファイルがコピーされてしまう。 それに対し rsync では、宛先の状態を確認して異な…

RCS (Revision Control System) を使ってファイルをバージョン管理する

RCS (Revision Control System) は大昔に使われていたバージョン管理システムだ。 21 世紀にもなって何で RCS なんかとも思うんだけど、恐竜が生きていた頃に作られたシステムの中には今でもファイルを RCS で管理しているものももしかすると残っていたりす…

sysbench を使って MySQL をベンチマークする

MySQL の設定や構成またはバージョンの違いによるパフォーマンスの変化を調べるにはベンチマークツールが必要になる。 今回は sysbench というツールを使って MySQL のパフォーマンスを測ってみよう。 検証環境には CentOS7 を使った。 $ cat /etc/redhat-re…

MariaDB Galera Cluster を CentOS7 で使ってみる

MySQL (MariaDB) の冗長化には Master-Slave 構成を組んだり MySQL Cluster を使ったりと色々ある。 その中で Galera Cluster は同期レプリケーションを用いたマルチマスタ型のクラスタが組むやり方だ。 今回はこの MariaDB Galera Cluster を CentOS7 で組…

HAProxy のログを rsyslog と logrotate でローテーションする

今回は RDB サーバや HTTP サーバを冗長化する際にロードバランサと共に用いられることが多い HAProxy のログを rsyslog と logrotate を使ってローテーションする際の設定について書く。 検証用の環境には CentOS7 を使った。 $ cat /etc/redhat-release Ce…

keepalived のログを rsyslog と logrotate でローテーションする

今回はホストの冗長化するのに使う keepalived のログを rsyslog と logrotate を使ってローテーションさせる方法について書く。 検証環境には CentOS7 を使った。 $ cat /etc/redhat-release CentOS Linux release 7.1.1503 (Core) $ uname -r 3.10.0-229.1…

xinetd を使ってホストの状態を監視する

xinetd はスーパーサーバと呼ばれるプログラムで、あるポートに対してアクセスがあった際に設定ファイルを元にして特定のサービスを起動することができる。 以前はプログラムを常駐させないことでメモリの節約などに使うことが主な用途だったようだが、メモ…

ログローテーション機能のないプログラムのログを logrotate でローテートする

ログローテーションを実現するには二つのやり方がある。 一つ目はログを出力するアプリケーション側でローテーションの機能を作りこむやり方で、もう一つは今回扱う logrotate のように別のプログラムを使うやり方だ。 今回は Python で書かれたログローテー…

Python: mod_wsgi の組み込みモードとデーモンモードについて

Python で Web アプリケーションを開発する場合、WSGI という仕様に沿った形で作られているとアプリケーションのポータビリティが向上する。 WSGI の仕様に沿っているアプリケーションは、異なる実装の WSGI サーバであっても動作させることができるためだ。…