GMIRROR(8) | FreeBSD System Manager's Manual | GMIRROR(8) |
名称
gmirror — ミラーデバイスのための制御ユーティリティ書式
gmirror | label [ -Fhnv][ -b balance][ -s slice] name prov ... |
gmirror | clear [ -v] prov ... |
gmirror | configure [ -adfFhnv][ -b balance][ -s slice] name |
gmirror | configure [ -v] -p priority name prov |
gmirror | rebuild [ -v] name prov ... |
gmirror | insert [ -hiv][ -p priority] name prov ... |
gmirror | remove [ -v] name prov ... |
gmirror | activate [ -v] name prov ... |
gmirror | deactivate [ -v] name prov ... |
gmirror | forget [ -v] name ... |
gmirror | stop [ -fv] name ... |
gmirror | dump prov ... |
gmirror | list |
gmirror | status |
gmirror | load |
gmirror | unload |
解説
gmirror ユーティリティは、ミラー (RAID1) 設定に使用されます。ミラーの作成の後に、すべてのコンポーネントは、自動的に検出されて、設定されます。また、失敗検出、古いコンポーネント検出、古いコンポーネントの再構築などのようなすべての操作は、自動的に行われます。 gmirror ユーティリティは、すべての必要な情報を格納するために、 (プロバイダの最後のセクタに格納される) ディスク上のメタデータを使用します。最後のセクタがこのために使用されるので、ミラーに関してルートファイルシステムを位置付けることは可能です。gmirror への最初の引数は、実行される動作を示します:
- label
-
ミラーを作成します。コンポーネントの優先順位が (0 から始まり 255 まで) 位置に基づいているので、コンポーネントの順序は、重要です。最も大きい優先順位があるコンポーネントは、
prefer バランスアルゴリズムを選ぶことによって使用され、例えば、デバイスが書き込みのためにオープンされるとき、停電した後、再同期が必要であるときに、マスタコンポーネントとしても使用されます。
追加オプションは、次を含みます:
- -b balance
-
次の 1 つの使用するバランスアルゴリズムを指定します。
- load
- 最も低い負荷でコンポーネントから読み込みます。これは、デフォルトのバランスアルゴリズムです。
- prefer
- 最も大きい優先順位があるコンポーネントから読み込みます。
- round-robin
- 読み込むためのコンポーネントを選ぶとき、ラウンドロビンアルゴリズムを使用します。
- split
- N 個の断片で切り取りサイズが等しいか大きい、読み込み要求を分割します。ここで N は、活動的なコンポーネントの数です。
- -F
- 停電またはシステムクラッシュの後に同期しません。デバイスが、一貫した状態であると仮定します。
- -h
- メタデータのプロバイダの名前を決め打ちします。
- -n
- 古いコンポーネントの自動同期をオフにします。
- -s slice
- split バランスアルゴリズムと I/O READ 要求を使用することが、この値と等しいかより大きいときに、I/O 要求は、N 個の断片に分割されます。ここで N は、活動的なコンポーネントの数です。デフォルトは、4096 バイトです。
- clear
- 与えられたプロバイダでメタデータをクリアします。
- configure
-
与えられたデバイスを設定します。
追加オプションは、次を含みます:
- -a
- 古いコンポーネントの自動同期をオンにします。
- -b balance
- 使用するバランスアルゴリズムを指定します。
- -d
- メタデータのプロバイダの名前を決め打ちしません。
- -f
- 停電またはシステムクラッシュの後にデバイスを同期します。
- -F
- 停電またはシステムクラッシュの後に同期しません。デバイスが、一貫した状態であると仮定します。
- -h
- メタデータのプロバイダの名前を決め打ちします。
- -n
- 古いコンポーネントの自動同期をオフにします。
- -p priority
- 与えられたコンポーネント prov のための優先順序を指定します。
- -s slice
- split バランスアルゴリズムのための切り取りサイズを指定します。
- rebuild
- 強制的に与えられたミラーコンポーネントを再構築します。自動同期が与えられたデバイスのためにオフにされないなら、このコマンドは、不要のはずです。
- insert
-
与えられた (複数の) コンポーネントを既存のミラーに追加します。
追加オプションは、次を含みます:
- -h
- メタデータのプロバイダの名前を決め打ちします。
- -i
- 挿入直後に不活発であると (複数の) コンポーネントをマークします。
- -p priority
- 与えられたコンポーネントの優先順位を指定します。
- remove
- ミラーから与えられた (複数の) コンポーネントを取り除き、それに関するメタデータをクリアします。
- activate
- 以前、不活発であるとマークされていた与えられたコンポーネントを活性化します。
- deactivate
- 自動的にミラーに接続されないので、与えられた (複数の) コンポーネントを不活発であるとマークします。
- forget
- 接続されていないコンポーネントを忘れます。 remove コマンドがそれを取り除くために使用されることを防いで、ディスクが失敗して、再接続されることができないとき、このコマンドは、役に立ちます。
- stop
-
与えられたミラーを停止します。
追加オプションは、次を含みます:
- -f
- それがオープンされていても、与えられたミラーを停止します。
- dump
- 与えられたプロバイダで格納されたメタデータをダンプする。
- list
- geom(8) 参照。
- status
- geom(8) 参照。
- load
- geom(8) 参照。
- unload
- geom(8) 参照。
追加オプションは、次を含みます:
- -v
- より冗長にします。
終了ステータス
終了ステータスは、成功すれば 0、コマンドが失敗するなら 1 です。使用例
ミラーをセットアップするために 3 個のディスクを使用します。 2kB に等しいか大きい要求だけを分割する、分割バランスアルゴリズムを選びます。ファイルシステムを作成し、それをマウントし、次に、それをアンマウントして、デバイスを停止します:
gmirror label -v -b split -s 2048 data da0 da1 da2 newfs /dev/mirror/data mount /dev/mirror/data /mnt ... umount /mnt gmirror stop data gmirror unload
有効データでディスクにミラーを作成します (ディスクの最後のセクタは、上書きされることに注意してください)。それが既存のディスクに同期するようにこのミラーに別のディスクを追加します:
gmirror label -v -b round-robin data da0 gmirror insert data da1
ミラーを作成しますが、自動同期機能を使用しません。別のディスクを追加して、それを再構築します:
gmirror label -v -n -b load data da0 da1 gmirror insert data da2 gmirror rebuild data da2
あるディスクは、失敗しました。それを新しいものに取り替えます:
gmirror forget data gmirror insert data da1
ミラーを作成して、1 つのコンポーネントを非活性化して、バックアップを行い、そして、もう一度それを接続します。 (それまでの間に書き込みがなく) そうする必要がないなら、再同期しません:
gmirror label data da0 da1 gmirror deactivate data da1 dd if=/dev/da1 of=/backup/data.img bs=1m gmirror activate data da1
注
gmirror プロバイダにカーネルダンプを行います。これは、可能ですが、いくつかの条件が満たされなければなりません。まず、カーネルダンプは、単に 1 つのコンポーネントのみで、 gmirror は、常に最も高い優先順序でコンポーネントを選びます。ブートのミラーからダンプを読み込むことは、 prefer バランスアルゴリズムが使用される場合のみ動作します (そのように、 gmirror は、最も高い優先順序でコンポーネントからのみ読み込みます)。異なったバランスアルゴリズムを使用するなら、利用者は、次を追加するべきです:
gmirror configure -b prefer data
は、 /etc/rc.early スクリプトにためです、そして:
gmirror configure -b round-robin data
は、 /etc/rc.local スクリプトのためです。どのコンポーネントをダンプするかを選んだらよいかという決定は、 dumpon(8) が呼び出されるとき、行われます。次のブートでより高い優先順位のコンポーネントが利用可能であるなら、好みのアルゴリズムは、それから読み込むことを選び、 savecore(8) は、何も見つけません。次のブートでより高い優先順位のコンポーネントが同期されるなら、好みのバランスアルゴリズムは、次のものから読み込み、その結果そこで何も見つかりません。
歴史
gmirror ユーティリティは、 FreeBSD 5.3 で登場しました。作者
<pjd@FreeBSD.org>バグ
走行中のミラーの中にコンポーネントの優先順位を変更する方法があるべきです。実装の説明のセクションがあるべきです。
sysctl kern.geom.mirror.* のための文書が不足しています。
December 8, 2009 | FreeBSD |