2023年7月18日火曜日

File Analyticsバージョン3.2.1で管理画面にアクセスできない原因と対処方法

備忘録のため記事しました。

File Analyticsを利用している環境にて、File Analytics VM(FAVM)が起動しているにも関わらずFile Analyticsの管理画面へのアクセスできないことがありました。

File Analyticsのバージョン3.2.1以上、3.3未満で発生する既知の不具合らしく、rootユーザーのパスワード有効期限に起因する問題のようです。

File Analytics - FA 3.2.1 may fail to start services after a reboot

なお、バージョン3.3で修正予定らしいです。


本事象の内容と改善方法

FAVMが起動している状態でFile Analyticsのコンソールに接続しようとすると、このように接続拒否されます。


FAVMへSSHで接続し、以下のコマンドでサービスの起動状態を確認します。
sudo systemctctl status docker.service
コマンドを実行するとdocker.serviceがfailed状態になっていることがわかります。
[nutanix@NTNX-192-168-45-129-FAVM home]$ sudo systemctctl status docker.service
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: failed (Result: start-limit) since Wed 2023-07-12 10:27:27 UTC; 19h ago
     Docs: https://docs.docker.com
  Process: 1485 ExecStartPre=/usr/lib/systemd/system/docker.service.d/mount_volume_group.sh (code=exited, status=1/FAILURE)


細かな仕組みはよく分かりませんが、failedになっている原因はFAVMがVolume Groupをマウントする際にroot権限を必要とするようで、デフォルト設定でrootのパスワード有効期限が60日に設定されており、有効期限が切れた後にFAVMを再起動すると起動時のマウント処理に失敗して上記の問題が発生してしまうみたいです。

そのため、rootのパスワード有効期限を延長することで解消できるみたいです。


FAVMで以下のコマンドを実行し、現在のrootユーザーの状態を確認します。

sudo change -l root

Password expiresの行を見てみると、すでに有効期限切れになっていることがわかります。

[nutanix@NTNX-192-168-45-129-FAVM home]$ sudo change -I root rootl root
Last password change					: Mar 03, 2023
Password expires					: May 02, 2023
Password inactive					: never
Account expires						: never
Minimum number of days between password change		: 1
Maximum number of days between password change		: 60
Number of days of warning before password expires	: 7

次に以下のコマンドで有効期限を再延長します。

sudo chage -d [現在の日付] root

再度rootユーザーの状態を確認すると、有効期限が延長されていることが確認できます。

[nutanix@NTNX-192-168-45-129-FAVM home]$ sudo chage -d 2023-0507-13 root
[nutanix@NTNX-192-168-45-129-FAVM home]$ sudo chage -l root
Last password change					: Jul 13, 2023
Password expires					: Sep 11, 2023
Password inactive					: never
Account expires						: never
Minimum number of days between password change		: 1
Maximum number of days between password change		: 60
Number of days of warning before password expires	: 7
※間違ってNutanixのKBに記載されている日付入れてしまってるけど、とりあえず有効期限は延長されてそう・・・

その後、rebootコマンドでFAVMを再起動後、ブラウザからアクセスするとFile Analyticsの画面が表示されます。

以上です。
File Analyticsが使えない事象なので、とりあえずNutanixのサポートポータルで調べたらすぐにヒットしそうですが、タイトルがサービスが起動しない的なタイトルだったため引っかかりづらい気もし、簡単に記事にまとめておきました。

なお、この対処方法はパスワード有効期限の再延長という対応なので、また60日後に同じ事象が発生すると思います。
次回も同様の対応をするか、今後提供される新バージョンで改善されるはずなのでFile Analyticsをアップグレードするなど、追加の対応が必要になる点は考慮しておく必要がある点にご注意ください。

2022年12月17日土曜日

Nutanix(AHV)上の仮想マシンをHYCUでクラウドバックアップ

※Nutanix Advent Calendar 2022 17日目の記事になります。 

HYCUの新しいロゴの壁紙


以前にも紹介したHYCUというバックアップ製品が最近ちょくちょくと採用もされはじめてきたので、今回はNutanix上(AHV)の仮想マシンをクラウドへバックアップする方法を紹介します。

HYCUはAWSやAzure、Google Cloudと、大手どころのパブリッククラウドへのバックアップに対応しています。
今回はAzureのBLOBストレージに対してバックアップをしてみます。


HYCUのおさらいとクラウドへの永久増分バックアップ

HYCUの大まかな利用方法は以前の記事をご覧ください。
Nutanix CEの仮想マシンをHYCUでバックアップ(インストール編)
Nutanix CEの仮想マシンをHYCUでバックアップ(バックアップ・リストア編)

