あまちゃんブログ

やあ!僕だよ!

カテゴリ: SI構築技術


はじめに

WindowsServerFailoverCluster(2012R2)を商用環境で構築してきました。
なかなかググってもいい情報もなし、書籍をみても簡単なチュートリアルしかなく実際に自分で構築をしてから作業にあたりましたが、構築してハマって見つけて大変助かりましたNECさんや富士通さんが出している構築手順書は秀逸だと思います。
http://support.express.nec.co.jp/os/w2012r2/WS2012R2_WSFC_installation_guide.pdf

なら、こここで終わってしまうのですが、構築時にはまっている人向けに、構築して分かった事象解決やナレッジ的な情報を書いてみたいと思います。困っている人の味方あまちゃん:wink:
ほんとは画面SSを見せたいのですが、閉じた環境での構築だったり、コンプラなんちゃらで載せられませんの。

構成

まず構築した構成について紹介しますね。
 

■クラスタ方式
-アクティブスタンバイの2台構成でFC-SAN接続の共有ディスクをマウントさせる「ノード及びマジョリティ構成」という一般的な構成です。従って「Quarum」ディスク用に1GB以上のLUNを用意しました。構成ファイルをクラスタが参照するのでrawではなくNTFSフォーマット(最新のフォーマットでいいです)でマウントしてください。ドライブの見分けがつかないといった管理上の理由がなければ、クラスタ構成ファイルが存在することなどからドライブレターはつけない方がいいかもしれません。
 

■クラスタリソース構成
-管理アクセスポイント(コアクラスタリソース)
 -仮想IP <192.168.0.1>
 -仮想ホスト名
 -Quarum領域 <ドライブレターなし/NTFS>
-役割
 -クライアントアクセスポイント
  -仮想IP <192.168.0.11>
  -仮想ホスト名
  -データ領域 (共有ドライブ)
  -ファイルサーバ
  -HULFT(汎用サービス)


■構成イメージ
aa.png

アプリケーションリソース単位で分けたい方は、クライアントアクセスポイントは複数作成可能です。ここではクライアントアクセスポイントを一つ作成して、その配下にミドルウェアサービスや共有ドライブのリソースを作成しました。

 

■リソース依存関係
ab.png

クラスタ概念で必須の起動から停止のシーケンスについて図で表しています。
あまり意識しなくてもクラスタがこの関係を作ってくれますが、例えばインスタンス起動の後リスナーを起動させてエラーを吐かせない作りにしたり、スクリプト処理を追加するのであればここの依存関係を意識します。変更手順は該当するリソースを選択し、[プロパティ] ダイアログ ボックスの[依存関係] タブを使用して設定してくださいね。

それでは構築順序にともないチェックリストと解説を入れていきますね。

OS環境設定チェックと補足

  • OSインストール後Windows修正パッチを最新にしましょう。
  • サービスLANはSPOFの観点からNICチーミングをしましょう。Windows標準のものを使った方が管理しやすいです。
  • ADに参加してください。必須です。
  • ノードのローカル管理者権限を有するドメインアカウントでログインする。Administratorであるならば意識はしません。ただしADの管理者権限はWSFCでは要件ではないので、エンドユーザーのセキュリティポリシーに従って設定してください。
  • WindowsFirewall無効にする際サービスまで停止しないこと。また無効にする際はAD参加後に実施しないとドメインに対する設定が有効になっても気づかない。
  • NICの順序設定は「サービス用」⇒「ハートビート用」に並べ替える。

ストレージ接続設定チェックと補足

  • クラスタを組んでいるんだからストレージはそれなりのアレイ構成にしてください。
  • クラスタのQuarum領域は1GB以上のLUNを用意すること。
  • ポート設定においては図を参考に冗長性のある接続をしましょう。パス認識がストレージ側及びサーバ側のマルチパス接続でも検知されません。そのくらいシビアです。余談ですが問題が発生した際現地の作業員に指示をだすときも楽です。
  • ホスト設定はWWWNを表示するツールばない場合はMIB情報を参照するといいです。例えば富士通であったらIRMC、IBMであったらIMMです。
  • サーバとストレージ間のFC接続は、SPFモジュールを買い忘れる確率が高いので気を付けて!
  • サーバ側にマルチパスドライバのユーティリティをインストールすると、サーバ側でできている2パスを一つに束ねてくれます。Windowsでいったらmpioの設定を勝手に行ってくれるわけですね。

