Furyu
[フリュー公式]

Tech Blog

フリュー株式会社の技術ブログです

2018年07月30日

Kayo

便利なtmux-xpanesのご紹介

みなさん、こんにちは。ピクトリンク事業部インフラ課の藤本佳世です。
今回は、使ってみてとても便利だった「tmux-xpanes」をご紹介したいと思います。

 

すでに「tmux-xpanes」ご存知の方いらっしゃるかもしれませんが、とても便利なコマンドです。

私は業務でよくサーバにsshログインし、コマンドを実行します。よくあるケースが、10台のサーバに配置された同じサービスをそれぞれ起動したりします。今までは、1台ずつサーバにsshログイン→起動→起動確認→次のサーバという動作を繰り返していました。

 

繰り返すのはとても面倒ですし、時間もかかります。そんな時見つけたのが「tmux-xpanes」です。「tmux-xpanes」を使うと、このような10回繰り返す操作を1回で済ませることができるのです。更に、サービス起動を同じタイミングで実施したいという場合にもとても便利です。

 

「tmux-xpanes」のインストール方法や詳細については、公式のREADME.mdに詳しく書かれているのでご覧ください。

使い方

例として、test-01~04というサーバにログインして、一度に4台すべてのhttpdを起動させます。
まず、ターミナルを開いてサーバにログイン。–sshオプションをつけて、sshログインします。
※他にもオプションがありますが、私が良く使うのはsshです。その他のオプションについては、先ほどの公式README.mdを見て下さいね。

<実際の画面>

1

Enterを押すと、画面が4分割され、サーバ4台にログインできました。

<実際の画面>

2

あとは、httpd起動コマンドを入力するだけですが、4サーバで同時にコマンドが打てます。

<実際の画面>

3

無事4台同時に起動することができました。

<実際の画面>

4

最後に

「tmux-xpanes」は、複数台同時にコマンドが打てるので、仕事も捗ります。

みなさんも是非、この便利な「tmux-xpanes」コマンド使ってみて下さい。
ただし、間違ったコマンドを打ってしまうと大変なことになったりもしますので、操作するときは気をつけて下さいね。


2018年06月28日

Kayo

DNS逆引きやってみました!

みなさん、こんにちは。ピクトリンク事業部インフラ課の藤本佳世です。
今回は「DNS逆引き」についてお話しします。
インフラ業務を行っていると、「このIPアドレス、どこのサーバ?」といった状況に出くわすことが多く、今回DNS逆引き対応をして、日々の業務改善ができました。

DNSとは

DNSとは、Domain Name Systemの略で、ホスト名をもとに、ホストのIPアドレスを教えてくれます。
IPアドレスとは、サーバ1台ずつに割り振られた識別番号で、ネットワーク上の住所のようなもの。
このIPアドレスをもとに、情報のやり取りをします。

例として、nslookupを使って、test01.server.com(ホスト名)のIPアドレスを調べてみます。

IPアドレスは、192.168.33.60と教えてくれます。
IPアドレスは、8bitごとに4つに分割され、それぞれ10進数で表示されます。

上記の例では、test01.server.comというホスト名に対して、IPアドレスを取得しました。
しかし、もしこれが「192.168.33.60」だけ知っていて、ホスト名を調べる際どうすればいいでしょうか?

この問題を解決してくれるのが、DNS逆引きです。

DNS逆引きとは

ホストのIPアドレスをもとに、ホスト名を教えてくれます。
nslookupを使って、192.168.33.60のホスト名を調べます。

ホスト名は、test01.server.comと教えてくれます。

逆引きを実施したときの、60.33.168.192.in-addr.arpaとは何でしょうか?

in-addr.arpaとは

IPアドレスに名前を付けたものが、in-addr.arpaアドレスです。
つまり、192.168.33.60のin-addr.arpaアドレスは60.33.168.192.in-addr.arpaとなります。

逆引きの設定

/var/named/chroot/etc/named.confに設定を追加

/var/named/chroot/var/named/data/192.168.33.revファイルを指定します。

そして、192.168.33.revファイルの中身がこちらです。

60はtest01.server.com、61はtest02.server.comだと分かります。

このように設定ファイルを少し修正するだけで、DNS逆引きをすることが可能となりました。
とても便利なので、みなさんも是非やってみて下さい!


2018年05月18日

Kayo

Pacemaker+Corosyncを使ってみました!(はまった部分をシェア)

みなさん、こんにちは。ピクトリンク事業部インフラ課の藤本佳世です。前回前々回と「Pacemaker+Corosyncを使ってみました!」についてお話ししてきましたが、最後に【はまった部分】をみなさんとシェアしたいと思います。何かお役に立つ情報が見つかれば幸いです。

はまった部分①crmファイルのロードエラー

