EN JA
HASTCTL(8)
HASTCTL(8) FreeBSD System Manager's Manual HASTCTL(8)

名称

hastctl高度に利用可能な記憶域 (Highly Available Storage) 制御ユーティリティ

書式

hastctl create [ -d][ -c config][ -e extentsize][ -k keepdirty][ -m mediasize] name ...

hastctl role [ -d][ -c config]<init | primary | secondary> all | name ...

hastctl list [ -d][ -c config][ all | name ...]

hastctl status [ -d][ -c config][ all | name ...]

hastctl dump [ -d][ -c config][ all | name ...]

解説

hastctl ユーティリティは、 hastd(8) デーモンの振る舞いを制御するために使用されます。

このユーティリティは、プライマリモードからセカンダリに、または逆もまた同様に、変更するとき、HAST リソースのロール (role) をセットアップするために、 heartbeat または ucarp のような HA ソフトウェアによって使用されるべきです。 UFS のようなファイルシステムが HAST プロバイダに存在していて、プライマリノードが死ぬなら、ファイルシステムは、セカンダリノードをプライマリロールに切り換えた後に、 fsck(8) ユーティリティで矛盾がないかどうかチェックされることに注意してください。

hastctl への最初の引数は、実行される動作を示します:

create
与えられたリソースのために設定されたローカルのプロバイダを初期化します。追加オプションは、次の通りです:
-e extentsize
範囲 (extent) のサイズ。範囲は、同期化のために使用されるブロックです。 hastd(8) は、汚い範囲のマップを維持し、範囲は、汚いとマークすることができる、最も小さい領域です。範囲のいくつかの部分が変更されているなら、ノードが接続するとき、全体の範囲は、同期されます。範囲サイズが小さ過ぎるなら、与えられたリソースの性能を下げる汚いマップの更新に関連するあまりに多くのディスク動作があります。範囲サイズが大き過ぎるなら、短い機能停止の場合にさえ、同期化は、同期化プロセスが完了する前に、最新のノードを失う危険を増加させながら、長い時間が掛かるかもしれません。デフォルトの範囲サイズは、 2MB です。
-k keepdirty
その間ずっと汚いを保持する汚い範囲の最大数。ごく最近使用された範囲は、メタデータの数を減少させるために汚いを保持します。汚いを保持する、ごく最近使用された範囲のデフォルトの数は、 64 です。
-m mediasize
より小さいプロバイダのサイズは、両方のノードでバックエンドの記憶域として使用します。ノードのプロバイダが両側で同じサイズを持っているなら、このオプションを省略することができます。

サイズが k、M、G または T と接尾辞がつけられるなら、それは、それぞれ、キロバイト、メガバイト、ギガバイトまたはテラバイトのサイズとみなされます。

role
与えられたリソースのロールを変更します。ロールは、次の 1 を指定することができます:
init
リソースは、オフにされます。
primary
ローカルの hastd(8) デーモンは、与えられたリソースのためのプライマリノードとして機能します。リソースのロールがプライマリに設定されているシステムは、 /dev/hast/<name> GEOM プロバイダを使用することができます。
secondary
ローカルの hastd(8) デーモンは、与えられたリソースのためのセカンダリノードとして機能します - それは、プライマリノードから接続を待ち、それから受信された I/O 要求を扱います。 GEOM プロバイダ /dev/hast/<name> は、セカンダリノードで作成されません。
list
設定されたリソースの冗長な状態を表示します。
status
簡潔 (で、より容易なマシン解析可能な) 設定されたリソースの状態を表示します。
dump
設定されたリソースのためにローカルの構成要素に格納されたメタデータをダンプします。

さらに、次のオプションをあらゆるサブコマンドに続けることができます:

-c config
設定ファイルの代替の位置を指定します。デフォルトの位置は、 /etc/hast.conf です。
-d
デバッグ情報を印刷 (表示) します。冗長レベルを上げるために複数の回、このオプションを指定することができます。

関連ファイル

/etc/hast.conf
hastctlhastd(8) のための設定ファイル。
/var/run/hastctl
hastd(8) デーモンと通信するために hastctl によって使用されるソケットを制御します。

終了ステータス

終了ステータスは、成功すれば、0、失敗すれば sysexits(3) で説明された値の 1 つとなります。

使用例

HAST プロバイダを初期化し、ファイルシステムをそれに作成し、そして、それにマウントします。

nodeB# hastctl create shared 
nodeB# hastd 
nodeB# hastctl role secondary shared 
 
nodeA# hastctl create shared 
nodeA# hastd 
nodeA# hastctl role primary shared 
nodeA# newfs -U /dev/hast/shared 
nodeA# mount -o noatime /dev/hast/shared /shared 
nodeA# application_start

shared HAST リソースのために役割を切り換えます。

nodeA# application_stop 
nodeA# umount -f /shared 
nodeA# hastctl role secondary shared 
 
nodeB# hastctl role primary shared 
nodeB# fsck -t ufs /dev/hast/shared 
nodeB# mount -o noatime /dev/hast/shared /shared 
nodeB# application_start

作者

hastctl は、FreeBSD 財団の資金提供の下で Pawel Jakub Dawidek <pjd@FreeBSD.org>によって開発されました。
March 14, 2013 FreeBSD