nutanix acropolis file services ( afs ) を「一足先に」試してみる
TRANSCRIPT
1 @hanakara_milk
Nutanix Community Meetup #1427th Sep 2016
@hanakara_milk
Nutanix Acropolis File Services (AFS)を「一足先に」試してみる
2 @hanakara_milk
目次1. Introduction– 自己紹介,本日の発表の前説
2. What is AFS - Acropolis File Services(AFS)とは– AFSとは,AFSの概要やそのメリットなどについて紹介
3. Deploying AFS 1st - AFSのデプロイ(しくじり先生編)– 何も考えずにAFSデプロイを試してみた結果
4. Deploying AFS 2nd AFSのデプロイ(激闘編)– 反省をもとに再度AFSのデプロイに挑戦してみた結果
5. AFS Impression – AFS俯瞰– とりあえずデプロイされたAFSの俯瞰
6. Conclusion – AFSまとめ– まとめ
3 @hanakara_milk
1. Introduction- 自己紹介など -
4 @hanakara_milk
About me•自己紹介–@hanakara_milkと申します–普段は, 高にトラディショナルなSIerに偽装派遣
されている,しがない営業職見習い–仕事でインフラに触れる機会はない(たまに開発の
いない保守なし案件の障害対応に駆り出さる,ただし解決できるとは言ってない)
•マイブーム(前々回から変わらず)–3年ぶり4回目,MMORPGのFFXIに復帰しました
(Lakshim鯖:タルタル),そろそろまた飽きてきた
検閲済
• @hanakara_milk
• Qiita
• hanakara_milk
5 @hanakara_milk
はじめに
• Acropolis File Services(以下,AFS)は,2016年9月27日時点で,まだ開発版(Tech Preview(TP))です。•当スライドで公開している情報は,正式リリース版(General Availability(GA))の際に変わっている可能性があります。
WARNING:DO NOT TRY THIS AT PRODUCTION ENVIRONMENT
! Server Admin
6 @hanakara_milk
ご注意
•この資料は, VMware上のNested環境上に構築したNutanix CE ce-2016.06.30-stableに基づいています,•そのためベアメタル上に構築したNutanix CEや商用版のNutanixと一部,仕様や動作が異なる場合があります。•この資料の発表時点で,Nutanix CE ce-2016.08.27-stableがリリースされているため,既に情報が古くなっている可能性があります(ce-2016.08.27-stableで,AFSに対するアップデートが入っているかは未検証)。
WARNING:
7 @hanakara_milk
免責等
•今回は,大急ぎでさらっとAFSを確認しているだけなので,内容や設定方法等に誤りがある可能性があります。ご注意ください。
–本資料で公開される内容について、その正確性、有用性、確実性その他の保証をするものではありません。
–本資料のご利用等により万一何らかの損害が発生したとしても、hanakara_milkは一切責任を負いません。
WARNING:
8 @hanakara_milk
2. What is AFS- Acropolis File Services(AFS)とは -
9 @hanakara_milk
AFSとは,AFSの概要
10 @hanakara_milk
Acropolis File Services(AFS)•Nutanixが提供するファイルサーバー機能で,Nutainxからインボックスで提供される–類似した機能としては,Acropolis Block Services(ABS)がある。AFSがファイル
レベルの共有サービス機能を提供するのに対して,ABSはブロックレベルのストレージ機能を提供
AFS
ABSSSD
Nutanix
Nutanix
Nutanix
ファイルレベルアクセス
ブロックレベルアクセス
11 @hanakara_milk
AFSの概要• AFSは,Nutanixのコア機能の1つである,高速な分散ファイルシステム(Distributed File System(DFS))とNutanixの特徴であるスケール性をうまく活用したファイルサーバー機能–AFSの実体は,Sambaサービスを提供するNVMと呼ばれるCentOSベースの
VMが,Nutanix上に複数起動したもの–AFSは,Nutanixからマネージドで提供され,可用性,耐障害性,スケーラビリ
ティを備えた,分散アーキテクチャを用いたファイルサーバーとして動作する
12 @hanakara_milk
AFSの目指すところ(公式の見解ではなく私見)
•仮想化された基盤上にビジネスに必要なITリソースの多くは集約できるようになった– LDAP,DNS,DHCP,アプリケーション,Webサーバー,など
•しかし,ストレージヘビィなITリソースは仮想化基盤上に集約されていないものも多い–データベース,メールサーバー(のストレージ),ファイルサーバーなど,非常に
高いIOPSや高速で,かつ大容量なストレージと高性能なストレージコントローラーが必要
– (Nutanixなどの)仮想化基盤から分離されているケースが多い
13 @hanakara_milk
AFSの目指すところ(公式の見解ではなく私見)
•せっかくNutanixを導入し,多くのITリソースを仮想化基盤上に集約したはいいが,ストレージヘビィなITリソースは集約できていない–どうせなら,これらもNutanixにお任せすることで,もっとリソースや運用の管
理を楽にしたい
•せっかくNutanixの優れたストレージ機能があるのだから有効活用して,それらもNutanixに集約してしまおう
14 @hanakara_milk
AFSのメリット(公式の見解ではなく私見)
•導入コストの抑制–企業活動に必要なITリソースをNutanixに集約したが,ファイルサーバだけは,
別のプロダクトが必要と言った場合に,AFSを利用することでファイルサーバ導入分のコストを抑制できる
•運用コストの抑制–仮想化基盤上にファイルサーバーOSをインストールし,NutanixのDFSを利用
することも可能だが,可用性や耐障害性を含む個々の設定や運用コストを考えると,それらがマネージドで提供されるAFSは,運用コストの抑制ができる
•簡単なスケール– 1クリックで拡張が可能(ファイルサーバーVMを増やす),つまり性能や容量を
拡張したいケースにおいて,簡単にスケールさせることができる
15 @hanakara_milk
3. Deploying AFS 1st- AFSのデプロイ(しくじり先生編)-
16 @hanakara_milk
何も考えずにAFSデプロイ
17 @hanakara_milk
ノープランでAFSデプロイ開始•なにも考えずに,AFSの構成ウィザードを開始する(NutanixはPRISMで簡単操作すぎて少し嘗めていた)–そもそも,まだTech Preview段階なので,資料,情報がほとんどなかった
そして・・・いきなり躓く
18 @hanakara_milk
ノープランでAFSデプロイ開始•ネットワークが足りない(そもそも)
19 @hanakara_milk
ノープランでAFSデプロイ開始•ネットワークが足りない(まだ足りない)
20 @hanakara_milk
ノープランでAFSデプロイ開始• External Data Services IP addressが足りない
21 @hanakara_milk
ノープランでAFSデプロイ開始•ディスクが足りない
22 @hanakara_milk
ノープランでAFSデプロイ開始•ノードが足りない
23 @hanakara_milk
ノープランでAFSデプロイ開始•そして,リソースが足りない
24 @hanakara_milk
ノープランでAFSデプロイ開始• 後にActive Directoryが足りない
25 @hanakara_milk
AFSの動作要件
26 @hanakara_milk
事象から見えてくるAFSの動作要件•ここまで操作して,はじめてAFSの動作要件について見えてくる•今更ながら,ここで改めてAFSの動作要件について
※くどいようですが,AFSの動作要件や仕様は,2016年9月27日時点の開発版(Tech Preview(TP))のもので,正式リリース版(General Availability(GA))の際に変更されている可能性があります
27 @hanakara_milk
AFSの動作要件(サマリ)• 3つ以上のNutanixノード• 2つ以上のネットワーク• 各ネットワークの管理設定• External Data Services IP addressの設定• 1TiB以上のディスク領域• ノードあたり約32GiB以上のメモリ• ノードあたり4つのvCPU• Active Directory• 内部用DNSサービス(サーバー)• NTPサービス(サーバー)• Active Directory,DNSサーバーの2つのVLANへの接続• インターネットアクセス
28 @hanakara_milk
AFSの動作要件(詳細)-1• 3つ以上のノード–AFSは3つ以上のノードが必要で,シングルノードクラスター環境ではデプロイでき
ない,ノード障害を想定すると4ノード以上の構成が望ましい
• 2つ以上のネットワーク–NutanixのNetwork Configurationで構成するVLANの数,1つのVLANはNVM
とCVMとの通信,もう1つのVLANはNVMとファイルサービスの提供を受けるクライアントPC等との通信に利用される
•各ネットワークの管理設定–各ネットワークは, 低でもENABLE IP ADDRESS MANAGEMENTでNETWORK
IP ADDRESS / PREFEX LENGTHとIP ADDRESS POOLがそれぞれ設定されていること(AFSデプロイ時にDHCPが必要となるため)
29 @hanakara_milk
AFSの動作要件(詳細)-2• External Data Services IP addressの設定–AFSはファイルサービスの提供にABSのiSCSIブロックサービスを利用するため
• 1TiB以上のディスク領域–Nutanixのストレージプール上で,1TiB以上の空き容量があること,AFSが3ノード
以上必要でかつ,Nutanix自体が1ノードあたり200GiBのSSDと500GiBのHDDが必要なので,動作要件どおりを組んでいればクリアできていたハズ
•ノードあたり約32GiB以上のメモリ–NutanixではCVMが16GiB,AFSが動作するNVMが12GiBのメモリを必要とする
ほか,ファイルサービス用のディスク領域において,デフォルトで圧縮とパフォーマンスティアでの重複排除が有効になるため, 低でも約32GiB以上のメモリが必要
30 @hanakara_milk
AFSの動作要件(詳細)-3•ノードあたり4つのvCPU–NVMは 低でも4つのvCPUが必要,ユーザーがインストールするVMや既にCVMに
2vCPUを取られていることを踏まえると,8vCPU程度を提供可能な物理CPUが必要
• Active Directory–AFSはActive Directoryと連動して動作する,そのため事前にActive Directory
ドメインサービスが構成されている必要がある
•内部用DNSサービス(サーバー)–AFSは,1つのFQDNに対して複数のNVMが応答する,イントラネット内部のノードや
ホストの名前解決が可能なDNSサービス(又はサーバー)が必要, も簡単なのは,Active Directoryサーバーに連動して構成するDNSサーバーを指定する
31 @hanakara_milk
AFSの動作要件(詳細)-4•NTPサービス(サーバー)–AFSは,Active Directoryやファイルサービスを提供するクライアントPCと同一
のNTPサービス(サーバー)が必要,通常はActive Directoryを構成した時点でActive Directoryでタイムサービスが提供されるため,そちらを指定
• Active Directory,DNSサーバーの2つのVLANへの接続–AFSには2つのVLANが必要なのは前述のとおり,Active Directoryサーバーや
DNSはそのいずれのVLANにもコネクティビティが必要(AFSのドメイン参加とファイルサービスを利用するクライアントPCなどからのActive Directoryアクセス)
•インターネットアクセス–AFSは,デプロイ時に必要なコンポーネントやファイルをインターネット経由でダウ
ンロードしてくるように見えるためインターネットアクセスが必要
32 @hanakara_milk
ここでAFSデプロイの進捗状況
33 @hanakara_milk
Day 2Day 1 Day 3March2016 Day 5
AFSが発表される
AFS試す(しくじり先生編)
Day 4
ここまでのタイムライン
おおー!と感心する
ノープランでAFSデプロイ開始して,躓く
34 @hanakara_milk
4. Deploying AFS 2nd- AFSのデプロイ(激闘編)-
35 @hanakara_milk
少し考えてデプロイ
36 @hanakara_milk
AFSの動作要件に基づいてデプロイ•自宅の事情(主に電気料金)から物理ノードを利用したAFSの検証は躊躇われるため,Nestedの環境で試してみる•自宅の2ノードvSphereクラスター上に4つのNutanixノードを構成•Nutanixノードあたりの主なハードウェア構成は以下のとおり– vCPU:6vCPU–メモリ:40GB–ディスク:200GB(SSD相当),500GB(HDD相当),500GB(HDD相当)–ネットワーク:Nested用のポートグループ
フラグ
37 @hanakara_milk
フラグを回収-1• 1つのNutanixノードを構成した後,クローンで4つのノードを作成し,電源を入れてNutanixのセットアップを開始する•Nutanixのセットアップ中,2つのVMがインストールにコケる•セットアップ中のMinimum RequirementのチェックフェーズでESXiやストレージ対して負荷がかかり,2つのVMがMinimum Requirementチェックで弾かれた模様
教訓 Nestedで構成する際は,一気にインストールしない,おとなしく1つずつNested Nutanixノードを構成する
38 @hanakara_milk
フラグを回収-2•自宅で利用しているvSphere環境にNested環境を構築していくので,片ノードのみを利用してNestedの環境を構築していく•メモリのオーバーコミットを過信しすぎて,Nested Nutanixノードを構成したらESXiが落ちて,片ノードが全滅し, vSphereクラスターが崩壊,いろいろ復旧作業を行うハメになる
教訓 メモリのオーバーコミットを信じすぎない,DRSを有効にし,オートでのバランシング設定で,2つのESXiノードを使うようにする
39 @hanakara_milk
フラグを回収-3•インストール後,クラスターを構成し,Nutanix CEの初期設定とアクティベートを済ませPRISMを起動する
40 @hanakara_milk
フラグを回収-3•なんか変?ディスクが1ノードにつき200GiBの1本しか見ない,AFSの必要ディスク容量1024GiBの要件をクリアできてない
41 @hanakara_milk
フラグを回収-3•Nested環境の場合,ホスト,ハイパーバイザーがそれぞれディスクを認識していても,クラスター構成時にディスクを見失うことがある模様 <disk>
<source dev='/dev/sdd'/><target dev='sda' bus='scsi'/><address type='drive' controller='0' bus='0' target='0' unit='0'/><source dev='/dev/sda'/><target dev='sdb' bus='scsi'/><address type='drive' controller='0' bus='0' target='0' unit='1'/><source dev='/dev/sdb'/><target dev='sdc' bus='scsi'/><address type='drive' controller='0' bus='0' target='0' unit='2'/></disk>
nutanix@NTNX-136e420e-A-CVM:172.16.16.21:~$ list_disksSlot Disk Model Serial Size0 /dev/sda Virtual disk drive-scsi0-0-0-0 536 GB1 /dev/sdb Virtual disk drive-scsi0-0-0-2 214 GB2 /dev/sdc Virtual disk drive-scsi0-0-0-1 536 GB
インストーラーにおけるディスクの認識
ハイパーバイザーにおけるディスクの認識
CVMにおけるディスクの認識
42 @hanakara_milk
フラグを回収-3•ディスク認識のための試行錯誤,cluster createとdestroyを繰り返す,そして次々起こる怪奇現象
43 @hanakara_milk
フラグを回収-3•Nutanix CEにおけるディスクの新規追加の手順を応用して対処– 1.Nutanixのcluster関連コマンドで追加したディスクのパーティショニングとファ
イルシステムの定義を行う(次ページ以降に手順を記載)– 2.Nutanixのcluster関連コマンドでディスクをマウントする(次ページ以降に手順
を記載)– 3.Genesis(Nutanixノードのローカルサービス管理)とstargate(Nutanixの
データI/Oマネージャー)を再起動する(次ページ以降に手順を記載)
教訓 マルチノードクラスターが必要な検証は,可能な限り物理環境を用意する,Nutanix CEにおけるディスクの新規追加の手順を応用して対処した
44 @hanakara_milk
【参考】Nutanix CEのディスク追加商用版のNutanixと異なり,Nutanix CEは,ディスクを追加しても自動で認識されな
いため,事実上「つい先日まで」ディスクの追加ができなかったNutanix CEでディスクを追加する場合は,以下の手順(超ざっくり)が必要だった 1.追加するディスクのシリアルを目視又はsmartctlで確認する
2.ホスト上でディスクの位置(/dev/sdXや/dev/bu-uuid)を確認する
3.ハイパーバイザー上の1.と2.で取得した情報を元にvirsh editでディスクの情報を追記する
4./home/nutanix/cluster/bin/repartition_disks -d /dev/sdXで追加したディスクのパーティショニングを行う
5./home/nutanix/cluster/bin/clean_disks -p /dev/sdXで追加したディスクのファイルシステムを設定する
6./home/nutanix/cluster/bin/mount_disksでディスクをマウントする
7.Genesis(Nutanixノードのローカルサービス管理)とstargate(NutanixのデータI/Oマネージャー)を再起動する
Nutanix CEにディスク追加のためのコマンドが実装(ce-2016.08.27-stable) Add Disk Simplification ... ce_add_disk ... provides an automated workflow for adding disks. NEW!
/dev/sdXのXは,各自の環境でマウントされていないディスクに読み替える
45 @hanakara_milk
【参考】Nested環境のディスク問題なお,Nested環境で,ハイパーバイザー及びCVM上でディスクが認識されているにも
関わらず,クラスター構成時にディスクを見失っている場合は,前ページの手順6.及び7.の手順のみでディスクが見えるようになる(PRISM上への反映は少し時間が掛かる) 6./home/nutanix/cluster/bin/mount_disksでディスクをマウントする
7.Genesis(Nutanixノードのローカルサービス管理)とstargate(NutanixのデータI/Oマネージャー)を再起動する
この手順実施後,PRISM上でディスクが認識されると,自動的にストレージプール等のディスク容量も拡張されるただし,この手順でディスクを認識させた場合,以下のような問題が残る DISK IDが4桁になる(通常は2桁)
DISK USAGEの情報が取れなくなる
46 @hanakara_milk
ここでAFSデプロイの進捗状況
47 @hanakara_milk
Day 2Day 1 Day 3March2016 Day 5
AFSが発表される
AFS試す(しくじり先生編)
AFS試す(激闘編)
Day 4
ここまでのタイムライン
おおー!と感心する
ノープランでAFSデプロイ開始して,躓く
Nested環境で躓く,ディスク認識で躓く
48 @hanakara_milk
ようやくAFSデプロイの入り口にたどり着く
49 @hanakara_milk
構成情報• AFSを構成するに当たっての構成情報は以下のとおり
項目 値
Nutanixクラスター名 NTNXCL01
NutanixハイパーバイザーIPアドレス 172.16.16.11~14(4ノード構成)
Nutanix CVM IPアドレス 172.16.16.21~14(4ノード構成)
デフォルトゲートウェイ 172.16.16.254
VLAN 0 172.16.16.0/24
VLAN 254 172.16.254.0/24
VLAN 0 IP POOL 172.16.16.100~199(NVM構成時にNVMのIPアドレスやユーザVMに払い出される)
VLAN 254 IP POOL 172.16.254.100~199(NVM構成時にNVMのIPアドレスやユーザーVMに払い出される)
AFSファイルサーバー名 FS
共有ディレクトリ名 SH1
External Data Services IP address 172.16.16.26
Active Directory名 NTNX.LOCAL
50 @hanakara_milk
AFSの検証環境
VMware vSphere
Nutanix
Nutanix
Nutanix
Nutanix
AD
172.16.16.0/24(VLAN 0)
172.16.254.0/24(VLAN 254)
PortGroup NTNX PortGroup VM
Win10 NVM NVM NVM
Internet
192.168.5.0/24自宅内LAN
踏み台兼ルーター 操作端末
51 @hanakara_milk
真のデプロイ開始• File Serverのエンティティページから+ File ServerをクリックしてAFSデプロイのウィザードを開始する
52 @hanakara_milk
サーバー名,ディスク容量設定• AFSの名前を入力,併せてAFSで提供するディスクの容量を入力,なおこの名前は,AFSサービスのFQDNになる
ファイルサーバ名
ディスク容量
53 @hanakara_milk
VLAN設定•次にAFSで利用するInternalとExternalネットワークを選択•予め構成し設定済みのVLANをそれぞれ設定する(同一のVLANをInternalとExternalに割り当てることはできない•今回はInternalにVLAN 0,ExternalにVLAN 254を設定した
Internal VLAN ID
External VLAN ID
54 @hanakara_milk
VLAN設定備考•本来は逆にしたかった–もともと,インターネットアクセスが可能なVLAN 0上にAFSのクライアントPCとして
想定していたユーザーVMをインストールしていたため,後にVLAN 254上に,このユーザVMを移した
–この構成では,VLAN 0がNutanixにおけるネイティブVLANとなっていて,インターネットアクセスは,このVLANしかなかった
–AFSセットアップ中に,インターネットへのアクセスが必要らしく,このVLANをInternal VLANとせざるを得なかった
55 @hanakara_milk
【参考】VLAN設定に関する注意•ネットワーク構成における注意(Nested環境)–Nested Nutanixノードが所属するvSwitchのポートグループに無差別モード許可
及びVLAN ID 4095(Allowed All VLAN IDの全許可)を設定しておく必要がある–その他,VLAN間で通信した場合は,Tag VLANをルーティングできるルーターが必
要になる
•ネットワーク構成における注意(物理環境)–Nutanix上で複数のVLANネットワークを構成した場合,ネイティブVLAN以外の
ネットワークパケットは,NutanixのOVSから,Tag付きで吐き出される–対向のスイッチは,トランクポートで受け取り,同一のスイッチか別途ルーターにて
ルーティング処理をする必要がある
56 @hanakara_milk
DNS,NTP設定• DNSサーバーとNTPサーバーを設定する• DNSはActive Directory構成時に構成したDNSサーバー
=Active Directoryサーバー•NTPもActive Directoryサーバーとした
DNSサーバーNTPサーバー
57 @hanakara_milk
DNS,NTP設定備考•Nutanixクラスター全体でNICTのNPTを参照していたため,当初,ntp.nict.jpと設定していた•しかし,AFSデプロイ中にNTPが取得できない旨のエラーが発生•ログを見たところSPN絡み+Kerberos認証絡みで必要なNTPの情報らしく,Active Directory上のタイムサービスを指定したところうまく動作した•これが本当に適切な設定かは不明–ご存じの方がいらしたら,是非@hanakara_milkまでメンションかDでおしえて下さ
いませ
58 @hanakara_milk
ドメインへの参加設定• 後に,Active Directoryに参加するための,Active Directory名とAdministratorsに参加しているユーザーのクレデンシャルを入力して,Createボタンをクリック
ドメイン名
Administratorsに所属するユーザ
59 @hanakara_milk
デップローイ!!• AFSのデプロイが始まる,環境にもよるが,今回の検証環境である自宅の環境では15分弱ほど掛かった
60 @hanakara_milk
デップローイ完了!!•ついにAFSのデプロイが完了
61 @hanakara_milk
ここでAFSデプロイの進捗状況
62 @hanakara_milk
Day 2Day 1 Day 3March2016 Day 5
AFSが発表される
AFSを試す(しくじり先生編)
AFSを試す(激闘編)
AFSを試す(激闘編)
AFSを試す(激闘編)完
Day 4
AFSを試す(激闘編)
ここまでのタイムライン
おおー!と感心する
ノープランでAFSデプロイ開始して,躓く
Nested環境で躓く,ディスク認識でハマる
VLAN設定,インターネットアクセスでハマる
ドメイン参加,NTP設定でハマる
ついに感動のフィナーレを迎える
※発表の後質問があったので補足:実際には,1日あたり数時間の作業で進めていったり,エラーが出てふて寝してたこともあったので,5人日がっつりという訳ではありません
63 @hanakara_milk
【参考】AFSデプロイ時のデバッグ• AFSのデプロイ中に詰まったら,主に次のログを参考にすると良い(/home/nutanix/data/logs/minerva*)• /home/nutanix/data/logs/配下には,AFSのログだけでなく,Nutanixのプロセス(Zeus,Medusa,Curator,Cassandra,Stargate等)のログの吐き出し場所になっている• AFSのサービスプロセス名はminervaらしく,このキーワードのgrepまたは,‘File Server’等のキーワードでgrepを掛けると,トラブルシュートがだいぶ楽になる
64 @hanakara_milk
5. AFS Impression‐ とりあえずデプロイされたAFSの俯瞰‐
65 @hanakara_milk
デプロイ後のAFSの設定
66 @hanakara_milk
共有ディレクトリの作成• AFSのデプロイが完了した時点では,あくまでファイルサーバーが起動しただけの状態•現時点で,PRISMからAFSデプロイ後に行う設定は1つのみ•ファイルサービスを利用するクライアントPC等に共有するためのディレクトリを作成する
67 @hanakara_milk
共有ディレクトリの作成• File Serverのエンティティページから+ Shareをクリックして共有ディレクトリの作成ウィザードを開始する
共有ディレクトリ名
68 @hanakara_milk
共有ディレクトリの作成•共有ディレクトリが作成された
69 @hanakara_milk
AFSの機能の参照• AFSのデプロイが完了すると,PRISM上からいくつかの情報が見れるようになる•ここからは,以下の2つの方法でAFSの中身を見ていく
1. PRISM上でのAFSオーバービュー2. NVM上でのAFSオーバービュー
70 @hanakara_milk
AFSの俯瞰(PRISMから)
71 @hanakara_milk
PRISMから見たAFS(File Server)•ここにはデプロイされたファイルサービス及びファイルサーバー上に作成された共有ディレクトリの情報が表示されている
72 @hanakara_milk
PRISMから見たAFS(File Server)• Active Directoryに参加しているため,Active Directory上ビルトインユーザーの情報も表示される
Active Directoryのビルトインユーザの情報
73 @hanakara_milk
PRISMから見たAFS(File Server)•ファイルサービスで提供されるディスク領域の使用率やパフォーマンス情報,開かれているセッション数等の情報も見ることができる
74 @hanakara_milk
PRISMから見たAFS(VM)• AFSの実体であるNVMと呼ばれるSambaサービスが起動されたNTNX-FS-1~3の3つのVMが起動されている
75 @hanakara_milk
PRISMから見たAFS(Storage)• Containerのタブを参照すると,AFSのデプロイ時に自動的にファイルサービス用に作成されたコンテナNutanix_FS_ctrが見える
デフォルトで圧縮とパフォーマンスティアでの重複排除が有効になっている
76 @hanakara_milk
PRISMから見たAFS(Storage)• Volume Groupのタブを見ると,AFSデプロイ時に自動で作成された3つのボリュームグループが見える
77 @hanakara_milk
PRISMから見たAFS(Storage)•なぜAFSはファイルレベルのサービスなのに,ブロックストレージサービスのABSのボリュームグループが構成されているのか?•NVMが,どのストレージを領域をSambaのファイルサービス用に提供しているのかを考えると理解できる•NVMはABSを利用し,iSCSI接続でAFS用のディスク領域をマウント,その領域をファイルサービス用のディスクとして提供する
78 @hanakara_milk
AFSのストレージ領域CVM
NVM NVM NVM
Sambaのファイル共有
Samba用ディスク
Samba用ディスク
Samba用ディスク
Storage Pool
ABSVM Container
ISO Container
SSD
CVMCVM
SSD SSD
External Data Services IP address
iSCSIでNVMのディスクとしてマウント
Internal VLAN (VLAN 0)
SMB/CIFSで接続Exte
rnal
VLA
N (
VLAN
254
)
79 @hanakara_milk
AFSの俯瞰(NVMから)
80 @hanakara_milk
NVMのsmb.conf•以下,smb.confの抜粋,Shareで作成したSH1がsmb.confにも登録されていることがわかる
nutanix@NTNX‐172‐16‐16‐185‐A‐NVM:~$ cat /home/samba/etc/smb.conf[global]server max protocol = SMB2_10client max protocol = SMB2_10cluster master = NTNX‐FS‐1.NTNX.LOCALrealm = NTNX.LOCALnetbios name = FSworkgroup = NTNXcluster nodes = NTNX‐FS‐1.NTNX.LOCAL NTNX‐FS‐2.NTNX.LOCAL NTNX‐FS‐3.NTNX.LOCAL
[SH1]vfs objects = minerva_shadow_copy streams_depot acl_xattr minervacreate mask = 0777directory mask = 0777write cache size = 131072acl_xattr:ignore system acls = yespath = /zroot/shares/%X/SH1streams_depot:directory = /zroot/shares/%X/SH1/:streams
?!
PRISMから作成した共有ディレクトリ
3つのノードが登録されている
81 @hanakara_milk
AFSはZFSを使っていた•以下,zpool statusの抜粋,NVMは,ZFSを利用していることがわかる
nutanix@NTNX‐172‐16‐16‐185‐A‐NVM:~$ sudo zpool statuspool: zpool‐NTNX‐FS‐57399a21‐e63a‐434c‐ab81‐0f073e3c3df8‐d43d7208‐b3ba‐4c24‐bf41‐93497645dfa5state: ONLINEscan: none requestedtrim: none requestedconfig:
NAME STATE READ WRITE CKSUMzpool‐NTNX‐FS‐57399a21‐e63a‐434c‐ab81‐0f073e3c3df8‐d43d7208‐b3ba‐4c24‐bf41‐93497645dfa5 ONLINE 0 0 0mpatha ONLINE 0 0 0mpathc ONLINE 0 0 0mpathe ONLINE 0 0 0mpathd ONLINE 0 0 0logsmpathb ONLINE 0 0 0
errors: No known data errors
5本のディスク(vDisk)を利用したZFSが構成されている
ZFSを利用している人には見慣れた表示
82 @hanakara_milk
smbstatusでアクセス状況確認•通常のSambaと同様にsmbstatusで共有ディレクトリへのアクセスが確認できる
nutanix@NTNX‐172‐16‐16‐100‐A‐NVM:~$ sudo smbstatusSamba version 4.3.5PID Username Group Machine Protocol Version‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐16056 administrator domain users 172.16.254.148 (ipv4:172.16.254.148:49792) SMB2_10
Service pid machine Connected at‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐SH1 16056 172.16.254.148 Mon Sep 26 19:40:35 2016IPC$ 16056 172.16.254.148 Mon Sep 26 19:39:58 2016
Locked files:Pid Uid DenyMode Access R/W Oplock SharePath Name Time‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐16056 1100500 DENY_NONE 0x100081 RDONLY NONE /zroot/shares/46a88363‐f464‐4709‐9a4e‐00f117f5ff63/SH1 . Mon Sep 26 19:41:25 201616056 1100500 DENY_NONE 0x100081 RDONLY NONE /zroot/shares/46a88363‐f464‐4709‐9a4e‐00f117f5ff63/SH1 Win10User Mon Sep 26 19:47:20 2016
アクセス元やロック中のファイルの情報など
83 @hanakara_milk
調査不足(ToDo)•NVM側から見たAFSは,時間が無く,この程度までしか調べられていない• Samba,ZFS,それからiSCSI Initiator周りについては,もう少し調べる時間がほしかった• Zpoolを構成するディスクが5本見えるのは,ABSで提供されるVolume Groupが5本のディスクで構成されているから?
84 @hanakara_milk
その他の側面から見たAFS
85 @hanakara_milk
AFSの応答について• AFSは,分散アーキテクチャを採用しているため,ファイルサーバーのいわゆるNASヘッドにあたる部分は,AFSのFQDNがこれを担当しているnutanix@NTNX‐136e420e‐A‐CVM:172.16.16.21:~$ nslookup fs.ntnx.localServer: 172.16.16.10Address: 172.16.16.10#53
Name: fs.ntnx.localAddress: 172.16.254.160Name: fs.ntnx.localAddress: 172.16.254.176Name: fs.ntnx.localAddress: 172.16.254.106
86 @hanakara_milk
AFSの応答について• 3台のNVMは,smb.confこそ共有しているが,クライアントPCなどからのファイルへのアクセスについては,3台個別の管理となっている模様•あるファイルにアクセス中に,NVM3台それぞれでsmbstatusを実行,うち2台ではセッションがないことを確認nutanix@NTNX‐172‐16‐16‐138‐A‐NVM:~$ sudo smbstatusSamba version 4.3.5PID Username Group Machine Protocol Version‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
Service pid machine Connected at‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐No locked files
nutanix@NTNX‐172‐16‐16‐185‐A‐NVM:~$ sudo smbstatusSamba version 4.3.5PID Username Group Machine Protocol Version‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
Service pid machine Connected at‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐No locked filesNTNX-FS-1 NTNX-FS-3
87 @hanakara_milk
AFSの応答について• 3台のNVMのうちの1台がセッションを張っていた
nutanix@NTNX‐172‐16‐16‐100‐A‐NVM:~$ sudo smbstatusSamba version 4.3.5PID Username Group Machine Protocol Version‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐16056 administrator domain users 172.16.254.148 (ipv4:172.16.254.148:49792) SMB2_10
Service pid machine Connected at‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐SH1 16056 172.16.254.148 Mon Sep 26 19:40:35 2016IPC$ 16056 172.16.254.148 Mon Sep 26 19:39:58 2016
Locked files:Pid Uid DenyMode Access R/W Oplock SharePath Name Time‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐16056 1100500 DENY_NONE 0x100081 RDONLY NONE /zroot/shares/46a88363‐f464‐4709‐9a4e‐00f117f5ff63/SH1 . Mon Sep 26 19:41:25 201616056 1100500 DENY_NONE 0x100081 RDONLY NONE /zroot/shares/46a88363‐f464‐4709‐9a4e‐00f117f5ff63/SH1 Win10User Mon Sep 26 19:47:20 2016
NTNX-FS-2
88 @hanakara_milk
AFSの応答について
NVM-1 NVM-2 NVM-3
Sambaのファイル共有
Samba用ディスク
Samba用ディスク
Samba用ディスク
Exte
rnal
VLA
N (
VLAN
254
)
SMB/CIFSで接続
• すべてのNVMのSamba用ディスクに,ファイルが共通的に保存されている訳ではなく,ファイルへのアクセスは,個々のNVM上にマウントされたSamba用のディスクに対して行われる
• PC-AがファイルAにアクセスしたい場合,NVM-1にアクセスする必要がある
• NVM-1が死んだ場合にファイルが失われてしまうのではないかという疑問は,ファイルの実体がどこに格納されているかを考えるとたぶん安心できる
• 少しややこしいが,Samba用ディスクは,元々NutanixのDSFを切り出したディスクであるため,3ノード以上のクラスターでは,RF=2以上でのファイルの保護が掛かっている
A C
PC-A PC-B PC-C PC-D
SH1 SH2 SH3
89 @hanakara_milk
調査不足(ToDo)• AFSに対してクライアントPC等から必要とするファイルにアクセスしたい場合に, FQDNでの呼び出しにおいて,適切なノードがどのように呼ばれているのかの仕組みが,まだ追えていない•参考になりそうなBlogを見つけたが読み込めていない
•併せて,Nutanix Bibleをもう少し読み込む
参考https://virtual‐ez.blogspot.jp/2016/02/deploying‐nutanix‐acropolis‐file‐server.html
90 @hanakara_milk
実際にクライアントPCからAFSに接続
91 @hanakara_milk
共有ディレクトリにアクセス•先ほど作成した共有ディレクトリにアクセスする•アクセス方法は,WindowsのExplorer等から,AFSのFQDNを入力,又はNET USEコマンド等でAFSのFQDNを叩いてアクセス
必要に応じてクレデンシャルを入力
92 @hanakara_milk
共有ディレクトリの階層とアクセス権•共有ディレクトリ直下は,フォルダ以外作成できない
共有ディレクトリ直下にテキストファイルを作成しようとしたが拒否された
93 @hanakara_milk
共有ディレクトリの階層とアクセス権•共有ディレクトリ直下は,フォルダ以外作成できない
共有ディレクトリ直下にWin10userと言うディレクトリを作成してみる,この階層では,ディレクトリのみ作成可能
94 @hanakara_milk
共有ディレクトリの階層とアクセス権•共有ディレクトリ直下は,フォルダ以外作成できない
共有ディレクトリ直下に作成したディレクトリの配下にはファイルの配置が可能
95 @hanakara_milk
共有ディレクトリの階層とアクセス権• AFSが提供するファイルサービスのディレクトリ構成は以下のとおり(図はNutanix Bible USから抜粋)
今回の例ではFS
今回の例ではSH1
今回の例ではwin10user一般ユーザーがフルコントール可能な世界
96 @hanakara_milk
AFSの所感・課題
97 @hanakara_milk
AFSの所感•検証するためのハードルが高かった•現時点で,動作要件を含むAFSの日本語情報がほとんどなく,Nutanix Bible(US)か外国の個人Blogのみが頼りだったため難儀した• AFSの動作要件さえきっちり満たせていれば,数クリックと数カ所の入力項目だけでファイルサービス機能をデプロイできる•共有ディレクトリが作成されてしまえば,そこらへんのNASと使い勝手はそれほど変わらないと思われる
98 @hanakara_milk
AFSの課題• AFSの運用にはそれなりのスペックが要求される–AFSが正式リリースされれば,高額なNAS,ファイルサーバー専用機やユニファイド
ストレージ装置に掛かるコストを削減できそうな機能だが,その分AFSの運用に必要なスペックもそれなりに高い
–ただ,ユニファイドストレージ装置のストレージコントローラーがXeon+数十GBのメモリから成り立っていることを考えると,その分の機能をNutanix側に寄せたと思えば納得もできるかも
99 @hanakara_milk
AFSの課題• AFSのデプロイ後,共有ディレクトリへのアクセスに困惑する–現時点では,デプロイ後,特にTips等が表示されないため,どうやって共有ディレク
トリにアクセスしたら良いかすぐに分からなかった– 初は,External Data Services IP addressがファイルサービスへのアクセスア
ドレスだと勘違いしていた
•個々の共有ディレクトリに対するアクセス権設定機能の不足–現時点で,ファイルサービスで提供する各共有ディレクトリ配下に対するアクセス権
の初期設定時における機能やポインタの表示が不足しているように感じる–AFSデプロイ直後にアクセス可能な共有ディレクトリから以下のアクセス権をユー
ザーごとにどのように設定して行くのかのプラクティスが不足している
100 @hanakara_milk
6. Conclusion- AFSまとめ -
101 @hanakara_milk
まとめ• AFSは,ビジネスのIT基盤をNutanixがAll-in-Oneで提供可能とする,Nutanixのマネージドなファイルサーバー機能•数クリックで,可用性・耐障害性・スケーラビリティのあるファイルサーバーが構築できる
•が…現時点で試すには,必要なリソース面でのハードルが高い•まだ機能面での実装に不足を感じる•現時点でAFSは,開発版(Tech Preview(TP))
102 @hanakara_milk
AFSの動作要件(サマリ)-再掲• 3つ以上のNutanixノード• 2つ以上のネットワーク• 各ネットワークの管理設定• External Data Services IP addressの設定• 1TiB以上のディスク領域• ノードあたり約32GiB以上のメモリ• ノードあたり4つのvCPU• Active Directory• 内部用DNSサービス(サーバー)• NTPサービス(サーバー)• Active Directory,DNSサーバーの2つのVLANへの接続• インターネットアクセス
103 @hanakara_milk
Thanks for Your Timeご静聴ありがとうございます