前回の記事で、設定項目をまとめたcrmファイルを作成したとお伝えしました。それぞれの設定が何なのか、下記のように日本語でコメントを記述しました。

しかし、このファイルをロードしたらエラーが発生してしまいました。内容を確認すると、文字コードエラーでした。

日本語がエラーの原因のようで、英語だと特にエラーは出力されませんでした。何の設定なのか英語で書いても他の人に上手く伝わらない!どうしても日本語で記述する必要があったので、下記のコマンドで無理やり読み込むようにしました。

はまった部分②cloneの値を間違った

Pacemaker+Corosync環境の検証のため、当初は2台構成をしていましたが、7台に増やした際にはまった部分があります。crmファイルのclone設定部分を2→7に書き換えるのを忘れてしまいました。
(誤)

(正)

起動した際、ping疎通エラーが出力されてしまい、ログにも「not running」が出力されました。

はまった部分③ping(疎通確認)のIPアドレスが間違っていた

crmファイルに間違ったpingのIPアドレスを記述してしまいました。

(誤)

(正)

crm_monにオプション-Aをつけると詳細を確認できます。pingエラーが出ています。

ping疎通がエラーになったため、「prmVIPcheck」や「IPaddr2_1」も作動しなかったです。

設定を反映する前に、pingコマンドで疎通確認をしておくことも大切です。

3回にわたってPacemaker+Corosyncについてお話ししてきましたが、少しでも興味をもっていただければ嬉しいです。

今後も役立つインフラ情報をアップする予定なので、引き続きよろしくお願いします。


2018年05月8日

Hashimoto Naoto

動的パフォーマンス・ビューでORA-00942が出たときの対処法

インフラ課の橋本です。

OracleDBの操作で、V$●●系テーブル(ビュー)をselectしようとした時、ないしはV$●●系テーブルに対する権限付与を行う際に

というエラーが返った場合の対処法です。

対処法

sysユーザでログインし、以下のようにテーブル(ビュー)名に『_』を付けて権限付与を行う。

解説

  • V$●●系テーブルは動的パフォーマンス・ビューというもの。200以上の種類があります。
    • 一例としてV$SESSIONテーブルなどが、参照権限の付与の要望を受けやすいでしょう。
  • パフォーマンス・ビューにはデータベース管理者(sysユーザ)がアクセス可能です。
  • データベースの状態によって『動的』に更新され続ける性質があり、主に『パフォーマンス』に関連した情報のため「動的パフォーマンス・ビュー」と呼ばれます。
  • V$●●系の動的パフォーマンス・ビューはパブリック・シノニム(特定のユーザが所有しているわけではないエイリアス、別名)であり、実体はV_$●●というテーブルです。
  • そのため、V_$●●に権限を設定してやる必要があります。これは、シノニムを介して権限を設定できないためです。

シノニムを介して権限付与ができないので、エラーとなります。


2018年04月23日

Kayo

Pacemaker+Corosyncを使ってみました!(crmコマンド編)

みなさん、こんにちは。ピクトリンク事業部インフラ課(3月末から事業部名が変わりました)の藤本佳世です。今回は「Pacemaker+Corosyncを使ってみました!」の続編、crmコマンドを使った設定の部分についてお話しします。

前回の記事はこちら

crmコマンド集

Pacemakerの設定をしたり、確認や削除といった作業は、crmコマンドを使って行います。
今回の構築で使ったコマンドをまとめてみました。※詳しい説明は後ほど

Pacemakerの設定

crm configureコマンド使ってPacemakerの設定ができます。

この状態で1つずつ設定していくことも可能ですが、私の場合は、設定したい項目をすべてcrmファイルに書き出して、crm configure load updateコマンドを使って設定を反映させました。

setting.crmの内容はこちらです。
※仮想VIP設定は、「primitive prmVIPcheck ocf:heartbeat:VIPcheck」の部分です。
※ping疎通監視設定は、「primitive pingd_gw ocf:pacemaker:ping」の部分です。

設定内容を確認するコマンドは下記のようにshowを付けます。

また、設定を削除したいときは、eraseを最後に付けます。

ただし、ノードが「running」ステータスでは下記のようなエラーが発生します。

その場合は、全ノードを「standby」ステータスに切り替え、「running」ステータス以外にする事が必要です。

再度「online」ステータスに切り替えるには下記を実行。

そして最後に、設定のバックアップ取っておくコマンドがこちらです。

現在設定されている項目をbackup.crmに書き出してくれます。
設定をバックアップ取っておくと、再構築になった際にとても便利ですね。
backup.crmの使い方は、最初にお伝えしたように、loadするだけです。

 

今回の投稿は以上です。次回は最終版として構築ではまった部分をみなさんに共有したいと思います。