Storage Foundation 8.0.2 管理者ガイド - Solaris
- 第 I 部 Storage Foundation の紹介
- Storage Foundation の概要
- Dynamic Multi-Pathing の動作
- Veritas Volume Manager の動作
- Veritas File System の動作
- 第 II 部 ストレージのプロビジョン
- 新しいストレージのプロビジョニング
- ストレージの設定のための高度な割り当て方法
- VxFS ファイルシステムの作成とマウント
- VxFS ファイルシステムの作成
- ファイルシステムの VxFS への変換
- VxFS ファイルシステムのマウント
- ファイルシステムのマウント解除
- ファイルシステムサイズの変更
- マウントされているファイルシステムの情報の表示
- ファイルシステムタイプの識別
- 空き領域の監視
- エクステント属性
- 第 III 部 DMP を使ったマルチパスの管理
- Dynamic Multi-Pathing の管理
- 新しく追加されたディスクデバイスの検出と設定
- 部分的なデバイス検出
- ディスクの検出とディスクアレイの動的な追加について
- サードパーティドライバの共存について
- デバイス検出層の管理方法
- iSCSI を含むすべてのデバイスの一覧表示
- iSCSI を含むすべてのホストバスアダプタの一覧表示
- ホストバスアダプタ上で設定されたポートの一覧表示
- ホストバスアダプタまたはポートから設定されたターゲットの一覧表示
- ホストバスアダプタとターゲットから設定されたデバイスの一覧表示
- iSCSI 操作パラメータの取得または設定
- サポートされているすべてのディスクアレイの一覧表示
- Array Support Library(ASL)の詳細の表示
- ディスクアレイライブラリのサポートの無効化
- 無効にされたディスクアレイライブラリのサポートの有効化
- 無効にされたディスクアレイの一覧表示
- DISKS カテゴリで認識されているディスクの一覧表示
- DISKS カテゴリへのサポートされていないディスクアレイの追加
- DISKS カテゴリからのディスクの削除
- 外部デバイス
- デバイスを VxVM で非表示にする
- デバイスの VxVM での表示
- コントローラとストレージプロセッサに対する I/O の有効化と無効化について
- DMP データベース情報の表示について
- ディスクへのパスの表示
- vxdmpadm ユーティリティを使った DMP の管理
- DMP ノードに関する情報の取得
- DMP ノードについての統合された情報の表示
- LUN グループのメンバーの表示
- DMP ノード、コントローラ、エンクロージャ、アレイポートによって制御されるパスの表示
- コントローラに関する情報の表示
- エンクロージャに関する情報の表示
- アレイポートに関する情報の表示
- サードパーティ製のドライバにより制御されるデバイスに関する情報の表示
- 拡張デバイス属性の表示
- VxVM の制御下におけるデバイスの無効化と有効化
- I/O 統計情報の収集と表示
- エンクロージャへのパスに関する属性の設定
- デバイスまたはエンクロージャの冗長レベルの表示
- アクティブパスの最小数の指定
- I/O ポリシーの表示
- I/O ポリシーの指定
- パス、コントローラ、アレイポート、DMP ノードに対する I/O の無効化
- パス、コントローラ、アレイポート、DMP ノードに対する I/O の有効化
- エンクロージャ名の変更
- I/O エラーに対する応答の設定
- I/O 調整機構の設定
- LIPP(Low-Impact Path Probing)の設定
- サブパスフェールオーバーグループ(SFG)の設定
- リカバリオプション値の表示
- DMP パスリストアポリシーの設定
- DMP パスリストアスレッドの停止
- DMP パスリストアスレッドの状態の表示
- アレイポリシーモジュール(Array Policy Modules)の設定
- Metro/Geo アレイの遅延しきい値チューニングパラメータの設定
- DMP とネーティブマルチパスの共存
- ZFS ルートプールに対する DMP デバイスの管理
- 新しく追加されたディスクデバイスの検出と設定
- デバイスの動的再構成
- デバイスの管理
- イベント監視
- Dynamic Multi-Pathing の管理
- 第 IV 部 Storage Foundation の管理
- 第 V 部 I/O パフォーマンスの最適化
- 第 VI 部 PITC (Point-In-Time Copy) の使用
- PITC 方法の理解
- ボリュームスナップショットの管理
- ボリュームスナップショットについて
- 従来のサードミラーブレークオフスナップショット
- フルサイズインスタントスナップショット
- インスタントスナップショットの作成
- インスタントスナップの DCO と DCO ボリュームの追加
- 領域最適化インスタントスナップショットの作成と管理
- フルサイズインスタントスナップショットの作成と管理
- サードミラーブレークオフスナップショットの作成と管理
- リンクされたブレークオフスナップショットボリュームの作成と管理
- 複数のインスタントスナップショットの作成
- ボリュームセットのインスタントスナップショットの作成
- ボリュームへのスナップショットミラーの追加
- スナップショットミラーの削除
- リンクされたブレークオフスナップショットボリュームの削除
- カスケードスナップショット階層へのスナップショットの追加
- インスタント領域最適化スナップショットの更新
- フルサイズインスタントスナップショットまたはプレックスのブレークオフスナップショットの再接続
- リンクされたブレークオフスナップショットボリュームの再接続
- 領域最適化インスタントスナップショットからのボリュームのリストア
- インスタントスナップショットの関連付けの解除
- インスタントスナップショットの削除
- インスタントスナップショット階層の分割
- インスタントスナップショット情報の表示
- インスタントスナップショットの同期の制御
- キャッシュ上で作成したスナップショットの一覧表示
- キャッシュの autogrow 属性のチューニング
- キャッシュ使用率の監視と表示
- キャッシュの拡張と縮小
- キャッシュの削除
- インスタントスナップショットの作成
- リンクされたブレークオフスナップショット
- カスケードスナップショット
- 複数のスナップショットの作成
- スナップショットからの元のボリュームのリストア
- バージョン 0 の DCO および DCO ボリュームの追加
- Storage Checkpoint の管理
- FileSnaps の管理
- スナップショットファイルシステムの管理
- 第 VII 部 Storage Foundation を使用したストレージの最適化
- 第 VIII 部 ストレージ利用率の最大化
- SmartTier によるストレージの階層化について
- ボリュームセットの作成と管理
- MVS ファイルシステム
- SmartTier の管理
- ホットリロケーションの管理
- Solaris SPARC 上のデータの重複排除
- ファイルの圧縮
- 第 IX 部 ストレージの管理と保護
- ボリュームとディスクグループの管理
- デフォルトのディスクグループの名前の付け方
- ボリュームまたはディスクの移動
- タスクの監視と制御
- vxnotify による設定の変更の監視
- オンライン再レイアウトの実行
- ボリュームへのミラーの追加
- SmartMove の設定
- ミラーの削除
- ボリュームでのタグ設定
- ディスクグループの管理
- プレックスとサブディスクの管理
- ストレージの破棄
- ルータビリティ
- クォータ
- FCL (File Change Log)
- ボリュームとディスクグループの管理
- 第 X 部 参照先
Veritas File System ファイルの変更ログのプログラミングインターフェース
VxFS には、次の 2 つの方法で FCL ファイルの読み取りと解析を単純化するための拡張 API が用意されています。
読み取りの単純化 | PI により FCL エントリ解析に必要な追加のコードが削減され、ユーザータスクが単純化されます。4.1 では、削除やリンクなどのイベント情報を取得するために、ユーザーは削除やリンクされたファイル名を取得するための追加のコードを書く必要がありました。このリリースでは、ユーザーは API を使ってアセンブルされたレコードを直接読み取ることができます。また、API を使って、目的のイベントレコードのサブセットを示すためのフィルタを指定できます。 |
後方互換 | FCL への API アクセス機能により、アプリケーションの後方互換に対応します。API を使うことで、アプリケーションは FCL のレイアウト変更に関係なく FCL ファイルを解析できます。FCL の隠されたレコードレイアウトが変更されても、API は戻りデータを自動的に変換して求められる出力レコードに一致させます。その結果、ユーザーは、オンディスクの FCL レイアウトの変更により、アプリケーションを修正または再コンパイルする必要はありません。 |
次のサンプルコードは、FCL スーパーブロックを読み取り、FCL の状態が VX_FCLS_ON であることを確認します。次に、vxfs_fcl_sync への呼び出しを発行して、読み取り先の最後のオフセットを取得し、FCL ファイル内の最初の有効なオフセットを特定します。最後に、このオフセットから 8 K のチャンクでエントリを読み取ります。FCL エントリ処理(process fcl entries)とコメントされた行付近に、FCL 内のエントリに対する処理レコードをアプリケーション開発者が提供する必要があります。
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/fcntl.h>
#include <errno.h>
#include <fcl.h>
#include <vxfsutil.h>
#define FCL_READSZ 8192
char* fclname = "/mnt/lost+found/changelog";
int read_fcl(fclname) char* fclname;
{
struct fcl_sb fclsb;
uint64_t off, lastoff;
size_t size;
char buf[FCL_READSZ], *bufp = buf;
int fd;
int err = 0;
if ((fd = open(fclname, O_RDONLY)) < 0) {
return ENOENT;
}
if ((off = lseek(fd, 0, SEEK_SET)) != 0) {
close(fd);
return EIO;
}
size = read(fd, &fclsb, sizeof (struct fcl_sb));
if (size < 0) {
close(fd);
return EIO;
}
if (fclsb.fc_state == VX_FCLS_OFF) {
close(fd);
return 0;
}
if (err = vxfs_fcl_sync(fclname, &lastoff)) {
close(fd);
return err;
}
if ((off = lseek(fd, off_t, uint64_t)) != uint64_t) {
close(fd);
return EIO;
}
while (off < lastoff) {
if ((size = read(fd, bufp, FCL_READSZ)) <= 0) {
close(fd);
return errno;
}
/* process fcl entries */
off += size;
}
close(fd);
return 0;
}