「システム基盤構築のプロフェッショナル」レック・テクノロジー・コンサルティングJapanese | English

レック・テクノロジー・コンサルティング株式会社

技術ブログ

HOME > 技術ブログ > 月別アーカイブ: 2014年5月

月別アーカイブ: 2014年5月

Top Award 2013 ~Hawaii Part1~

みなさんはハワイと聞いて何を思い浮かべますか?

私はこんな感じでした!


ハワイのイメージ


こんにちは、Re:Qのカメラマン三上です。

まずは、今回、海外研修旅行に参加させて頂けたことに感謝いたします。

さて、何はともあれ人生初ハワイ、
上図の思いついたもの全部楽しむつもりで行ってきましたッ!
では、順を追って。。。

まず、成田発20時10分の便に乗って、ホノルルへ到着したのが ”当日” の8時15分。

そう、日本とハワイの時差は ”-19時間” ですから、
例えば、5月16日の20時に出発したとして、現地には5月16日の朝8時に到着する訳です。
なんか不思議な感じ。。

因みに、飛行機に乗っている時間は7時間弱。
(逆に、帰りのホノルル→成田は偏西風の影響もあってかおよそ9時間でした。)

飛行機搭乗前から飲酒、機内でも飲酒だったこともあり、
7時間はアッという間に過ぎてしまい、ホノルル空港へ到着ッ!
20140517-001


ツアーで用意されているバスに乗ってしばらく走ると、
オアフ島東海岸を一望できる、「ヌウアヌ・パリ展望台」へ。

この日はあいにく雲が多く、残念ながら絶景とまではいきませんでしたが
この辺りはドラマ「LOST」の撮影地として使われたそうで、
その雰囲気は感じることができました。
1

ついでに「ヌウアヌ・パリ展望台」で発見した痩せたネコをパシャリ。
20140517-002

オアフ島の南側に戻ってくると、うってかわって快晴に。
後で聞いた話によると、このヌウアヌ・パリを有する山々が北東からの貿易風を防いでいることで
島の南側(ワイキキ)の気候は安定しているんだそうです。
逆に山の北側は年間を通して雨が多いとのこと。
4

さて、それからワイキキで昼食を食べ、
20140517-001


ホテル「ヒルトン・ハワイアン・ビレッジ・ワイキキ・ビーチ・リゾート」へ到着。
20140517-002

ビーチをブラブラ散歩して
3

こちらは宿泊したレインボータワー23F自室からの眺望。
20140518-001


夕食の集合時間まで約2時間半ほど空いたので
予定のない人何名かを募りダウンタウン方面へ。
20140517-001

20140517-001-2

まずは、「セントアンドリュース教会大聖堂」。
5

正面入り口にあるステンドグラスは、
高さ15m、幅6mもあり、光が差し込んだ時の幻想的な美しさは圧巻です。
20140517-001-3


次に、かの有名な「カメハメハ大王像」。

一番カメハメハ大王に会いたがってた弊社某氏。
ポーズにも気合が入ってます笑
DSC00829

17:15、トロリー乗り場に到着。

夕食は「カイ・マーケット」にて、18時10分開始の予定。

「カイ・マーケット」へは、カメハメハ大王像のトロリー乗り場から
途中、「アラモアナセンター」を経由し、終点の「ロイヤルハワイアンセンター」まで行き、
そこから徒歩5分の距離。

事前に、HIS窓口の受付嬢からトロリーでの上記区間の移動は
30分と聞いていた我々は正直余裕をかましていた。

と、そんな中事件は起きた。

トロリーを待つこと、10分・・・

こないねー

・・・15分経過。

えええーーー!
どうすんの???

タクシー呼ぶ?
って、全然走ってないじゃん!

・・・20分経過。

だめだ、歩くか!?
アラモアナセンターまで4km?

(私)・・・
(某氏1)・・・
(某氏2)・・・

・・・25分経過。

結局トロリーバスは、30分遅れで乗り場に到着泣。

更に追い討ちをかけるように
「アラモアナセンター」から「ロイヤルハワイアンセンター」まで20分(ワイキキ方面大渋滞)
ってトロリーの無線から聞こえてきたような・・・


