2021.07.14
![](/engineer-voice/blog/uploads/b9e7419004dbe42ffd4e57b3e2bd76f37b68970b.png)
Aggregate、FlexVol、qtreeの関係性 |
![03_Aggregate_FlexVol_qtree.png](/engineer-voice/blog/uploads/03_Aggregate_FlexVol_qtree.png)
Aggregateの考え方 |
AggregateはNetApp AFF C190で考えるファイルサーバの設計 〜その1〜 で紹介したSSDのパーティションからRAIDグループを構成し、そのRAIDグループを束ねることで作成するストレージプールです。
AggregateにはOS情報などが格納される「Root Aggregate」とユーザーがデータを保存する「Data Aggregate」があります。Root Aggregateは各コントローラに割り当てられたRoot Aggregate用パーティションを用いてコントローラ毎に必ず1つ作成されます。また、Root AggregateはONTAPの初期構築時に自動で作成されます。
![Root_Aggregate.png](/engineer-voice/blog/uploads/Root_Aggregate.png)
Data Aggregateはそれぞれのコントローラに割り当てたパーティションから構成するデータ保存用のAggregateです。コントローラのActive-Active構成ではコントローラ毎に最小2つ(コントローラごとに1つずつ)、Active-Standby構成では最小1つ作成できます。Data Aggregateは必要に応じて手動で作成します。また、ストレージを見積もる上で必要な実効容量はData Aggregateに保存できる容量となります。
【Active-Active構成時のData Aggregate】
![Active-Active_Data_Aggregate.png](/engineer-voice/blog/uploads/Active-Active_Data_Aggregate.png)
【Active-Stanby構成時のData Aggregate】
![Active-Standby_Data_Aggregate.png](/engineer-voice/blog/uploads/9a45afa8bd8fed8c590565dc4c630c9db9a831b9.png)
FlexVolの考え方 |
FlexVolはData Aggregate配下に作成する論理的な領域です。ONTAPではData Aggregateに直接データを書き込むのではなくFlexVolもしくはqtreeに対してデータを書き込みます。FlexVolは論理的な領域であることから容量を自由に伸縮可能です。また、シンプロビジョニングの設定が可能であるためData Aggregateより大きい容量のFlexVolを作成することも可能です。例えばData Aggregateの容量5TBに対しFlexVolを10TBの容量で作成することが可能です。AFF C190の1つのコントローラあたりのFlexVolの最大数は1000個(1筐体で2000個)です。
![FlexVolの考え方.png](/engineer-voice/blog/uploads/31b519a1611bf4c158b34e14d809e9be3fcfd0f9.png)
FlexVolは作成時にSVMとひも付けることでファイルサーバの共有として設定することが可能になります。SVMには複数のFlexVolをひも付けることが可能です。
![FlexVolをSVMへひも付け_02.png](/engineer-voice/blog/uploads/22af6beda17a33ac82b53ba03f9f2cf6d2e21c75.png)
SVMに複数のFlexVolをひも付ける際、「コントローラBに作成されたFlexVolにはコントローラAのネットワークインタフェースからではアクセス出来ないのでは?」と思われる方もいるかもしれません。このような場合にはコントローラ間を接続するクラスタネットワークを介してFlexVolにアクセスされます。
![異なるコントローラのFlexVolへのアクセス.png](/engineer-voice/blog/uploads/51b9160eb1933b040038de5f95e901134f1944c1.png)
また、ONTAPではSnapshotをFlexVol単位で取得します。SnapshotはFlexVol内に保存するためFlexVol作成時にSnapshotの容量を加味しないと書き込む容量が減ることになるので注意が必要です。SnapshotのリザーブはFlexVol作成時に%で指定します。例えばユーザーが保存する容量が500GBの場合にSnapshotを20%リザーブする場合は625GBのFlexVolを作成します。
![Snapshotリザーブ.png](/engineer-voice/blog/uploads/be42d5e6d96188691dad14e234f293bdb9bfd99d.png)
qtreeの考え方 |
qtreeはFlexVolの配下に作成可能なディレクトリです。ファイルサーバの共有の設定や後述するクォータをONTAPから管理できるディレクトリです。qtreeは作成時にどのFlexVolの配下に作成するか指定します。qtreeはディレクトリなので容量を指定する必要はありません。なお、AFF C190でのqtreeの最大数は1つのコントローラあたり100000個(1筐体あたり200000個)となります。
qtreeはFlexVolよりも数多く作ることができるので、うまく活用することによりきめ細かい範囲でクォータを設定することが可能になります。例えば、qtreeでユーザ毎にクォータを設定したディレクトリを作成し共有として設定することでユーザー個別のネットワークドライブを提供するといった使い方ができます。
クォータに関しては「クォータ設計」で解説します。
![qtreeの考え方.png](/engineer-voice/blog/uploads/3681df8d0770320ddb6a316e90d07d9755e63056.png)
qtreeはONTAPからのみ作成可能です。例えばFlexVolにCIFS/SMBの共有設定を行いWindows PCからアクセスしフォルダを作成してもqtreeとしては認識されません。またqtreeの配下にqtreeを作成することはできません。
![qtreeとフォルダの違い.png](/engineer-voice/blog/uploads/ecb722e37a62d3cb3c37caf01a0519437cd1c003.png)
データアクセスのための共有の設計 |
●どの単位(部署、プロジェクト など)で共有を作るか
●誰をどの共有にアクセスさせるのか
●データ保護とリストアの方法
共有はFlexVolとqtreeに対して設定することが可能です。その共有に対してユーザがアクセスする際に個人の共有だけでなく、部門として利用している共有や特定プロジェクト用の共有にアクセスすることもあるかと思います。その際にすべての共有をFlexVolで作成するとAFF C190のFlexVolの作成数の上限である2000個(1台のコントローラでは1000個)に到達してしまい、それ以降共有が作れなくなることも考えられます。
これまでのファイルサーバの使い方や環境によっても様々な考え方はあると思いますが、ONTAPでの共有は以下のような設計にすると、FlexVol数をおさえつつ管理も容易という2つの目的を実現することができます。
●用途ごとにFlexVolを作成
例)以下の図の「ユーザデータ用」、「部門共有用」、「プロジェクト用」
●用途ごとのFlexVolに共有を設定。アクセスするユーザは有事の際にトラブルシューティングが出来るように管理者のみに限定する
例)以下の図のFlexVolに共有を設定
・ユーザデータ用: ¥¥SVM¥ユーザデータ用
・部門共有用 : ¥¥SVM¥部門共有用
・プロジェクト用: ¥¥SVM¥プロジェクト用
●利用者がアクセスするフォルダをqtreeで作成
例)以下の図の「ユーザA」、「ユーザB」、「部門A」、「部門B」、「グループA」、「グループB」
●qtreeに共有を設定し、利用者はqtreeの共有のみアクセスする
例)以下の図のqtreeに共有を設定
・ユーザA : ¥¥SVM¥ユーザA
・ユーザB : ¥¥SVM¥ユーザB
・部門A : ¥¥SVM¥部門A
・部門B : ¥¥SVM¥部門B
・グループA : ¥¥SVM¥グループA
・グループB : ¥¥SVM¥グループB
ユーザAは「ユーザデータ用」の共有にはアクセスできないが、「ユーザA」の共有にはアクセスできる
![おすすめの共有設計.png](/engineer-voice/blog/uploads/c9872418d31994971216be6dd20e2515e60d3edd.png)
上記のように共有を作成するとユーザは共有に対してアクセスすることができるようになりますが、そのままではすべての共有にアクセスできる状態です。せっかく用途やユーザ毎に共有を分けたとしても意図しない共有へのアクセスはセキュリティの観点からも防ぎたいと思うでしょう。そのためには誰がどの共有にアクセスできる/できないの制御を行うアクセス権を設定する必要があります。アクセス権はWindows OSのエクスプローラなどから設定するのがおすすめです。
例)
●ユーザAは共有Aに対して読み書き可能
●グループBは共有Bに対して読み取りが可能
![NTFSアクセス権の設定.png](/engineer-voice/blog/uploads/e8e4f2935c99bec609d05c5bb7dffb79114dd269.png)
また、「どのユーザに対してどのくらいの容量の書き込みを許可するか」については後述する「クォータ」で設定を行います。
![04_Snapshot.png](/engineer-voice/blog/uploads/09edc1b0d7c2158da0063b23b11847c1a7d843a7.png)
![05_Snapshotからのリストア.png](/engineer-voice/blog/uploads/ef6a1db770d4911487ec55929a47625d28f0bdfd.png)
クォータ設計 |
![06_Quota_01.png](/engineer-voice/blog/uploads/06_Quota_01.png)
![07_Quota_02.png](/engineer-voice/blog/uploads/07_Quota_02.png)
【SB C&SNetAppプロモーションTwitterアカウント】
NetAppに関するさまざまな情報を公開しています。
皆様フォロー宜しくお願いいたします。
TwitterアプリからはこちらのQRコードもどうぞ
他のおすすめ記事はこちら
著者紹介
![](/engineer-voice/blog/assets_c/2019/04/im_ait_netapphci04-thumb-290x290-7649.jpg)
SB C&S株式会社
技術統括部 第1技術部 2課
小川 正一(VMware vExpert)