• 検索結果がありません。

SL 7.x での SELinux, パケットフィルターの設定

ドキュメント内 VMware Player Scientific Linux 5.x 6.x 7.x RPM (ページ 90-95)

SELinux

が有効になっていると

WebUI

が動作しないので

SELinux

を無効にする必要があり

付録

F SCIENTIFIC LINUX

インストール方法

SELinux

が有効になっているかどうかは

getenforce

コマンドでわかります。

% getenforce

有効の場合は

Enforcing

あるいは

Permissive

と表示されます。無効の場合は

Disabled

と表示さ れます。

無効にするには

/etc/sysconfig/selinux

SELINUX=

で始まる行を SELINUX=disabled

と書き換えてリブートします。

パケットフィルターが有効な状態だと

DAQ-Middleware

で必要とするパケットの送信、受信が できない場合があります。トラブルを避けるにはパケットフィルターを停止させるのが単純でよい と思います。

Scientific Linux 7.x

からは

firewalld

でパケットフィルターの設定をするようになり ました。現在パケットフィルターが有効になっているかどうかは以下のコマンドを実行して確認し ます。

root# systemctl status firewalld

このコマンドの出力に以下のように

Active: active (running) since ...

の行が含まれてい ればパケットフィルターが有効になっています

:

firewalld.service - firewalld - dynamic firewall daemon

Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled) Active: active (running) since Thu 2015-02-26 08:04:36 JST; 23s ago Main PID: 584 (firewalld)

CGroup: /system.slice/firewalld.service

584 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

Feb 26 08:04:28 hostname.kek.jp systemd[1]: Starting firewalld - dynamic fir....

Feb 26 08:04:36 hostname.kek.jp systemd[1]: Started firewalld - dynamic fire....

Hint: Some lines were ellipsized, use -l to show in full.

すぐに停止するには以下のコマンドを実行します。

root# systemctl stop firewalld

再起動後も無効にするには

root# systemctl disable firewalld

と入力します。

付録

G

コマンドラインから

DAQ

オペレータに指示を出す

付録 G コマンドラインから DAQ オペレータに指示を出す

http

を使って

DAQ

オペレータに指示を出すツールとしてウェブブラウザ以外に

Python

を使っ たコマンドラインツールを用意しました。

/usr/bin/daqcom

が実行ファイルです。単に

daqcom

と実行するとヘルプメッセージがでます。

SL 5.x

では

daq% daqcom http://localhost/daqmw/operatorPanel/ -g state

とすると状態が取得できます。

SL 6.x

では

URL

が変更になって daq% daqcom http://localhost/daqmw/scripts/ -g state

になりました。くわしくは参考文献

[4]

を御覧ください。

付録

H INPORT

リングバッファのパラメータの設定

付録 H InPort リングバッファのパラメータの設定

DAQ-Middleware 1.3.0

から

InPort

のリングバッファのパラメータ値を設定できるようにな りました。設定は設定ファイル

(

config.xml

)

を使って行います。設定例を下記に示します。設定 ファイルで指定しない場合はデフォルト値が適用されます。設定可能なパラメータ、値、デフォル ト値は以下のとおりです。

<inPorts>

<inPort from="SampleReader0:samplereader_out"

buffer_length="4096"

buffer_read_timeout="0.010"

buffer_write_timeout=0.010">samplemonitor_in</inPort>

</inPorts>

buffer_length (単位: 個、デフォルト値256)

InPort

リングバッファ長を指定します。単位はバッファ数

(

)

です。デフォルトは

256

個 です

(1.2.2

およびそれ以前は

128

個の固定値でした

)

。たとえばハードディスクのように 大抵は、すばやく書けるがときどき書きだしに時間がかかる

(

たとえば

0.1

秒以上かかる

)

場合に、書きだしに時間がかかっている間に到着したデータをバッファリングする目的で

buffer_lengthの値を大きくしてデータ収集速度を確保するためにこのパラメータを使いま

す。

(

)InPort

リングバッファ中のバッファは、上流から送られてきたデータ長にあわせて動的

に確保されます。

buffer_read_timeout (単位: 秒、デフォルト値 0.005)

