ミニPCへNutanix CE 2.1をインストール + 3台でクラスタ

Nutanixを触ってみたいな～、
CE(Community Edition)版あるし、いっちょ環境構築してみますか！
という軽い気持ちで始めた所、
ちょいちょい躓いたので備忘録として作成。




## １．Nutanix CE 2.1の動作要件
https://portal.nutanix.com/page/documents/details?targetId=Nutanix-Community-Edition-Getting-Started-v2_1:top-sysreqs-ce-r.html
|項目|要件|補足
|----|----|----
|CPU|4コア以上|Intel：第2世代以降<br>AMD：Zen以降
|メモリ|32GB|64GB推奨
|ディスク|Hypervisor：32GB以上<br>Hot Tier：200GB以上<br>Cold Tier：500GB以上|AHV用<br>CVM用<br>データ用

:::note info
CVM用ディスクは容量を大きくしても無駄にならない様です。
https://www.reddit.com/r/nutanix/comments/1bliv2l/does_the_cvm_disk_contribute_to_storage_or_is_the/
:::






## ２．ハードウェア
### ミニPC：GMKtec M5 Plus
　CPUはRyzen 7 5825U(8C/16T)
　メモリは64GB(32GB×2)へ換装
　参考URL：https://liberation-of-se-like-slaves.net/nutanix-ce-3-tier

### ポータブルSSD：Buffalo SSD-PUT250U3-B/N
　外付けSSDでいけるという情報が複数見られた為、AHV用ディスクとして購入
　**※後述するが、ここでも躓いた**





## ３．IPアドレス
とりあえず7つあればいいです。
Network：192.168.2.0/24。
Cluster Virtual IP: 192.168.2.30
|端末|AHV|CVM
|---|------------|------------
|PC1|192.168.2.31|192.168.2.32
|PC2|192.168.2.33|192.168.2.34
|PC3|192.168.2.35|192.168.2.36









## ４．インストールメディア作成
Nutanix Ce 2.1のisoは下記からDL。

https://my.nutanix.com/




アカウントがない人は作成しましょう。
※gmail等のフリーアドレスは不可
構築したクラスタのダッシュボードに入る際にも必要になります。






My Nutanix へログインしたら、Community Editionへアクセス。
![04-01 My Nutanix.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/741824/e5958f28-bf93-491b-20bb-576ae97cdb68.png)






















isoをDLしましょう。
![04-02 iso dl.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/741824/2f6f66ee-a0e1-e719-3f39-f495baa7c186.png)































Rufusを使ってインストールメディアを作成。
![04-03 rufus.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/741824/41ac0381-918e-c93f-6afe-6aa6178e14e9.png)
































## ５．インストール
### 躓きポイント1
::: note warn
使用するディスクのパーティションは全てを削除しておこう
:::

中途半端にパーティションが残っているとインストールメディアのマウントに失敗します。
（Windowsパーティションが悪かった気がする）
![05-01 liveCD not found.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/741824/a80867ad-e700-f131-c82b-1cbed179bb39.jpeg)


























ミニPCにUSBメディアを挿して、ブートしましょう。
しばらく放置したらインストール画面が表示されます。
![Screenshot 2025-01-09 22-43-51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/741824/26f37689-de2e-a57d-22ec-3a7712683038.png)





















### 躓きポイント2
::: note warn
LiveCDのスクリプトを書き換えよう
:::



今回は外付けSSDにAHVをインストールする為、画面通りに進めても失敗します。
![05-03 with test ssd.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/741824/0d35e442-3df3-3465-b9cc-88707fea205e.png)



















### 回避方法
インストーラ画面で[Ctrl + C]を入力し、中断。


``` diff
'pythonファイルを書き換える
$ vi phoenix/minimun_reqs.py

'185行目 [disk.isUSB or]を削除
- if disk.isUSB or disk.size < 99:
+ if disk.size < 99:

'インストールを再開
./ce_installer && screen -r
```












各値を入力し、Next Page。
![05-04 installer.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/741824/9308327e-8f55-9462-f6d6-28d8b4773565.png)

























ライセンス条項画面。
最後までスクロールし、画面端の[U] ⇒ [｜]にする。
I accept the end user license agreement. でスペースを押して[ ] ⇒ [x]にし、Start
![05-05 license.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/741824/ea0ac797-3121-a2ad-638e-04b39c9ebb9b.png)




















インストールが終わればUSBを抜いて再起動。
![05-06 installed.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/741824/d7356eec-c80b-1a84-876a-910ca06063d7.png)





















残り2台にも同じことを行う。




## ６．クラスター作成
各CVMにsshで接続。
下記コマンドを実行し、foundation, genesisが動作してることを確認
|username|password
|-------|----------
|nutanix|nutanix/4u

