検索クエリーを入力してください
<book_title> を検索 ...
Veritas™ File System プログラマーズリファレンスガイド - Linux
Last Published:
2018-01-16
Product(s):
InfoScale & Storage Foundation (7.3.1)
- Veritas File System Software Developer's Kit
- FCL(File Change Log)
- マルチボリュームサポート
- 名前付きデータストリーム
- Veritas File System I/O
- シン再生
割り当てポリシーの定義と割り当て
次の擬似コードに、割り当てポリシー API を使って、割り当てポリシーを定義し、割り当てる例を示します。
既存のファイルのデータブロックを特定のボリュームに再度割り当てるように、割り当てポリシーを定義して割り当てるには
既存のファイルのデータブロックを特定のボリューム(vol-03)に再度割り当てるには、次のようなコードを作成します。
/* Create a data policy for moving file's data */ strcpy((char *) ap.ap_name, "Data_Mover_Policy"); ap.ap_flags = FSAP_CREATE; ap.ap_order = FSAP_ORDER_ASGIVEN; ap.ap_ndevs = 1; strcpy(ap.ap_devs[0], "vol-03"); fd = open("/mnt", O_RDONLY); vxfs_ap_define(fd, &ap, 0); file_fd = open ("/mnt/file_to_move", O_RDONLY); vxfs_ap_assign_file(file_fd, "Data_Mover_Policy", NULL, 0); vxfs_ap_enforce_file(file_fd, "Data_Mover_Policy", NULL);
新しいファイルをディレクトリの下に割り当てるポリシーを作成するには
この例では、dir1 以下のファイルのメタデータを vol-01 に割り当て、ファイルデータを vol-02 に割り当てます。
ディレクトリ dir1 の下に新しいファイルを割り当てるポリシーを作成するには、次のようなコードを作成します。
/* Define 2 policies */ /* Create the RAID5 policy */ strcpy((char *) ap.ap_name, "RAID5_Policy"); ap.ap_flags = FSAP_CREATE | FSAP_INHERIT; ap.ap_order = FSAP_ORDER_ASGIVEN; ap.ap_ndevs = 1; strcpy(ap.ap_devs[0], "vol-02"); fd = open("/mnt", O_RDONLY); dir_fd = open("/mnt/dir1", O_RDONLY); vxfs_ap_define(fd, &ap, 0); /* Create the mirror policy */ strcpy((char *) ap.ap_name, "Mirror_Policy"); ap.ap_flags = FSAP_CREATE | FSAP_INHERIT; ap.ap_order = FSAP_ORDER_ASGIVEN; ap.ap_ndevs = 1; strcpy(ap.ap_devs[0], "vol-01"); vxfs_ap_define(fd, &ap, 0); /* Assign policies to the directory */ vxfs_ap_assign_file(dir_fd, "RAID5_Policy", "Mirror_Policy", 0); /* Create file under directory dir1 */ /* Meta and data blocks for file1 will be allocated on vol-01 and vol-02 respectively. */ file_fd = open("/mnt/dir1/file1"); write(file_fd, buf, 1024);