この後、我々が夕食に遅れたことは言うまでもありません。

続く。

Top Award 2013 ~Hawaii Part1~

RHEL 6のジョブスケジューラ「anacron」とは Part1

◆ご紹介する内容

こんにちは、Re:Qの中川(晴)と申します。

今回「RHEL6におけるジョブスケジューラ "anacron"」についてご紹介致します。

RHEL5まではcronでの実行がメインだったOS デフォルトジョブも、
RHEL6からほとんどが anacron に切り替わっております。

ただ、従来のシステムで多用されてきたcronと比べ、
anacron はまだ馴染み深くない方もいらっしゃるかもしれません。

そこで、今一度、anacronとcronで混在してしまう点を整理し、2回に分けてご紹介致します。

今回のパート1では、

・cronとanacronの違い
・cronとanacronをどのように使い分けるべきか
・cronとanacronの関係性
・anacronのスケジュール実行フロー

について、なるべくわかり易くイメージ図も交えご紹介致します。
※なお、RHEL6のデフォルト設定をベースにご説明させて頂きます。
※anacronはRHEL7でも実装予定ですが仕様未確認のため本記事の対象外となります。

 

◆anacronとは

anacronとは、
 cronとともにRHELで標準実装されている、ジョブ(コマンドやプログラム等)を
 スケジュール実行する仕組み
です。
 (Windowsでいうタスクスケジューラのようなものです)

RHELではcron、anacronともに利用可能なわけですが、
従来利用されているcronと、今回ご紹介するanacronの大きな違いの1つは
「ジョブ実行時刻の指定」にあります。

●cronは、「ジョブ実行時刻を指定可能です。」
 逆に言うと、指定した時刻以外には絶対に起動しません。

一方

●anacronは、「正確なジョブ実行時刻を指定できません。」
 実行時間帯(例:3時~22時)は指定できますが、
 実行時刻はその時間帯の中でOS側でスケジューリングします。

 

◆cronとanacronの違いまとめ

cronとanacronの違いをもう少し詳細にまとめてみます。

[table id=27 /]

anacron-pika3

[脱線] なぜanacronのような曖昧なスケジューリングの仕組みが必要なのでしょうか。

共有ハードウェア上に、複数仮想OSを動かすのがスタンダードな今、
各OSが一斉にジョブ動作すると、その時刻にリソース負荷が集中してしまいます。

だからといって、OS毎にジョブ時刻を変える設計もサーバ数増加時は管理が大変です。
ランダムにはなりますが、各OSが「今日中のどこかでジョブをやっておくね!」というのも、
ジョブ種別によっては役に立ちます。

 

◆どのように使い分けるべきか

ジョブ実行タイミングの自動分散を必要としない場合、
 従来どおり cron を使って問題ないと考えます。

ジョブ実行タイミングの自動分散を必要とする場合についても、
 柔軟に細かいスケジュール条件が指定可能な cron に対し、
 anacron は不向きとなる条件は数多くありますのでご注意ください。
 

anacronに不向きなジョブ

●1日に複数回起動が必要

●正確な時刻指定が必要

●ジョブ間で実行順序に前後関係がある

●システム管理ユーザ以外がスケジュール登録利用する

 

◆anacronスケジュール実行フロー

anacronは常駐プロセスではありません。
ではanacronはどのようにプロセス起動しスケジュール実行しているのでしょうか。

実はanacronは、cronから1時間に1回プロセス起動されています。
 

▼スケジュール実行フローをイメージ図にしてみます。

anacron-01

 

▼イメージ図を、フローで簡単にご説明します。

①[cron]:hourlyスケジュール実行

 cronが、hourlyスケジュールジョブ(1時間に1回、毎時1分起動)として、
 /etc/cron.hourlyディレクトリ配下のスクリプトを実行します。
 

●関係するのはこの設定ファイル
 /etc/cron.d/0hourly
[table id=30 /]

  ↓
②[script]:anacron起動スクリプト実行

 ①により、cronが/etc/cron.hourly/0anacron スクリプトを実行したことで
 anacronが起動します。
 (=hourlyスケジュールのため1時間に1回起動ということになります)
 

