2024年8月31日土曜日

Nutanix CE 2.1(AOS 6.8.1)を稼動させる自宅環境を整備する(その3)

さて、CPUやメモリーはこれで性能アップできました。

次は、Nutanix CEを動作させるためのSSDやHDDを用意します。

SSDは、2本用意、HDDは、標準で搭載されていた2本のHDDを利用することにします。

利用用途は以下の通りです。

ハイパーバイザー/CVM用 SSD256GB
CVM用SSD
(一部キャパシティとして利用)
2TB (SATA)
キャパシティ用HDD1TB × 2本 (SATA)

別途、CEインストール用のUSBメモリーが必要になります。こちらは、常用するものではないので、空いているUSBメモリーがあればそれで問題ないです。(USB 3.0のものを利用することをお勧めします)

さて、確認をしていると、電源の口がSATAのタイプではない、「ベリフェラル4ピン」の電源しかありませんので、SATAの電源ケーブル変換ケーブルの手配が必要です。

▼電源変換ケーブル
StarTech.com ペリフェラル電源-SATA電源変換ケーブル SATAPOWADAP

https://amzn.to/3X9xnTt


さて、さらにメインボードを見ていると、SATAのポートがCDROMドライブ用とあと1つしかありません。SSDを2本取り付けるためには、ポートが足りません。既存のHDDは、どうやってつながっているのかを確認すると、MiniSASで接続されていることがわかりました。


さすが、一応はサーバー用途だけあって、SASのコネクターになっているとは思いませんでした。既存のMiniSASとHDDを取り付けるケーブルはSATAのコネクタが2本しかないので、4本付きのものを新たに手配することにしました。

CHENYANG CY 内部 Mini SAS SFF-8643 ホスト→ 4 SATA 7ピン ターゲット ハードディスク 6Gbps データサーバー RAIDケーブル

https://amzn.to/4g82dEJ


さて、これで準備はできました。次回は、実際に接続をしていく部分をご紹介します。





Nutanix CE 2.1(AOS 6.8.1)を稼動させる自宅環境を整備する(その2)

前回までにスペックアップとして、まずCPUとメモリーを準備しました。


メモリーは、curcial(micron)製のDDR4-3200 32GB × 4枚(128GB)

CPUは、Core i7 8700 × 1 

となります。

メモリーは、新品で購入しました。今回1枚単位で購入しまたが、2枚セットのもであれば、為替状況にも寄りますが、2万円ちょっとで64GB分を購入できます。

(参考)
Crucial デスクトップ用増設メモリ 64GB(32GBx2枚) DDR4 3200MT/s(PC4-25600) CL22 UDIMM 288pin CT2K32G4DFD832A

CPUは、ヤフオクで購入しました。


早速、メモリーを搭載し、CPUを交換してみましょう。


CPUにグリスを塗り、再びヒートシンクを取り付け、動作を確認します。

電源を入れ、BIOS画面に入ります。BIOSが起動する時点で、CPUやメモリーは動作しているので、あとは正しい値が表示されるかを確認します。


ばっちり、Core i7 8700と、メモリーも128GBで見えていました。

メーカー記載の値は、動作確認済みの値なだけであり、実際には、Core i7も動作しますし、メモリーも64GBを超えて認識できますね。

ということで、CPUとメモリーの拡張はこれで終わりました。

次回は、SSDやHDDの取り付けを行います。











Nutanix CE 2.1(AOS 6.8.1)を稼動させる自宅環境を整備する(その1)

2024年8月20日にNutanix CE 2.1 (AOS 6.8.1ベース)がリリースされました。
CE2.0 (AOS 6.5.2)ベースの物から、アップデートでAOS6.8.1にアップグレードすることは可能なのですが、AHVが、「2022系(el7)」から6.8.1で利用される「2023系(el8)」にアップグレードが、CEの場合は、出来ないようです。

では、改めて仮想化環境が見なおされている昨今、自宅で利用できるNutanix CE環境をお手軽に作ることができないかを考えてみました。

自宅にサーバーを置くということを考えるとハードルが高いので、以下の条件を元に考えていきたいと思います。

<選定の条件>

  • 静音・省スペースであること
  • コスト面から最新のCPUではなく、古いものでもよい
  • メモリーは、64GB以上搭載できる
  • IPMIを搭載したサーバーモデルであること
    (長時間運用に耐えられる機器)
省スペースなサーバーとなると、国産メーカーのサーバーに絞られてしまいます。今回は市場の流通量が多い、「NEC Express 5800/T110j-S」(NP8100-2797YP1)を選定してみました。

モデルとしては新しくありませんが、パフォーマンスの検証などをするのではなければある程度は動作するだろうというレベルと、やはり手頃な価格です。

私は、新品のモデルを2万円で入手しましたが、オークションサイトなどではもっと安く手に入るとおもいます。



ただ、この(NP8100-2797YP1)は、本当の最小限スペックのため、このベースモデルでは、Nutanixを稼動させることはできません。

NP8100-2797YP1のベーススペック