ac.png
ストレージの管理からの設定になると思いますがこの図の構成であれば2パスの定義ですね。
(CM#0 CA#0 PORT#0)
(CM#1 CA#0 PORT#1)

WSFCインストールのチェックと補足

  • コンポーネントの追加より
  • 最新のパッチもネットで調べて適用しましょう。困ったときは重要かもしれません。

ディスクのマウントと初期化のチェックと補足

  • ディスクのオンライン=ActiveとStanbyサーバ両機でオンラインにしておく
  • 初期化(NTFS)とドライブレター割り当て=Active側で行う

クラスタ「構成検証」ウイザードのチェックと補足

  • 共有ドライブを使用する際、MPIOのところがNGになった場合クラスタは組めません。マルチパスドライバユーティリティで必ず複数パスが束ねられていることを確認してください。
  • 警告は推奨されていない構成であるので潰しましょう。無視できる理由がある場合以外を除いて。 

「クラスタ作成」ウイザードのチェックと補足

  • 管理アクセスポイントをここで作成します。管理用の仮想IPと仮想ホスト名とQuarum領域を定義します。
  • 「使用可能な記憶域はすべて追加する」をチェックすること。勝手に共有領域を登録してくれるのと、共有ドライブクラスタ保護の観点から必須です。


役割の追加(クライアントアクセスポイントを作成する)

ここはポイントなので長文解説しますね。
「クライアントアクセスポイント」とは(IPリソース)と(ホスト名リソース)の組み合わせで構成された業務接続する際のアクセスポイントと言う事になります。何度もいってますが、提供するミドルウェアやサービスごとに作成することも可能ですが、ここではクライアントアクセスポイントは一つだけ作成して、その配下に「共有ディスク」「ファイルサービス」「ミドルウェア」を登録しています。
 

①まずはじめに、「ファイルサーバーリソース」を登録する際に「クライアントアクセスポイント」を作成します。ファイルサーバーが利用する共有ディスク(記憶域)を選択しますよ。

たくさんクライアントアクセスポイントを作れる人はこの方法でいいんですが、なんとなくしっくりこないですね。やっぱり「クライアントアクセスポイント」をまず作ってから、ぶら下げるようにリソースを追加したい...そんな人は以下の手段で作成できるとおもいます。
「役割」-「空の役割を作成」-(右クリックメニュー)-「リソースの追加」-「クライアントアクセスポイント」

ここの設定で失敗しても削除してやり直せばいいのでガンガン作って消してイメージ掴んじゃいましょう!:smirk_cat:


②次にクライアントアクセスポイントが作成されたら、配下にHULFTサービスを追加します。手順はクライアントアクセスポイントを右クリックして「リソースの追加」-「汎用サービス」でHULFTサービスを選択します。ここでも同様にHULFTのデータ集配信で共有利用する共有ディスクを選択しますよ。

あ、「クライアントアクセスポイント」って書くの面倒なので"CAP"って省略させてください。ごめんなさい。:sob:
このCAP配下に登録された書くリソースは、CAPがActiveサーバからStanbyサーバへフェイルオーバされた場合、すべて一緒に移動されます。Active×Stanbyの2台構成であれば何も考えなくていいですが3台構成で各サーバごとに提供するサービスが違う場合、リソースごとにCAPを作り、その配下でリソースを動作させてくださいね。当然「共有ディスク」を使うのであれば、複数サーバからマウントはできないためそれぞれにLUNを用意するなどストレージ設計をしてください。

※ここで例としてあげているミドルウェア製品「HULFT」のクラスタ化は「汎用サービス」で行っています。必ずクラスタ化するための手段がメーカーから提示されていて、その手段に従いクラスタ化してください。
クラスタ対応してないのに無理してやるのは、ミドルウェアの改竄を無理してやっていることと同じです。昔どつぼにハマった末に出した結論です。:dizzy_face:

構築の話は以上です。問題なく構築できましたでしょうか。できなかった場合は以下記述にヒントがあればいいのですが。。
 

構築時に発生した事象

クライアントアクセスポイントが登録できない
「イベントID:1055,1222,10028」がログされていて、だいたいの内容としては、コンピューターアカウントオブジェクトに対する更新処理が拒否されホスト名リソースのオンライン処理に失敗しているようです。
いろいろ試した結果、ADの「コンピュータオブジェクト」に、先に登録されている「管理アクセスポイントのホスト名」に適切な権限が付与されていない場合におきるようです。管理アクセスポイントを登録するまでは問題なかったのですが、いざCAPを登録するときに拒否されます。おそらくADの問題で、ネットワークが遅かったり、ADのサイトリンクコストの間隔により30分経過しても解決しない場合があります。したがってADの管理者との連携が発生するかもしれません。ちなみに自宅の仮想環境では10回やって1度も再現しなかったです。(そんなこんなであきらめて翌日に再確認したところ成功しました。夜も寝れないくらい不安だったw
 

フェイルオーバテスト手順

まあここらへんのテスト概念はご存じだと思われますが言葉や操作方法がよく分からないんですよ。なので以下の流れでフェイルオーバを実施するといいですよ。これで正しいはず(クレームは無しで):smirk:

「CAPとその配下のリソースをフェイルオーバする場合」
ツリー ⇒役割 ⇒表示されているCAPを右クリック ⇒移動 ⇒ノードの選択 ⇒移動先サーバ選択。
 

「管理アクセスポイントをフェイルオーバする場合」
ツリー ⇒管理アクセスポイントを右クリック ⇒他のタスク ⇒コアクラスタリソースの移動 ⇒ノードの選択 ⇒移動先サーバを選択。

 

まとめ

OSの機能としてライセンスも不要なWSFCはプロパティに設定されている初期値が、マイクロソフトさんのMSCS時代から蓄積したクラスタウェア設計思想が反映されていて、とても秀逸なものです。

しかしながら、世にはあまり構築やトラブルシューティングに関する情報はありません。MSの販促は何をしているのでしょうか。

たかがクラスタソフトです。
がんがんぶっ壊してがんがん作りこんでいじり倒しましょう。(構築期間中だけねw)

 

出血大サービスおまけ(保守用クラスタリソース停止起動バッチ)

WSFCはPowerShellでしか制御できません。ここではバッチの中でしか生きられない人(私)のために運用に関するバッチを載せておきますね。
読まれた方はたまにはイイねくださいね。私のような稼ぐこともできない慈善でやっているブロガーはモチベーションあげるのが大変なんでね:thinking:


-----------------
wsfc_stop.bat
-----------------
#

ECHO OFF

set OutPath=c:\windows\cluster\reports

DATE /T >%OutPath%OfflineOut.LOG

TIME /T >>%OutPath%OfflineOut.LOG


REM WSFC Service STOP

PowerShell -Command Stop-ClusterResource 'クラスタリソースの名前' -Wait 600 >>%OutPath%OfflineOut.LOG

IF %ERRORLEVEL% == 0 (echo "クラスタリソースの名前 Service STOP" >>OutPath%OfflineOut.LOG)

EXIT 


----------------------------------
wsfc_start.bat
----------------------------------

ECHO OFF

set OutPath=c:\windows\cluster\reports

DATE /T >%OutPath%OnlineOut.LOG

TIME /T >>%OutPath%OnlineOut.LOG
 

REM WSFC Service START

PowerShell -Command Stop-ClusterResource 'クラスタリソースの名前' -Wait 600 >>%OutPath%OnlineOut.LOG

IF %ERRORLEVEL% == 0 (echo "クラスタリソースの名前 Service STOP" >>OutPath%OnlineOut.LOG)

EXIT


網掛けの箇所は以下を参考にして変更してください。


保守メンテ時に使用するであろうPowershellコマンドレットリファレンス

コマンドレット

解説

用途

Start-Cluster

すべてのノードのクラスター サービスを開始

クラスタレベルでの保守

Start-ClusterGroup

クライアントアクセスポイントを開始

クライアントアクセスポイント/管理アクセスポイントレベルでの保守

Start-ClusterNode

対象ノードのクラスター サービスを開始

対象ノードレベルでの保守

Start-ClusterResource

ミドルウェアなどのサービスリソースを開始

ミドルウェアレベルでの保守

top-Cluster

対象ノードすべてのクラスタサービスを停止

クラスタレベルでの保守

Stop-ClusterGroup

クライアントアクセスポイントを停止

クライアントアクセスポイント/管理アクセスポイントレベルでの保守

Stop-ClusterNode

対象ノードのクラスター サービスを停止

対象ノードレベルでの保守

Stop-ClusterResource

ミドルウェアなどのサービスリソースを停止

ミドルウェアレベルでの保守



それではさいならさいならさいなら〜





🌟ちょっとでもあなたの仕事の役に立つページであったなら、ここをクリックしてくれるとまた頑張れるんだ。




このエントリーをはてなブックマークに追加 mixiチェック Clip to Evernote

まえおき

SANの共有ドライブをHBA間(サーバとFCスイッチとストレージ間をFCケーブル1本の1経路でつないだら、サーバでは1個のデバイス(LUN)が見えますわな。それをマウントしたりアンマウントして、サーバ側で共有ドライブとして利用します。

でも、1パスだから共有ドライブが意図せず見えなくなったらシステム落ちちゃうね。データ消えちゃうしどうしようか。。とするならばケーブルとかHBAとか接続経路を偏らないよう分散して冗長構成にするわけですね。

するとパスが増えI/O処理も増えた結果、サーバ側では、ひとつの共有ドライブ(LUN)が複数あるように見えるんですね。

じゃあ束ねよう![DM-Multipath] ってのは、この複数のパスを一つにして、かつパスに障害が発生した場合にまともな経路を選択切替してくれる冗長技術のことなんです。

multipath-server2.png
※経路イメージはRHさんの絵をパクリ

本書の目的

マニュアル読みながら現場でSAN環境はつくったことはあるんだけど、2年くらい触ってないから忘れちゃったんでメモってますのん

お抱えSEになった今、単一点障害が発生して業務は継続できたとして、壊れた箇所の修復をするってなったときに、交換したら設定変わっちゃうのかな。サーバとめるだけなのか。単純にFO/FBだけですむのか。
また真っ白になってお客さんに怒られるのか..「担当者変えてくれないか」...震える;

構築の流れのおさらいとして、Lifekeeperに特化していますが、クラスタとマルチパス構築についての手順を紹介します。
これをやっとけば80点くらいまでは構築できるとおもいます。
(構築手順参考URL)http://sios.jp/products/lkdk/product/pdf/lk740_rhel61_p2000g3msafc.pdf
予断ですが本書で例として紹介している構成は、8パスあったりします。

ruby.(amachan小話)
最近はどこのベンダもオープンテクニカルしまくって助かりますね。

「ストレージ迷子かぁ、遠慮するな俺の胸に飛び込め後輩。」
「あ、さっきぐぐったんで~。なんちゃって先輩ちぃ~す(口くせーしお前)」
「きいぃぃぃぃぃーー、お前を蝋人形にしてやろうかぁあ」

さあ本題

参考として、実際の環境でマルチパスデバイスの構成と、クラスタ側との連携がわかるようコマンド結果を記載しています。

マルチパスのコマンド表示例

※いちおう補足ですが(*)でマスキングしてますよん。

一部のマルチパスデバイスを抜粋
[root@rhel-5.10-OS~]# multipath -ll
multipath.conf line 11, invalid keyword: prio
mpath2 (**005076****100c050000****00000**) dm-2 IBM,**** ←☆wwidでそのデバイスのことね。
[size=.0G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=1][active]
 \_ 6:0:*:1* sdac 6*:1** [active][ready]
 \_ 7:0:*:1* sdah 6*:1*  [active][ready]
 \_ 6:0:*:1* sdao 6*:1** [active][ready]
 \_ 6:0:*:1* sdau 6*:2** [active][ready]
 \_ 7:0:*:1* sde  8:6*   [active][ready]
 \_ 7:0:*:1* sdk  8:1**  [active][ready]
 \_ 6:0:*:1* sdq  6*:0   [active][ready]
 \_ 7:0:*:1* sdv  6*:8*  [active][ready]

※他マルチパス割愛

⇒はい。一つのマルチパスデバイスに贅沢8パスある構成ですね~。わたしの残業代はでないのに~、一般的は4パスになります。通例どおり一般的な冗長構成となっており、ステータス良好です。
8つの論理的に表示されているデバイス(sde,sdau,sdah,sdk,sdv,sdao,sdac,sdq) を wwid "**005076****100c050000****00000**" にまとめてますね。
 inbalidキーワードとありますが、設定がおかしかったようで別途修正しました。
 まあここではwwidが以下クラスタソフトで見られてるってことをわかるようにしただけです。

冗長ミドルウェアの保護リソースの状態表示例

LifeKeeperdmmp状態抜粋
[root@rhel-5.10-OS~]# lcdstatus
dmmp***: id=**005076****100c050000****00000**)  app=scsi type=dmmp state=ISP ←☆上とおんなじwwidでそのデバイスを保護してるね。
    initialize=(AUTORES_ISP) automatic restore to IN-SERVICE by LifeKeeper
    info=disk_hint=/dev/dm-2 regMethod=allpaths=sde,sdau,sdah,sdk,sdv,sdao,sdac,sdq notResponding=0 ←ここ
    reason=restore action has succeeded
    these resources are dependent: ****vg****
    Local priority = 1
    SHARED equivalency with "dmmp***" on "servername", priority = 10
        FAILOVER ALLOWED

⇒上記で宣言したとおりクラスタソフトの管理コマンドで見ているデバイスとmultipathコマンドで表示したデバイスは同じです。wwidで判断されるわけですね。

本家の技術資もみました

が脳みそが少ない私の頭に言葉が入ってこない
https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html-single/DM_Multipath/index.html

用語は整理しておかないと

・マルチパスとは、サーバとストレージ間の複数のI/Oパス(物理SAN接続)を、単一のデバイスに見せること
 ・アクティブ/パッシブのフェイルオーバで実装が標準
 ・I/Oにはパスの半分だけが常に使用される
 ・問題発生時には代替パスに切り替わる

そういえばさらっとつこてるWWIDって用語はFCやSCSIネットワークにおける識別子とのこと。
っていわれてもわからんw

■WWID
ちゅごくのことば「WWID(World Wide Identifier)」というあるね、これ「scsi_id」のことよ。multipath.confに記述があるらしいよ。。でもね。意識してここに記述するわけではなくてRHELでmultipathdをインストールしたときにマルチパスデバイスの状態をみて、自動で設定するのことよ。手動でも設定できると思うけど上記の構築手順を見るのことよ、この小国民(日本人)どもが。

■WWNN(World Wide Node Name)
ノード内のファイバーチャネルポートで共通な値で設定される名前である。ただし、ノードの定義は各社異なり、装置であったり、アダプタであったりと統一がなされていない。ノードWWNとも呼ばれる。

■WWPN(World Wide Port Name)
それぞれのファイバーチャネルポート(HBA、CA、ファイバーチャネルスイッチポート等)にユニークな値で設定されている名前でIEEEのMACグーロバルアドレスである。同じWWPNのファイバーチャネルポートは世界に二つ存在しないので、ファイバーチャネルポートLOGIN時の識別子として利用されている。ポートWWNとも呼ばれる。

ブラックリストってなんだ

マルチパス設定ファイルの blacklist セクションは、システムがマルチパスデバイスを設定する際に使用されないデバイスを指定します。ブラックリスト化されたデバイスはマルチパスデバイスにグループ化されません。 (RHELポータルより)
従って、
blacklist:(DM-multipathで管理しないもの)

・ローカルドライブなどDM-multipathで管理しないLUのWWIDを記述する。
・共有ドライブの複数wwidを束ねるため「blacklist」に、除外するwwidを全て記載する。もしくはアスタリスクで記述。多くは*

blacklist_exceptions: (DM-multipathで管理するもの)
・共有ドライブで使用するwwidを記載する。つまり上記流れでいうと8パス中1つの代表wwidをホワイトリスト化する。

blacklist {               
wwid "ローカルドライブのwwid" 
}
blacklist_exceptions {
wwid "000050760000100c05000000000000000"
}


ポイント整理 (工事中)

・user_friendly_names オプション=yes
 yesにするとエイリアスを mpathn 形式のノードに一意の名前に設定される。
・新規デバイスが DM-Multipath 管理下に置かれる場合、その新規デバイスは /dev ディレクトリー下の /dev/mapper/mpathn および /dev/dm-n の 2 つの別々の位置で確認することができます。 

まとめ

まだ工事中です。。まとめるにはもうちっと勉強する時間が必要だということがわかりました。。
それではさよならまた合いましょう。

このエントリーをはてなブックマークに追加 mixiチェック Clip to Evernote

 自動マウント機能の設定の仕方のメモです。
 
OSはCentOS6.8(nfsサーバはCentOS7.2) です。
以下のNFSサーバの共有ディレクトリをautomount(autofs)でマウントします。
10.0.1.30:/exports/data
 
すっごく簡単。特にマウントポイントをあらかじめ用意するわけでもなく、設定ファイルに記述すれば、使いたい時にそのマウントポイントにアクセスすれば勝手にマウントするっていう機能です。
普段は隠匿しておきたいバックアップなどで使うマウントポイントとか、DVDなんか毎回マウント処理すんの面倒だから、CLIを使う人は便利なんだろうね。
 
設定の流れは、
・autofsをインストールして
・/etc/auto.masterでマウント先を指定。(といってもデフォルトw)
・/etc/auto.miscでマウントしたいNFSを書くだけ。
・そして/etc/init.d/autofs reload コマンドで設定ファイルを反映。
・あとは、そのマウントポイントを参照すれば自動でマウントしてくれる。

ポイントは、
・普通/etc/fstabで記述するのとは違い、一定の時間(なんか5分くらいかな)がくると勝手にアンマウントされているってこと。
 なんもしないで5分くらいしてからmountコマンドなんかで確認するとわかる。
 まあこの自動アンマウントの時間設定は変えられるらしいです。
・マウントポイントの親ディレクトリは、デフォルトで/miscの下になっている。これは/etc/atuo.masterで設定すれば変更や追加指定できる。
 ここで追加といっているのは、/misc以外にも/mntを追加で親ディレクトリとして指定したい場合とかです。
 NFSは共有ディレクトリなんだからいくつでも同時にマウントできる。この使い方になんのメリットがあるかわからんけどできてしまいます。
 スクリプトで処理を分けたい場合は違うマウントポイントを記載しておくと便利なのかもしれませんね。

参考文献
 http://www.maruko2.com/mw/automount_の設定
 ここの説明が秀逸です。一番構築観点という意味で気になるポイントを押さえて解説されています。


👉マウントして現在のマウント状態を表示しています。ただそれだけw
[root@autofs01 ~]# mount
/dev/mapper/vg_mysql01-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

👉autofsが存在しないことを検索しているだけです。rpm -qa | grep autonfs の方がいいのかな。間違っても大規模なシステムではやらないでくださいw
[root@autofs01 ~]# locate autonfs

👉いないことがわかったのでインストール開始。 
[root@autofs01 ~]# yum install autofs
読み込んだプラグイン:fastestmirror, security
インストール処理の設定をしています
Determining fastest mirrors
 * base: ftp.jaist.ac.jp
 * extras: ftp.jaist.ac.jp
 * updates: ftp.jaist.ac.jp
base                                                                                                                                  | 3.7 kB     00:00     
extras                                                                                                                                | 3.3 kB     00:00     
pgdg96                                                                                                                                | 4.1 kB     00:00     
pgdg96/primary_db                                                                                                                     | 131 kB     00:00     
updates                                                                                                                               | 3.4 kB     00:00     
updates/primary_db                                                                                                                    | 3.5 MB     00:00     
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package autofs.i686 1:5.0.5-122.el6 will be 更新
---> Package autofs.i686 1:5.0.5-123.el6_8 will be an update
--> 依存性解決を終了しました。

依存性を解決しました

=============================================================================================================================================================
 パッケージ                         アーキテクチャ                   バージョン                                    リポジトリー                         容量
=============================================================================================================================================================
更新:
 autofs                             i686                             1:5.0.5-123.el6_8                             updates                             720 k

トランザクションの要約
=============================================================================================================================================================
アップグレード       1 パッケージ

総ダウンロード容量: 720 k
これでいいですか? [y/N]y
パッケージをダウンロードしています:
autofs-5.0.5-123.el6_8.i686.rpm                                                                                                       | 720 kB     00:00     
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
  更新                    : 1:autofs-5.0.5-123.el6_8.i686                                                                                                1/2 
  整理中                  : 1:autofs-5.0.5-122.el6.i686                                                                                                  2/2 
  Verifying               : 1:autofs-5.0.5-123.el6_8.i686                                                                                                1/2 
  Verifying               : 1:autofs-5.0.5-122.el6.i686                                                                                                  2/2 

更新:
  autofs.i686 1:5.0.5-123.el6_8                                                                                                                              

完了しました!

👉/etc/auto.master の中身を見てみます。親マウントポイントは/miscのまま使用するので編集はしません。

[root@autofs01 ~]# cat /etc/auto.master 
#
# Sample auto.master file
# This is a 'master' automounter map and it has the following format:
# mount-point [map-type[,format]:]map [options]
# For details of the format look at auto.master(5).
#
/misc /etc/auto.misc 👈ここの記述が親マウントポイントの指定するところです。変更したい場合や追記はここで編集ですね。
#
# NOTE: mounts done from a hosts map will be mounted with the
# "nosuid" and "nodev" options unless the "suid" and "dev"
# options are explicitly given.
#
/net -hosts
#
# Include central master map if it can be found using
# nsswitch sources.
#
# Note that if there are entries for /net or /misc (as
# above) in the included master map any keys that are the
# same will not be seen as the first read key seen takes
# precedence.
#
+auto.master

👉さあ/etc/auto.misc に実際のnfs情報を記述しましょう。

[root@autofs01 ~]# vi /etc/auto.misc 

👉今回は以下の通り記述します。

nfsdata -fstype=nfs,rw,noac 10.0.1.30:/exports/data

・マウントポイント=nfsdata
・ファイルシステムタイプ=nfs
・マウントオプション=rw読み書き,noac同期する
 ※nfsのオプションはデリケートですので、わからない場合はデフォルトのままで利用して問題があればオプションを変えていきましょう。
・nfsでマウント元ディレクトリ情報


[root@autofs01 misc]# cat /etc/auto.misc 
#
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# Details may be found in the autofs(5) manpage

cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom

# the following entries are samples to pique your imagination
#linux -ro,soft,intr ftp.example.org:/pub/linux
#boot -fstype=ext2 :/dev/hda1
#floppy -fstype=auto :/dev/fd0
#floppy -fstype=ext2 :/dev/fd0
#e2floppy -fstype=ext2 :/dev/fd0
#jaz -fstype=ext2 :/dev/sdc1
#removable -fstype=ext2 :/dev/hdd

nfsdata -fstype=nfs,rw,noac 10.0.1.30:/exports/data


👉それでは設定を反映させます。autofs再起動でもいいのかもしれませんがこれでいけましたよ。
[root@autofs01 misc]# /etc/init.d/autofs reload
maps を再読み込み中

👉さあマウントできているかな?
[root@autofs01 misc]# ll /misc/nfsdata
合計 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 11月 28 23:56 2016 test

👉できてましたね。testファイルが存在していますが元々他のサーバーでマウントしていたときにつくっていたファイルです。

👉5分待てば勝手にアンマウントします。そこは勝手に時間を割いて確認してください。w
 とりあえずアンマウントを明示的にしても、またnfsディレクトリを参照しに行った時に自動でマウントしてくれるのか確認してみました。

[root@autofs01 misc]# umount /misc/nfsdata

[root@autofs01 misc]# mount
/dev/mapper/vg_mysql01-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

[root@autofs01 misc]# ll /misc/nfsdata
合計 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 11月 28 23:56 2016 test

[root@autofs01 misc]# mount
/dev/mapper/vg_mysql01-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
10.0.1.30:/exports/data on /misc/nfsdata type nfs (rw,noac,sloppy,vers=4,addr=10.0.1.30,clientaddr=10.0.1.22)

👉はい。ちゃんと自動マウントしてくれますね!



簡単足早にアウトマウント機能について説明してみました。
それでは、さよならさよなら。
このエントリーをはてなブックマークに追加 mixiチェック Clip to Evernote

→centos7(nfs-client)からcentos6.8(nfs-server)へSSH接続してnfsサーバの設定

[root@amachan-nfs ~]# ssh 10.0.1.30
The authenticity of host '10.0.1.30 (10.0.1.30)' can't be established.
RSA key fingerprint is *******************
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.1.30' (RSA) to the list of known hosts.
root@10.0.1.30's password: 
Last login: Mon Nov 28 23:28:47 2016

[root@amachan-nfs ~]# uname -n
nfs01
[root@amachan-nfs ~]# yum -y install nfs-utils
読み込んだプラグイン:fastestmirror, security
インストール処理の設定をしています
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * extras: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
base                                                                                                                                                                                                                   | 3.7 kB     00:00     
extras                                                                                                                                                                                                                 | 3.3 kB     00:00     
updates                                                                                                                                                                                                                | 3.4 kB     00:00     
パッケージ 1:nfs-utils-1.2.3-70.el6_8.2.i686 はインストール済みか最新バージョンです
何もしません

→たまたまzabbix入れたときにはいってたけど、yum -y install nfs-utils で一式インストールができます。

[root@amachan-nfs ~]# mkdir -p /exports/data
[root@amachan-nfs ~]# chown nfsnobody:nfsnobody /exports/data/
[root@amachan-nfs ~]# vim /etc/exports 
[root@amachan-nfs ~]# vim /etc/netconfig 
[root@amachan-nfs ~]# /etc/rc.d/init.d/nfs-server
-bash: /etc/rc.d/init.d/nfs-server: そのようなファイルやディレクトリはありません
[root@amachan-nfs ~]# service rpcbind start
[root@amachan-nfs ~]# service nfslock
Usage: /etc/init.d/nfslock {start|stop|status|restart|reload|force-reload|probe|condrestart|try-restart|condstop}
[root@amachan-nfs ~]# service nfslock restart
NFS statd を停止中:                                        [  OK  ]
NFS statd を起動中:                                        [  OK  ]
[root@amachan-nfs ~]# service nfs start
NFS サービスを起動中:                                      [  OK  ]
NFS クォータを起動中:                                      [  OK  ]
NFS mountd を起動中:                                       [  OK  ]
NFS デーモンを起動中:                                      [  OK  ]
RPC idmapd を起動中:                                       [  OK  ]
[root@amachan-nfs ~]# service rpcbind status
rpcbind (pid  1116) を実行中...

[root@amachan-nfs ~]# chkconfig --list
abrt-ccpp       0:off 1:off 2:off 3:on 4:off 5:on 6:off
abrtd           0:off 1:off 2:off 3:on 4:off 5:on 6:off
acpid           0:off 1:off 2:on 3:on 4:on 5:on 6:off
atd             0:off 1:off 2:off 3:on 4:on 5:on 6:off
auditd         0:off 1:off 2:on 3:on 4:on 5:on 6:off
autofs         0:off 1:off 2:off 3:on 4:on 5:on 6:off
blk-availability 0:off 1:on 2:on 3:on 4:on 5:on 6:off
certmonger     0:off 1:off 2:off 3:on 4:on 5:on 6:off
cgconfig       0:off 1:off 2:off 3:off 4:off 5:off 6:off
cgred           0:off 1:off 2:off 3:off 4:off 5:off 6:off
cpuspeed       0:off 1:on 2:on 3:on 4:on 5:on 6:off
crond           0:off 1:off 2:on 3:on 4:on 5:on 6:off
cups           0:off 1:off 2:on 3:on 4:on 5:on 6:off
haldaemon       0:off 1:off 2:off 3:on 4:on 5:on 6:off
ip6tables       0:off 1:off 2:off 3:off 4:off 5:off 6:off
iptables       0:off 1:off 2:off 3:off 4:off 5:off 6:off
irqbalance     0:off 1:off 2:off 3:on 4:on 5:on 6:off
kdump           0:off 1:off 2:off 3:on 4:on 5:on 6:off
lvm2-monitor   0:off 1:on 2:on 3:on 4:on 5:on 6:off
mdmonitor       0:off 1:off 2:on 3:on 4:on 5:on 6:off
messagebus     0:off 1:off 2:on 3:on 4:on 5:on 6:off
mysqld         0:off 1:off 2:off 3:off 4:off 5:off 6:off
netconsole     0:off 1:off 2:off 3:off 4:off 5:off 6:off
netfs           0:off 1:off 2:off 3:on 4:on 5:on 6:off
network         0:off 1:off 2:on 3:on 4:on 5:on 6:off
nfs             0:off 1:off 2:off 3:off 4:off 5:off 6:off
nfs-rdma       0:off 1:off 2:off 3:off 4:off 5:off 6:off
nfslock         0:off 1:off 2:off 3:on 4:on 5:on 6:off
ntpd           0:off 1:off 2:off 3:off 4:off 5:off 6:off
ntpdate         0:off 1:off 2:off 3:off 4:off 5:off 6:off
numad           0:off 1:off 2:off 3:off 4:off 5:off 6:off
oddjobd         0:off 1:off 2:off 3:off 4:off 5:off 6:off
portreserve     0:off 1:off 2:on 3:on 4:on 5:on 6:off
postfix         0:off 1:off 2:on 3:on 4:on 5:on 6:off
postgresql     0:off 1:off 2:off 3:off 4:off 5:off 6:off
psacct         0:off 1:off 2:off 3:off 4:off 5:off 6:off
quota_nld       0:off 1:off 2:off 3:off 4:off 5:off 6:off
rdisc           0:off 1:off 2:off 3:off 4:off 5:off 6:off
rdma           0:off 1:off 2:off 3:off 4:off 5:off 6:off
restorecond     0:off 1:off 2:off 3:off 4:off 5:off 6:off
rngd           0:off 1:off 2:off 3:off 4:off 5:off 6:off
rpcbind         0:off 1:off 2:on 3:on 4:on 5:on 6:off
rpcgssd         0:off 1:off 2:off 3:on 4:on 5:on 6:off
rpcsvcgssd     0:off 1:off 2:off 3:off 4:off 5:off 6:off
rsyslog         0:off 1:off 2:on 3:on 4:on 5:on 6:off
saslauthd       0:off 1:off 2:off 3:off 4:off 5:off 6:off
smartd         0:off 1:off 2:off 3:off 4:off 5:off 6:off
sshd           0:off 1:off 2:on 3:on 4:on 5:on 6:off
sssd           0:off 1:off 2:off 3:off 4:off 5:off 6:off
svnserve       0:off 1:off 2:off 3:off 4:off 5:off 6:off
sysstat         0:off 1:on 2:on 3:on 4:on 5:on 6:off
udev-post       0:off 1:on 2:on 3:on 4:on 5:on 6:off
winbind         0:off 1:off 2:off 3:off 4:off 5:off 6:off
ypbind         0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@amachan-nfs ~]# chkconfig rpcbind on
[root@amachan-nfs ~]# chkconfig nfslock on
[root@amachan-nfs ~]# chkconfig nfs on
[root@amachan-nfs ~]# exit
logout
Connection to 10.0.1.30 closed.


→centos7(nfs-client設定)
[root@amachan-nfs ~]# uname -n
amachan-nfs

[root@amachan-nfs ~]# yum -y install nfs-utils
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * extras: ftp.riken.jp
 * updates: ftp.riken.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ nfs-utils.x86_64 1:1.3.0-0.21.el7_2.1 を インストール                                                                                                                                                                    18/18 

インストール:
  nfs-utils.x86_64 1:1.3.0-0.21.el7_2.1                                                                                                                                                                                                       

依存性関連をインストールしました:
  gssproxy.x86_64 0:0.4.1-8.el7_2         keyutils.x86_64 0:1.5.8-3.el7          libbasicobjects.x86_64 0:0.1.1-25.el7    libcollection.x86_64 0:0.6.2-25.el7    libevent.x86_64 0:2.0.21-4.el7         libini_config.x86_64 0:1.2.0-25.el7   
  libnfsidmap.x86_64 0:0.25-12.el7        libpath_utils.x86_64 0:0.2.1-25.el7    libref_array.x86_64 0:0.1.5-25.el7       libtalloc.x86_64 0:2.1.5-1.el7_2       libtevent.x86_64 0:0.9.26-1.el7_2.1    libtirpc.x86_64 0:0.2.4-0.6.el7       
  libverto-tevent.x86_64 0:0.2.5-4.el7    quota.x86_64 1:4.01-11.el7_2.1         quota-nls.noarch 1:4.01-11.el7_2.1       rpcbind.x86_64 0:0.2.0-33.el7_2.1      tcp_wrappers.x86_64 0:7.6-77.el7      

完了しました!

[root@amachan-nfs ~]# mkdir /mnt/nfsdata

[root@amachan-nfs ~]# vi /etc/fstab 

[root@amachan-nfs ~]# mount /mnt/nfsdata

[root@amachan-nfs ~]# nfsstat -m
/mnt/nfsdata from 10.0.1.30:/exports/data
 Flags: rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=10.0.1.40,local_lock=none,addr=10.0.1.30

[root@amachan-nfs ~]# cd /mnt/nfsdata/

[root@amachan-nfs nfsdata]# touch test
[root@amachan-nfs nfsdata]# ls
test
[root@amachan-nfs nfsdata]# ll
合計 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 11月 28  2016 test
[root@amachan-nfs nfsdata]# exit
ログアウト
Connection to 10.0.1.40 closed.

→centos6.8(nfs-server)でちゃんとnfs領域にデータが書かれてるかチェック

amachan-macbook$ ssh -l root 10.0.1.40
root@10.0.1.40's password: 
Last login: Tue Nov 22 11:42:56 2016 from 10.0.1.5
[root@amachan-nfs ~]# ssh -l root 10.0.1.30
root@10.0.1.30's password: 
Last login: Mon Nov 28 23:31:07 2016 from 10.0.1.40
[root@nfs01 ~]# ll /exports/data/
合計 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 11月 28 23:56 2016 test

→それではさよならーさよならー
このエントリーをはてなブックマークに追加 mixiチェック Clip to Evernote

検証記録

すっげーはまったんだ。だからメモ程度の内容かいときます。CentOSと同じじゃないdebian系OSは権限とかほんと違うね。Linuxもヨチヨチ歩きな私には敷居が高かったですし、CentOSのそれとは多少ちがうので余裕のある方はご参考にしてくださいw

わたくしという青二才が行った検証や手記が、皆様の環境にオキマシテモ期待ドオリニナリマスコト、(因果交流電燈のひとつの青い照明)の下で、わたくしと皆様の心象スケッチが描けますことネガッテオリマス。

インストール
https://www.zabbix.com/documentation/2.2/jp/manual/installation/install_from_packages

# wget http://repo.zabbix.com/zabbix/2.2/ubuntu/pool/main/z/zabbix/zabbix-agent_2.2.8-1+precise_amd64.deb
# dpkg -i zabbix-agent_2.2.8-1+precise_amd64.deb
# apt-get update

動作しているので確認

# /etc/init.d/zabbix-agent status
 * zabbix_agentd is running

FW設定をしっかりしている場合はポート10051を許可してください。

設定ファイル修正をします。Linuxとおなじ。
vi /etc/zabbix/zabbix_agentd.conf

設定ファイル修正
vi /etc/zabbix/zabbix_agentd.conf

Server=(Zabbix サーバの IP アドレス)
Hostname=(Zabbix エージェントのホスト名) ← Zabbix サーバ上の設定と合わせる必要があります
ServerActive=(Zabbix サーバの IP アドレス)
 AllowRoot=1 ← root権限で実行できるように値を1にして設定する。

AllowRoot=0

↓↓↓
AllowRoot=1

サービス自動起動設定(新規インストール時のみ)

update-rc.d zabbix-agent defaults
System start/stop links for /etc/init.d/zabbix-agent already exist.

設定変更後のサービスリスタート
/etc/init.d/zabbix-agent restart

ホスト側でエージェント登録する際はLinuxとほぼ同じですが、必須が2つあって
・Debianのテンプレはないですので適当なテンプレをつけました。
・必須なのですが、ホスト名はしっかり名前解決に関連することを記載しないと登録ができないですね。ホスト名のところにはIPではなくてホスト名です。
その際名前解決は不要でした。

監視データ→最新データ
a.png

監視設定

正規表現の作成
管理 -> 一般設定 -> 右端のプルダウン -> 正規表現 -> 正規表現の作成

名前:ここでは"usyslog"にしました。
条件式 :panic|emerg|alert|crit|err|PANIC|EMERG|ALERT|CRIT|ERR ※任意
条件式の形式 :結果が真
大文字小文字を区別 :いいえ ※この条件だと「いいえ」にしても大文字小文字が区別されないので注意
image

テスト文字列へ条件式で設定した文言のうち例として「err」を入力し、テスト条件式をクリックし確認する。
最終結果が真であれば動作OK

アイテム設定
設定 -> テンプレート -> <任意のテンプレート>のアイテム -> アイテムの作成

名前 :ログ監視(/var/log/syslog)※任意
タイプ :Zabbixエージェント(アクティブ)
キー :log[/var/log/syslog,@usyslog]
データ型 :ログ
更新間隔(秒) :10 ※任意
ヒストリ保存期間:90 ※任意

image

トリガー設定
設定⇒テンプレート⇒"Template OS Linux"欄の"トリガー"

名前 :syslog(/var/log/syslog) on {HOST.NAME}
条件式:({テンプレート名:log[/var/log/syslog,@usyslog].iregexp(@usyslog)})#0&({テンプレート名:log[/var/log/syslog,@usyslog].nodata(300)})=0
深刻度:※適宜

image

ログが検知確認
Ubuntuサーバでロギングテストを実施

# logger -p user.err "error"

61854bcd-a178-af55-99de-0b1db22d0c3a.png

以上



🌟ちょっとでもあなたの仕事の役に立つページであったなら、ここをクリックしてくれるとまた頑張れるんだ。



 

このエントリーをはてなブックマークに追加 mixiチェック Clip to Evernote

↑このページのトップヘ