Awanio インストール準備

システム要件

Awanio を稼働させるには、高品質なサーバー、クラスター内ノード間を接続するネットワーク機器、ストレージなど、いくつかのインフラコンポーネントが必要です。ストレージは、ローカルストレージ(DAS)、ネットワークストレージ(SAN)、分散ストレージ(Ceph)を利用できます。

オペレーティングシステム

Awanio を稼働させるために必要な OS は Ubuntu Server バージョン 20.04 です。

ハードウェア

本番環境(Production)

  • Intel EMT64 または AMD64(Intel VT/AMD-V CPU フラグ付き)。最小 8 コア、推奨は 16 コア以上。
  • PCI(e) パススルー構成では VT-d/AMD-d CPU フラグを有効にする必要があります。
  • メモリは最小 16GB(OS と Awanio が使用するサービス用)。残りのメモリはゲストに割り当てられます。Ceph や ZFS を使用する場合は追加メモリが必要で、使用ストレージ 1TB あたり少なくとも 1GB のメモリを推奨します。
  • 高速かつ冗長なストレージ。SSD ディスクの使用を推奨します。
  • ディスク容量: 各ノードに少なくとも 2 本のディスクが必要です。1 本目は OS ブートディスク、2 本目はデータ用です。OS ディスクは最小 50GB(推奨 100GB)。データディスクは最小 120GB(推奨 500GB 以上)。ディスクは 5,000+ ランダム IOPS の性能を確保してください。
  • OS ストレージ: バッテリー保護付き書き込みキャッシュ(“BBU”)を備えたハードウェア RAID、または非 RAID の場合は ZFS と SSD キャッシュ。
  • VM ストレージ: ローカルストレージの場合、バッテリー保護付き書き込みキャッシュ(BBU)を備えたハードウェア RAID、または非 RAID の場合は ZFS。
  • 冗長 Gbit NIC。
  • 3 つの NIC。

最小ハードウェア(テスト用)

  • CPU: 64bit(Intel EMT64 または AMD64)、最小 8 コア
  • Intel VT/AMD-V 対応 CPU/マザーボード(KVM フル仮想化サポート用)
  • 最小 16GB RAM
  • SSD 2 台(OS 用 1 台、ワークロードデータ用 1 台)
  • NIC 2 枚

ネットワーク

クラスターに参加する各ノードには、少なくとも 2 つの NIC が必要です。1 つ目はクラスター内部管理(internal cluster management)に使用します。2 つ目は、クラスター内外のワークロード間の外部ネットワーク(external networking)に使用します。各ノードで使用する NIC 名は同一である必要があります。

Networking

パブリッククラスター

パブリッククラスター環境では、外部ネットワークは各 VM が使用するパブリック IP です。

プライベートクラスター

プライベートクラスター環境では、外部ネットワークはクラスター外のサーバーや VM と共有する IP レンジです。このトポロジーモデルでパブリック IP からの ingress が必要な場合は、1 台または複数台のノードに、WAN に直接接続された 3 枚目の NIC が必要です。この IP は cluster-config ファイルの ingressExternalIPs ディレクティブで定義します。

このモデルでは、外部からのリクエストは Ingress Service と Load Balancer service 経由でのみ可能です。

ストレージ

Awanio は、ストレージ管理の SDS(Software Defined Storage)として Ceph を使用します。ストレージ構成には内部(internal)と外部(external)の 2 つの選択肢があります。

内部ストレージ

この構成では、クラスターに参加しているノードの一部またはすべてがストレージノードとして動作します。使用するストレージは、SSD/NVMe タイプのローカルディスク、または外部の分散ストレージを利用できます。

ローカルストレージ

ストレージノードを構成するには、少なくとも次のいずれかのローカルストレージタイプが必要です。

  • Raw デバイス(パーティションなし、ファイルシステム未フォーマット)
  • Raw パーティション(ファイルシステム未フォーマット)
  • LVM 論理ボリューム(ファイルシステム未フォーマット)

確認するには lsblk -f コマンドを使用します。

FSTYPE の情報は空である必要があります。

$ lsblk -f
NAME                  FSTYPE      LABEL UUID                                   MOUNTPOINT
vda
└─vda1                LVM2_member       >eSO50t-GkUV-YKTH-WsGq-hNJY-eKNf-3i07IB
  ├─ubuntu--vg-root   ext4              c2366f76-6e21-4f10-a8f3-6776212e2fe4   /
  └─ubuntu--vg-swap_1 swap              9492a3dc-ad75-47cd-9596-678e8cf17ff9   [SWAP]
vdb

上記の例では vdb ディスクを使用できます。

ディスクまたはパーティションを raw(未フォーマット)状態にするには、次のコマンドを使用します。

DISK="/dev/sdX"

# Zap the disk to a fresh, usable state (zap-all is important, b/c MBR has to be clean)
sgdisk --zap-all $DISK

# Wipe a large portion of the beginning of the disk to remove more LVM metadata that may be present
dd if=/dev/zero of="$DISK" bs=1M count=100 oflag=direct,dsync

# SSDs may be better cleaned with blkdiscard instead of dd
blkdiscard $DISK

# Inform the OS of partition table changes
partprobe $DISK

外部ストレージ

外部ストレージは LUN プロトコルを使用する必要があります。ストレージノードに接続されたディスクは raw デバイス形式である必要があります。確認するには次のコマンドを実行します。

sudo multipath -ll

raw ディスクにするコマンドは次のとおりです。

sudo multipath -f mpathb

ディスクを有効化するには次のコマンドを実行します。

sudo multipath

Linux ユーザーとノード間 SSH アクセス

  • 使用するユーザーは sudo ユーザーである必要があります。
  • sudo ユーザーは、パスワードを再入力せずにコマンドを実行できる必要があります。ガイドはこちらを参照してください。
  • 各ノードには、他ノードへの SSH 秘密鍵が必要です。

スワップを無効化(Swap Off)

各ノードは swap off 状態である必要があります。

  1. cat /proc/swaps で設定されている swap デバイス/ファイルを確認します。
  2. swapoff -a で swap を無効化します。
  3. /etc/fstab から該当する設定を削除します。

ライセンスキー

インストールにはライセンスキーが必要です。ライセンスを取得するには https://partner.awan.io/ にログインしてください。