Awanio インストール準備
システム要件
Awanio を稼働させるには、高品質なサーバー、クラスター内ノード間を接続するネットワーク機器、ストレージなど、いくつかのインフラコンポーネントが必要です。ストレージは、ローカルストレージ(DAS)、ネットワークストレージ(SAN)、分散ストレージ(Ceph)を利用できます。
オペレーティングシステム
Awanio を稼働させるために必要な OS は Ubuntu Server バージョン 20.04 です。
ハードウェア
- 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 名は同一である必要があります。
パブリッククラスター環境では、外部ネットワークは各 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 状態である必要があります。
cat /proc/swapsで設定されている swap デバイス/ファイルを確認します。swapoff -aで swap を無効化します。/etc/fstabから該当する設定を削除します。
ライセンスキー
インストールにはライセンスキーが必要です。ライセンスを取得するには https://partner.awan.io/ にログインしてください。