buffer_read_empty_policyがblockの場合

(

blockがデフォルトです

)

のリードの最大待ち 時間を指定します。単位は秒です。デフォルト値は

0.005 (5

ミリ秒

)

です

(1.2.2

およびそれ 以前は

0.1

(100

ミリ秒

)

の固定値でした

)

。buffer_read_empty_policyについては下記を ごらんください。

buffer_write_timeout (単位: 秒、デフォルト値 0.005)

buffer_write_full_policyがblockの場合

(

blockがデフォルトです

)

のライトの最大待ち 時間を指定します。単位は秒です。デフォルト値は

0.005 (5

ミリ秒

)

です

(1.2.2

およびそれ 以前は

0.1

(100

ミリ秒

)

の固定値でした

)

。buffer_write_full_policyについては下記を ごらんください。

buffer_read_empty_policy (デフォルト値: block)

InPort

のリングバッファが空のときのInPort.read()の動作を設定します。指定できる値 はblock、および do_nothingです。デフォルト値は blockです

(1.2.2

およびそれ以前は

blockで動作しており、指定はできませんでした

)

。通常はblockを指定しておくことを推奨

します。

付録

H INPORT

リングバッファのパラメータの設定

blockを指定するとリングバッファが空のとき、最大buffer_read_timeoutで指定した秒

数までデータがくるのを待ちます。待っている間にデータがきた場合はInPort.read()は きたデータをすぐに読みます最大時間待ってもデータがこなかった場合、InPort.read()は

falseを返します。この場合、エラーかどうかの判定はcheck_inPort_status() メソッドで

行います。エラーの場合はcheck_inPort_status()はBUF_FATALを返し、単にデータがこな くて読めなかった場合はBUF_TIMEOUTを返します。

do_nothingを指定するとノンブロッキングリードの動作になります。これを指定した場

合は

InPort

のリングバッファが空の場合InPort.read()は、すぐにfalseで返ります。エ ラーかどうかの判定にはcheck_inPort_status()を使います。リングバッファにデータがな く読めなかった場合はcheck_inPort_status() はBUF_NODATAを返します。エラーの場合は

BUF_FATALを返します。do_nothingを指定すると、

InPort

リングバッファが空の状態が続

くときに連続してリードするようにプログラムを作ると

CPU

を著しく消費し、結果として データ収集速度が劣化することがあるので注意が必要です。

buffer_write_full_policy (デフォルト値: block)

InPort

のリングバッファがフルのときのOutPort.write()の動作を設定します。指定でき る値はblock、およびdo_nothingです。デフォルト値はblockです

(1.2.2

およびそれ以前

はblockで動作しており、指定はできませんでした

)

。通常はblockを指定しておくことを

推奨します。

block を 指 定 し た 場 合 、下 流 側

InPort

リ ン グ バ ッ フ ァ が フ ル の と き 、最 大 buffer_write_timeout で 指 定 し た 秒 数 ま で 空 き が で き る の を 待 ち ま す 。待 っ て い る 間に空きができた場合はOutPort.write()はすぐに書きます。最大時間待ってもデータを書 けなかった場合、OutPort.write()はfalseを返します。この場合、エラーかどうかの判定 はcheck_outPort_status()メソッドで行います。エラーの場合はcheck_outPort_status()

はBUF_FATALを返し、バッファがフルで書けなかった場合はBUF_TIMEOUTを返します。

do_nothingを指定するとノンブロッキングライトの動作になります。これを指定した場

合は、下流側

InPort

のリングバッファがフルの場合OutPort.write()は、すぐにfalseで 返ります。エラーかどうかの判定は check_outPort_status()を使います。バッファフル で書けなかった場合はcheck_outPort_statusは BUF_NOBUFを返します。エラーの場合は BUF_FATALを返します。do_nothingを指定すると、

InPort

リングバッファがフルの状態が続 くときに連続してライトするようにプログラムを作ると

CPU

を著しく消費し、結果として データ収集速度が劣化することがあるので注意が必要です。

ドキュメント内 VMware Player Scientific Linux 5.x 6.x 7.x RPM (ページ 90-95)

関連したドキュメント