```
$ genesis status
2025-01-09 15:05:18.478551: Services running on this node:
  foundation: [9246, 9309, 9310]
  genesis: [8421, 8504, 8553, 8554]
``` 

:::note info
当然ながら、AHVが起動後にCVMが起動する。
CVMが起動しても直ぐにfoundation, genesisが起動するわけではない。
5分ほど放置しましょう。
:::


3台ともサービスが起動したらクラスタ作成コマンドを発行。
時間がかかるのでしばらく放っておきましょう。
```
'どのCVMからでもok
$ cluster -s 192.168.2.32,192.168.2.34,192.168.2.36 create

'※シングルノードの場合はこっち
'$ cluster -s <CVM-IP> --redundancy_factor 1 create


'クラスタ作成完了後、ステータス確認
$ cluster status
The state of the cluster: start
Lockdown mode: Disabled
    CVM: 192.168.2.32 Up
           Xmount   UP       [63278, 63452, 63453, 63508]
        IkatProxy   UP       [63024, 63224, 63225, 63226]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    CVM: 192.168.2.34 Up
           Xmount   UP       [63278, 63452, 63453, 63508]
        IkatProxy   UP       [63024, 63224, 63225, 63226]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    CVM: 192.168.2.36 Up
           Xmount   UP       [63278, 63452, 63453, 63508]
        IkatProxy   UP       [63024, 63224, 63225, 63226]
        
```










## ７．Web Console
ブラウザでCVMに接続
http://192.168.2.32:9440/console/#login
|username|password
|-----|----------
|admin|nutanix/4u

初回はパスワードの変更求められる。
変更後、再度ログインを行う。

::: note warn
パスワード入力を誤ってadminがロックされた場合、
5分待つ or 下記コマンド
```
'adminユーザのアカウントロック解除
$ sudo faillock --user admin --reset`
```
:::















![07-01_login画面.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/741824/908b7c20-a297-a269-eb34-42ef9070892f.png)

























Nextユーザでの認証を求められる。
isoのDLで使用したアカウントを使用する。

:::note info
私の場合、下記で再度登録しないとダメだった
https://www.nutanix.com/products/community-edition/register
:::













ダッシュボードが表示される。
![08-01 web console.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/741824/70412eb1-a29d-da61-f911-61eb555ebbdd.png)



















### 日本語化
Home ⇒ Settings ⇒ Language Settings ⇒ 日本語
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/741824/04f47fe1-bda2-ef7a-02b8-c0c824c95c22.png)






























### Cluster Virtual IP
左上のクラスタ名(デフォ：umnames)から設定可能。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/741824/49d79e83-ff41-5b8f-6c4c-2af5bc9feda0.png)



























## ８．CVMのタイムゾーン変更
```
ncli cluster set-timezone timezone=Asia/Tokyo
```



## ９．CVMのメモリを減らす
参考URL：

https://liberation-of-se-like-slaves.net/cvm-modify/#toc14

各CVMを１台ずつ行う
```
# AHVをメンテナンスモードにする
$ acli host.enter_maintenance_mode <AHV_IP>

# CVMにsshし、シャットダウン
$ cvm_shutdown -P now

# AHVにsshし、CVMが停止してることを確認
# virsh list --all
 Id   Name                  State
--------------------------------------
 -    NTNX-a54ed37d-A-CVM   shut off

# 設定ファイルをバックアップ
# virsh dumpxml NTNX-a54ed37d-A-CVM >  NTNX-a54ed37d-A-CVM.xml

# 現状確認
# virsh dumpxml NTNX-a54ed37d-A-CVM | grep -i memory
  <memory unit='KiB'>20971520</memory>
  <currentMemory unit='KiB'>20971520</currentMemory>
  <memoryBacking>
  </memoryBacking>
      <cell id='0' cpus='0-3' memory='20971520' unit='KiB' memAccess='shared'/>

# 該当部分を書換
# virsh edit NTNX-a54ed37d-A-CVM

# 変更後確認
# virsh dumpxml NTNX-a54ed37d-A-CVM | grep -i memory
  <memory unit='KiB'>16777216</memory>
  <currentMemory unit='KiB'>16777216</currentMemory>
  <memoryBacking>
  </memoryBacking>
      <cell id='0' cpus='0-3' memory='16777216' unit='KiB' memAccess='shared'/>

# CVM起動
# virsh start NTNX-a54ed37d-A-CVM

# CVMにsshし、AHVをメンテナンスモードから抜ける
$ acli host.exit_maintenance_mode <AHV_IP>
```

## １０．AHVのホスト名を変更

https://portal.nutanix.com/page/documents/details?targetId=AHV-Admin-Guide-v6_5:ahv-acr-host-name-change-t.html

CVMにnutanixでログイン。
```
$ change_ahv_hostname --host_ip=<AHV_IP> --host_name=<NEW_HOST_NAME>
```