CPUPentium Gold 5420 (3.8GHz)
RAM8GB
HDD1TB × 2 (SATA 3.5インチ)
NIC1G NIC×2 (intel)
IPMI1ポート

スペック情報は、こちらから参照出来ます

これでは、話になりませんので、パーツ交換を前提にする必要があります。

NECから更改されているアーキテクチャー図が公開されていますので、確認するとCPUは、Celeron/Pentium/Core i3/Xeon (Coffeelake-s)と記載されています。

i3の次がいきなりXeonで、CoffelakeとなるとE-2100/E-2200シリーズとなるため、パーツの流通も少なく、1個あたりオークションサイトでも2万円近くするためあまり現実的ではないようにも思います。

なにより、メモリーが64GBまでのサポートというのは、ちょっと納得いきません。


もう少し情報はないものかと思い、内部を見ているとこのサーバーは、NEC御用達、GIGABYTE製のメインボードであることが、実機を見るとわかります。


ということで、GIGABYTEの製品情報をこちらから確認してみます。同じモデルはありませんでしたが、MX32-BS0という兄弟モデルの情報がありました。おそらくNECのモデルはこのメインボードのカスタマイズモデルのように思われます。(BS0は、M.2スロットがありますが、NECのMX32-PH1は、M.2スロットがPCI 16xのスロットになっています)

こちらの図を見てもベース情報はあまり変わりありません。


しかし、Coffe Lake-Sであれば、Core i7 8700の利用ができることや、Core i7 8700からは、メモリーサポートも128GBまでサポートされているはず。

intelのホームページより


ということで、今回は試しに、Core i7 8700とメモリー128GBを搭載して動作するかを確認してみます。


次回は実際に、パーツを交換してみたいと思います。





2024年8月3日土曜日

アップリンクの設定変更をコマンドで行う場合のコマンド集

Nutanix+AHV環境において、AOS5.19以降は、Prismの画面からアップリンクNICの各種設定変更ができるようになりました。

しかし、例えばLACPに設定変更後うまくネゴシエーションができなくなったなど、様々なトラブルシューティングの際には、状態確認を含めコマンドで確認する必要が出てきます。

今回は、アップリンクまわりの設定をコマンドから行う場合の設定例をまとめてご紹介いたします。

まず、manage_ovsコマンドは、CVMから実行します。ネットワークに性上に接続が出来ない状態の場合は、サーバーホストのコンソールを開き、そこから「ssh nutanix@192.168.5.2」で、CVMにログインし、作業を行います。


仮想スイッチとアップリンクNICの設定状況

> manage_ovs show_uplinks

結果

Bridge: br0
  Bond: br0-up
    bond_mode: active-backup
    interfaces: eth3 eth2
    lacp: off
    lacp-fallback: false
    lacp_speed: slow
    lacp_status: off

Bridge: br1
  Bond: br1-up
    bond_mode: balance-tcp
    interfaces: eth1 eth0
    lacp: active
    lacp-fallback: True
    lacp_speed: fast
    lacp_status: configured

この環境では、2つの仮想スイッチがあり、active-backupのチーミングモードと、balance-tcp(LACP)のチーミングモードでそれぞれ設定されています。


各アップリンクNICの状況(リンクアップ・ダウンや速度)

> manage_ovs show_interfaces

結果

name  mode  link speed
eth0  1000 False  None
eth1  1000 False  None
eth2 10000  True 10000
eth3 10000  True 10000

ここでは、10GNICと1GNICで構成されており、10G NICだけが、10Gでリンクアップしていることがわかります。10Gポートが仮に1Gでリンクアップしている場合は、speedが、1000で表示されます。


仮想スイッチの作成

manage_ovs --bridge_name br1 create_single_bridge

ここでは、br1で指定していますが、実際には仮想スイッチの追加番号を入力します。


仮想スイッチの削除

manage_ovs --bridge_name br1  delete_single_bridge


アップリンクNICをactive-backupで構成する

manage_ovs --bridge_name br1 --interfaces eth0,eth1 --bond_mode active-backup  update_uplinks

アップリンクNICを変更する場合や、チーミングモードを変更する場合もこちらのコマンドを利用します。


アップリンクNICをLACPで構成する

manage_ovs --bridge_name br1 --interfaces eth0,eth1 --bond_mode balance-tcp --lacp_mode fast --lacp_fallback true update_uplinks


あわせて、AHVのホスト側から確認する方法もご紹介します。

アップリンクの設定確認

ovs-appctl bond/show br0-up 


LACPの確認(balance-tcpで設定された仮想スイッチのみ指定可能)

ovs-appctl lacp/show br0-up 


特にLACPで構成して、疎通ができない場合は、CVMで「manage_ovs show_uplinks」を実行し、「lacp_status」が「negotiated」になっているかを確認しましょう。

> manage_ovs show_uplinks
Bridge: br0
  Bond: br0-up
    bond_mode: balance-tcp
    interfaces: eth1 eth0
    lacp: active
    lacp-fallback: True
    lacp_speed: fast
    lacp_status: negotiated ★