●関係するのはこのスクリプト
 /etc/cron.hourly/0anacron

[table id=31 /]

  ↓
③[anacron]:anacronジョブスケジュール設定を読み込み

 起動したanacronプロセスは、anacron設定ファイル(/etc/anacrontab)より、
 ジョブのスケジュール設定を読み込みます。

 「ジョブスケジュール設定(何日おきに実行するかで指定)」と、
 「④で実施する"ジョブの前回実行履歴"」をふまえ
 
 [本日スケジューリングされている] かつ [本日未実施] のジョブを抽出します。
 

●関係するのはこの設定ファイル
 /etc/anacrontab

 ※設定方法などは、次回のパート2の記事でご紹介する予定です。
[table id=29 /]

  ↓
④[anacron]:各ジョブの前回実行履歴を読み込み

 当日既に実施済みのジョブか否かを、前回ジョブ実施日が記録された
 /var/spool/anacron/[ジョブ名] ファイルより確認します。

 ※本ファイルは、anacronに登録したジョブ別にファイル生成されています。
  例:cron.dailyジョブ → /var/spool/anacron/cron.dailyファイル

 ※本ファイルに記録されたジョブ履歴は、1世代(前回実行日のみ)で、
  YYYYMMDD形式(例:20140421)で記録されております。
  時間までは記録はされておりません
 

●関係するのはこの設定ファイル
 /var/spool/anacron/[ジョブ名]

[table id=32 /]

  ↓
⑤[anacron]:ジョブスケジューリング

④、⑤により抽出された本日実施が必要なジョブは、
前述のとおりOS依存でランダムにてジョブ実行時刻が決定されます。
仕組みの概略は以下になります。

● ジョブ実行時刻はどう決まるか

 anacron起動後、ランダムで決定した「遅延時間」を待機後にジョブ実行します。

 例として、3時にanacronが起動し、ランダム決定した遅延時間が計30分であれば、
 3時30分がジョブ実行スケジュールとなります。

 

● 「遅延時間」とは何か

 /etc/anacrontab内の設定値に基づき以下のように決定します。

 「遅延時間」=共通設定にてランダム決定した遅延時間+
         ジョブ個別設定にてランダム決定した遅延時間

 ※"ランダム決定"の意味
  設定で最大値のみを指定し、最大値以内にてOS側が乱数決定する仕組みを指します。
  (よって遅延時間の範囲自体は制御可能です)

 ※"共通設定"のイメージ
  ジョブAの遅延設定=共通設定+ジョブA個別の設定
  ジョブBの遅延設定=共通設定+ジョブB個別の設定

 ※/etc/anacrontab内の設定項目
  ・共通設定: RANDOM_DELAY(設定ファイルに1つ定義)
  ・ジョブ個別の遅延時間: delay in minutes(ジョブ別に定義)


 例:
  ジョブ共通のRANDOM_DELAY値を45(分)、
  ジョブAのdelay in minutes値を20(分)と設定した結果、
  ある日のジョブAの遅延時間は、ランダムで40分+13分=53分となった。
  次の日は10分+19分=29分となった。

 

● その他条件

 /etc/anacrontab内の設定にて「ジョブ実行可能な時間帯」を定義しています
 (START_HOURS_RANGE設定値)

 そのため、ランダム決定で算出した時刻が、設定時間帯内に納まっていない場合は
 今回のanacron起動では実行されません。

 終日実行されないというわけではなく、anacronは1時間に1回起動されますので、
 1時間後の次回anacron起動時以降に後ろ倒しするという流れです。

 また、anacronはジョブの輻輳を嫌うため、
 登録しておいたジョブの時間帯が重ならないように自動制御も行われます。
 

Part1は以上です。
次回のPart2では、anacronの具体的な設定方法、設定上の注意点等をご紹介する予定です。

ご参考頂けたら幸いです。ありがとうございました。

RHEL 6のジョブスケジューラ「anacron」とは Part1
資料請求・お問い合わせはこちら

▲ ページトップに戻る

技術ブログ

2014年5月
« 3月   6月 »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
採用に関するお問い合わせはこちら