以前の記事はHYCUの少しバージョンが古くNutanix CE上に導入・設定した手順ですが、現時点最新バージョンのHYCUであっても画面が少し変わった程度で手順はほとんど同じです。
(むしろ正式に日本語化も対応し、画面はより使いやすくなった印象をもちます。)


以前のHYCUはフル+増分バックアップ方式しか選択ができず、定期的なフルバックアップ取得時にクラウドへの大容量データ送信が必要になるため、クラウドバックアップが必要というシーンでは採用しづらい傾向にありました。

しかし、HYCUのバージョン4.5.0か4.5.1からクラウドへの永久増分バックアップが利用可能になり、初回バックアップ以降は増分データのみ送信すればよくなったため、Nutanixでクラウドバックアップが必要な要件に対してHYCUの採用がかなりやりやすくなりました。
本記事ではクラウドバックアップを取得する手順を紹介いたします。


クラウドへの永久増分バックアップ設定方法

大まかな設定方法は基本的に通常の手順と変わりません。

・ターゲット作成

まずはじめに、バックアップターゲットに今回のバックアップ先として用意したAzure BLOBを登録します。
ここで登録時には「アーカイブに使用」を有効にします。

[タイプ]項目でAzureを選択し、今回は予めAzureで作成しているBlob Storageの各種情報を入力し、登録を完了します。
AWSなど、別のパブリッククラウドを利用する場合は適宜[タイプ]項目を変更してください。


・ポリシー作成

次はポリシーの作成を行いますが、ここが最も通常と異なる点となり永久増分方式にてバックアップを行う場合は、通常のポリシーに加えて「アーカイブポリシー」を作成する必要があります。
(アーカイブポリシーが正式な名称ではないっぽいですが・・・仮で呼称してます)
これは永久増分方式のバックアップは、HYCUではアーカイブ機能を組み合わせて実現しているためです。

とは言ってもややこしいことはなく、アーカイブポリシーの作成は非常に簡単です。
ポリシー画面から右上の「アーカイブ」を選択し、間隔やアーカイブ処理のタイミングなど用途に合わせたアーカイブポリシーを作成します。

[ターゲット]項目には先程作成したBlobを指定します。

アーカイブポリシー作成の後、通常のポリシーも作成します。
ポリシー作成時に「アーカイブ」にチェックを入れ、下部に先程作成したアーカイブポリシーを指定します。
なお、今回作成したポリシーはローカルにNutanixのスナップショットだけを取得し、クラウドへ直接バックアップデータを転送する設定にしております。

[バックアップターゲット]をターゲットに選択し、NASなどを指定すればNAS→クラウドのような2次バックアップ構成にすることもできます。
細かな調整の余地はありますが、今回ような設定を行えば直接Blob Storageにバックアップを行うことが可能です。


作成したポリシーでバックアップを取ってみる

作成したポリシーをバックアップ対象の仮想マシンに適用し、バックアップを取得してみます。
通常のバックアップタスクはバックアップウィンドウが指定されていなければ、ポリシー適用後に自動で実行されます。
バックアップ完了(今回の場合はNutanixのスナップショットだけ取得)後、アーカイブポリシーにて指定した時刻になるとBlob Storageにバックアップデータを転送します。
今回は右下の「アーカイブを実行」から手動で転送を行います。

Blob Storageへのデータ転送が完了すると、復元ポイントに[ARCH]アイコンが表示されます。


クラウド上のバックアップからリストア

Blob Storageに保存したバックアップから復元を行ってみます。
[復元元]は「アーカイブ」を指定しておきます。
(デフォルトだと、最も早く復元できるターゲットが選択されてしまいます。)

クラウドからのリストアになるため、データ量は10GB程度ですが数分かかりました。

当たり前ですが、普通に起動できました。


まとめ

今回はHYCUを使ってAHV上の仮想マシンをクラウド(Blob Storage)にバックアップを取ってみました。
HYCUのアーカイブ機能を利用することで、クラウドへの永久増分バックアップを取得することができます。

もともとHYCUはNutanixとシナジーの高いバックアップ製品として以前から注目していましたが、クラウドへのバックアップが要件に上がると以前までは永久増分方式が取れないことで、クラウドバックアップという点において提案がしづらいと感じていました。
しかし、本記事で紹介した様に最近のバージョンで永久増分方式が可能になり、更に今回設定したようにクラウド上のストレージを1次バックアップ先に指定ができます。

こういった特徴があるので、Nutanix + クラウドバックアップという組み合わせではよりオススメできる製品になったと思います。

ちなみにHYCUとNutanixの組み合わせについては外部のサイトになりますが、こちらが参考になると思います。

2022年12月10日土曜日

Nutanix FilesのWORM(Write Once Read Many)機能について

※Nutanix Advent Calendar 2022 10日目の記事になります。