LACP構成時は、Nutanix側で、fallbackを有効化しているので、スイッチ側がLACPモードになっていない場合、AHV側が標準ポートとして動作します。


あわせて以下も確認しましょう。

Bridges with single uplink on AHV hosts
https://portal.nutanix.com/kb/8015

How to Enable, Disable, and Verify LACP on AHV hosts
https://portal.nutanix.com/kb/3263

AHV host networking
https://portal.nutanix.com/kb/2090







2024年8月1日木曜日

WindowsのNTPサーバをCVMから参照させる方法

Nutanixは、分散アーキテクチャーを採用しているため、 NTPによる時刻同期は、非常に重要です。NTPサーバーは、必ず用意をする必要があります。

NutanixのコンポーネントであるCVMやAHVは、いずれもLinuxベースのOSで動作していることもあり、Nutanixクラスターが指定するNTPサーバーは、Windows OS以外のものを指定することが推奨されています。


(参考)Recommendations for Time Synchronization
https://portal.nutanix.com/page/documents/details?targetId=Web-Console-Guide-Prism-v6_8:wc-ntp-server-time-sync-recommendations-c.html

Synchronizing a Nutanix cluster with a Windows time source is known to cause issues over a period of time, so Nutanix recommends that you not synchronize a cluster’s time with Windows NTP sources. Use reliable non-Windows time sources instead. In an Active Directory domain, the best practice (a design that both works around and improves upon having to include domain controllers in the list of NTP sources) is to bypass the domain controllers and to synchronize the Nutanix hosts and CVMs directly with the NTP sources with which the domain controllers synchronize their time. Specify a common list of at least five reliable non-Windows NTP sources for both the domain controllers and the Nutanix cluster.


ADがNTPとして動作している場合、ADに設定されている上位のNTPサーバーを、設定することを推奨とされていますが、ネットワークセキュリティの観点から、自由にNTPサーバーを指定することが難しいケースや、わざわざLinuxやBSDでNTPサーバーを立てるのも手間がかかります。

今回は、Windows ベースのNTPで、可能な限りCVMで時刻同期ができる環境を作る情報をご紹介します。ただし、どうしてもNTPサーバを用意できない場合の参考情報であり、実際の本番環境で利用する場合は、Windows以外のNTPサーバー環境をご用意いただくことを強く推奨します。

WindowsのNTPサーバーになるマシンで、NTPサーバー側で以下のレジストリを設定します。

場所:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

値:
NTPServer = "上位のNTPServer,0x8"
Type = "NTP"


場所:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

値:
LocalClockDispersion = dowrd:0
AnnounceFlags = dword:5
MinPollInterval = dowrd:6
MaxPollInterval = dowrd:a


場所:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer

値:
Enabled = dword:1


この設定の後、Windows Timeサービスを再起動します。


イベントログを確認し、WindowsのNTPが上位のNTPを正常に参照できているかを確認します。


あとは、Prism側にNTPサーバーの登録を行います。


登録したのち、実際に反映されるまで15分程度かかります。

その後、CVMで「sudo chronyc -n sources -v」で、NTPサーバー登録が正常に行われて降り、同期対象になっているかを確認します。

nutanix@NTNX-aca83545-A-CVM:~$ sudo chronyc -n sources -v
  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current best, '+' = combined, '-' = not combined,
| /             'x' = may be in error, '~' = too variable, '?' = unusable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* 192.168.54.1                  3   6   377    21   +378us[ -982us] +/-  113ms
^+ 192.168.54.2                  3   6   377    22   -641us[-2002us] +/-  122ms


時刻同期が行われているNTPを「sudo chronyc -n」で確認します。

nutanix@NTNX-aca83545-A-CVM:~$  sudo chronyc -n
racking|grep Ref
erence
Reference ID    : C0A83601 (192.168.54.1)


同期ステータスを「sudo chronyc tracking」確認します。

nutanix@NTNX-aca83545-A-CVM:~$  sudo chronyc tracking
Reference ID    : C0A83601 (192.168.54.1)
Stratum         : 4
Ref time (UTC)  : Sat Jul 27 05:16:22 2024
System time     : 0.000760825 seconds slow of NTP time
Last offset     : -0.001093699 seconds
RMS offset      : 0.000706507 seconds
Frequency       : 4.807 ppm slow
Residual freq   : -0.459 ppm
Skew            : 4.433 ppm
Root delay      : 0.071808040 seconds
Root dispersion : 0.061855555 seconds
Update interval : 65.2 seconds
Leap status     : Normal

なお、AOS6.8から、RockyLinuxベースになったこともあり、ntpも、chronydに変更されています。従来の「ntpq」コマンドは利用できなくなっていることも注意してください。


WindowsのNTPであっても、同期が可能な限り取れる方法をご紹介しましたが、よりクリティカルが環境での利用は、推奨される非Windows環境のNTPサーバーを指定することをお勧めします。



(参考)Chronyd: Troubleshooting Guide
https://portal.nutanix.com/kb/16363

(参考)
https://qiita.com/fukuchan-senpai/items/1fa755ffaffe6a25a2f2