今回はNutanix Files 4.1に追加されたWORM機能について、触ってみました。
WORMとはWrite Once Read Manyの略称であり、初回書き込み以降は上書き処理を禁止する特徴を持っています。
この特性から昨今ではランサムウェア対策やアーカイブ(長期保存)などの用途で利用されることが増えています。


Nutanix FilesのWORMはどのように動作するのか

WORMを利用する際は「クールオフタイマー」と「保持期間」の2つを指定します。
WORMオプションを有効にした共有フォルダ内のファイルが最後に更新されてから、クールオフタイマーで指定した時間が経過するとファイルは上書き不可の状態に変更されます。
上書き不可の状態から保持期間で指定した時間が経過すると、上書き不可状態が解除され削除が可能になります。


WORMの利用方法

FilesでWORMを利用するには、まずバージョンが4.1以降である必要があるため、それより古い場合はまずアップグレードを行ってください。

バージョン4.1以降であれば、SSHでFSVMに接続してコマンドにてWORMオプションが有効になった共有フォルダを作成できます。
nutanix@fsvm$ afs share.add "共有フォルダ名" worm_enabled=true
また、クールオフタイマーと保持期間は、共有フォルダ作成後に変更することができないため、デフォルト値から変更する場合は以下のオプションを付け加えます

・クールオフタイマー
worm_cooloff_interval=秒数で指定
・保持期間
worm_retention_period=秒数で指定

例えばクールオフタイマーを5分、保持期間を26週で設定される共有フォルダを作成するには、以下のコマンドを実行します。
nutanix@fsvm$ afs share.add worm-share4 worm_enabled=true worm_retention_period=15724800 worm_cooloff_interval=300
Files Consoleから確認すると共有フォルダが作成されていることが確認できます。
ただし、現在のFiles ConsoleからはWORMオプションの有効・無効状態を確認できないため、以下のコマンドにて確認を行います。
nutanix@fsvm$ afs worm.spec share_name="共有フォルダ名"
先程クールオフタイマーなどを変更して作成された共有フォルダのステータスが確認できます。
nutanix@fsvm:~$ afs worm.spec share_name=worm-share4
worm_type: kShareLevel
cooloff_interval: 300
retention_period: 15724800
autocommit: true

なお、余談ですが以下のコマンドでそもそもWORMオプションが有効化された共有フォルダであるか、確認することもできます。
nutanix@fsvm$ afs share.list sharename=worm-share3
Filtering the share list based on 'worm-share3'
Share name                              : worm-share3
Share UUID                              : c27f7f8a-019a-42a0-afad-bb6a87e454d4
File server name                        : omrisFiles01
Share type                              : GENERAL
Protocol type                           : SMB
Secondary Protocol type                 : None
Self-service Restore                    : DISABLED
Volume group set UUID                   : f4a1fb44-8151-4320-98d2-6d9d42a0b2e6
Share path                              : /worm-share3
File-Blocking patterns                  :
Share Workload Type                     : Default
SMB3 Encryption                         : DISABLED
Compression                             : DISABLED
Longname                                : DISABLED
Worm                                    : ENABLED
Files-at-root                           : NOT APPLICABLE
Continuous Availability                 : DISABLED
Status type                             : Available
色々とステータスの一覧が表示されていますが、Wormの設定が「ENABLED」になっていれば、正常にWORMオプションが有効化されています。
なお、Files Consoleなどから作成した共有フォルダはWormの項目がDisabledで表示されていますが、後からEnabled(有効)に変更することはできないため、WORM機能を利用する場合は先ほどのコマンドにて新たに作成する必要があります。


WORMオプションが有効になっている共有フォルダの動作

先程のイメージ図の通り、WROMが有効な共有フォルダ内に新規ファイルを作成し、クールオフタイマーで指定した時間以内であれば、上書きすることができます。
クールオフタイマーの時間を経過した後に、上書き保存しようとすると拒否される形になります。

クールオフタイマー経過後に改めてファイルを開くと上書き禁止状態になっていることも確認できます。

また、ファイルを直接削除しようとしても、拒否されます。


まとめ

Nutanix FilesではWORM機能を利用することができます。
Nutanixを利用している環境であれば、わざわざWORM対応の専用ストレージ製品などを用意することなく、WORM機能を利用することができます。
(Nutanix FilesはAOSライセンスに1TBの無償利用枠がありますので、少しだけWORM機能が必要な要件があるみたいな状況でも活用できるのかなと思っています。)

また、設定は現状コマンドからのみになります。

なお、WORM機能を利用する際の細かな制限事項などは公式ドキュメントをご確認ください。
https://portal.nutanix.com/page/documents/details?targetId=Files-v4_2:fil-files-worm-shares-c.html