ドキュメント

システム要件

約2分で読めます · このページを GitHub で編集

← ShimoDocs Suite デプロイメント文書

1. シナリオに応じたリソースの準備

使用シナリオ 推奨デプロイ リソース準備
小規模チーム、軽量 PoC、デモ、機能検証 シングルサーバーデプロイ 1台のサーバー
正式稼働、長期運用、高可用性または将来のスケーリングが必要 高可用性クラスタ 3台以上のサーバー
  • シングルサーバーデプロイは迅速な検証や小規模利用に適しています。
  • クラスタデプロイは正式稼働、長期運用、将来のスケーリングに適しています。

2. オペレーティングシステム要件

オペレーティングシステム サポートされているバージョン サポートされているアーキテクチャ
Ubuntu 22.04, 24.04 x86

各サーバーで実行:

cat /etc/os-release
uname -m

確認結果:

  • OSはUbuntu 22.04またはUbuntu 24.04です。
  • CPU アーキテクチャはx86です。
  • インストールアカウントは root、または同等のシステム管理権限を持っています。

注意: CentOSシステムのサポートを終了する理由

  • CentOS Linux 7および8はサポートが終了しており、CentOS公式はCentOS 9以降のバージョンを提供せず、新しいセキュリティ更新、脆弱性修正、または問題のパッチも提供していません。
  • 基本的なシステムコンポーネントは長期的にセキュリティパッチを受け取ることができず、修正できない脆弱性が残る可能性があり、これは本番環境のセキュリティ要件を満たしません。
  • CentOS 7/8のカーネル、glibc、OpenSSLなどの基本コンポーネントは比較的古く、新しいランタイムおよび依存ライブラリの要件を満たすことができません。 Kubernetes
  • CentOS Streamは従来のCentOS Linuxと比べてバージョンの位置付けおよび更新メカニズムが異なり、特別な互換性検証を行っていないCentOS Stream環境も公式サポートには含まれません。

3. サーバ構成要件

3.1 単一ノード展開

  • 軽量な小規模チーム(200人未満)に適しています。
  • PoCデモンストレーションおよび機能検証シナリオは、単一ノードのリソースに応じて準備可能です。
プロジェクト 要件
サーバー数 1
CPU 16コア以上
メモリ 32GB以上
システムディスク ルート / パーティション100GB以上
データディスク 独立マウント /data、利用可能な空き容量300 GB以上、拡張対応

3.2 クラスタ展開

公式リリース、長期運用、高可用性、将来の拡張が必要なシナリオでは、クラスタ要件に応じてリソースを準備する。

項目 要件
サーバ台数 3台以上
推奨役割 3 master + N worker
CPU ノードごとに 16コア以上
ノードごとのメモリ 32GB以上
ノードごとのシステムディスク ルート / パーティション100GB以上
ノードごとのデータディスク 独立マウント /data、利用可能な空き容量300 GB以上、拡張対応

パーティションの注意事項:

  • ルートパーティションに少なくとも100 GBを確保する。 / パーティション。
  • 以下をルートパーティションに置くことを推奨する。 /root, /var, /tmp 統合管理のため。
  • データディレクトリには独立したデータディスクを使用し、にマウントする。 /data.

4. サーバー自己チェックコマンド

各サーバーで実行:

# ============================================
# 1. View CPU architecture and core information
#    - Architecture type (x86_64/aarch64)
# ============================================
lscpu

# ============================================
# 2. Display memory and swap usage in GiB
# ============================================
free -g

# ============================================
# 3. File System Disk Space Usage
# ============================================
df -h

# ============================================
# 4. Find the executable file path
# ============================================
which iptables gzip tar

# ============================================
# 5. Display system time, time zone, and NTP synchronization status
#    Distributed clusters must have strict time synchronization, otherwise it will affect authentication and log sequencing.
# ============================================
timedatectl status

比較チェックリスト:

点検項目 合格条件
CPU 16コア以上
メモリ 32 GB以上
システムディスク ルート / パーティションの空き容量が100 GB以上
データディスク /data マウント済みで空き容量300 GB以上
基本コマンド iptables, gzip, tar 確認可能
時刻同期 システム時刻の同期が正常

5. ブラウザ要件

ブラウザ バージョン要件
Chrome 86以上
Safari 11以上
Firefox 102以上
Edge 84以上

インストーラーにアクセスするには、新しい Chrome または Edge を優先して使用することを推奨します。 ShimoDocs Suite.

6. ミドルウェアの要件

コンポーネント バージョン要件
Elasticsearch 8.18.x
MongoDB 4.4.x
Redis 6.2.x
MySQL 8.0
Dameng V8 03134284194-20240920-243574-20108
Kafka 2.7 から 3.5
オブジェクトストレージ 互換性あり S3 プロトコル<br>および、そのエンドポイントアドレスがクライアントのブラウザからパブリックネットワーク経由で直接アクセス可能であることを確認してください(なぜなら ShimoDocs アプリケーションの静的リソースの読み込みやドキュメントの読み書き操作は、ブラウザがオブジェクトストレージに直接接続して完了する必要があるためです)。

オブジェクトストレージはHuawei Cloud、 OBSAlibaba Cloud を選択できます。 OSS、Tencent Cloud COS, AWS S3。ローカル展開の場合、 MinIO の使用を検討できます。

インストーラーに組み込まれたミドルウェアを使用する場合は、インストールページのデフォルトオプションを続行します。 既存の外部ミドルウェアを使用する場合は、インストール前にアドレス、ポート、アカウント、 PASSWORD, DATABASE_NAME またはバケット名を準備してください。

7. ポート要件

展開前に、サーバー、セキュリティグループ、ファイアウォール、ロードバランサー、およびネットワークポリシーが以下のポートを許可していることを確認してください。

ポート 対象 目的
18080/TCP インストーラ Web UI インストールページにアクセス
80/TCP または 443/TCP ShimoDocsサービス_DOMAIN ユーザーアクセスエントリ
22/TCP すべての展開ノード SSH ログインおよびインストールタスクの配布
3306/TCP MySQL データベース接続
6379/TCP Redis キャッシュ接続
27017/TCP MongoDB ドキュメントデータベース接続
9092/TCP Kafka メッセージキュー接続
9200/TCP Elasticsearch 検索サービス接続
サービスポート別 S3 / OBS / OSS / COS / MinIO オブジェクトストレージ接続

8. ディスクIO要件

データディスクにはSSDの使用が推奨されます。ディスク性能は以下の基準を満たす必要があります:

項目 要件
混合読み書き IOPS 5000以上
順次読み書きスループット 150 MB/s以上
平均レイテンシ 約5ms以下

インストール後 fio、テストを実施できます /data.

8.1 混合読み書きテスト

fio --name=randrw-test \
  --filename=/data/testfile \
  --size=20G \
  --rw=randrw \
  --rwmixread=70 \
  --bs=4k \
  --ioengine=libaio \
  --direct=1 \
  --iodepth=32 \
  --numjobs=4 \
  --runtime=300 \
  --time_based \
  --group_reporting

結果の IOPS に注意してください; 混合読み書きは5000以上である必要があります。 IOPS 続行可能です。

8.2 順次読みテスト

fio --name=seqread-test \
  --filename=/data/testfile \
  --size=20G \
  --rw=read \
  --bs=1M \
  --ioengine=libaio \
  --direct=1 \
  --iodepth=32 \
  --numjobs=1 \
  --runtime=300 \
  --time_based \
  --group_reporting

8.3 順次書きテスト

fio --name=seqwrite-test \
  --filename=/data/testfile \
  --size=20G \
  --rw=write \
  --bs=1M \
  --ioengine=libaio \
  --direct=1 \
  --iodepth=32 \
  --numjobs=1 \
  --runtime=300 \
  --time_based \
  --group_reporting

順次読み取りおよび順次書き込みスループットが150 MB/s以上であれば続行できます。

テスト後、テストファイルは削除可能です:

rm -f /data/testfile

9. 公衆ネットワーク帯域幅要件

ユーザー数に基づく公共ネットワークアクセスシナリオ向けの帯域幅の推定:

PUBLIC_NETWORK_BANDWIDTH = NUMBER_OF_USERS x 0.25 Mbps

例:

ユーザー数 推奨公共ネットワーク帯域幅
100人のユーザー 25 Mbps以上
200人のユーザー 50 Mbps以上
500人のユーザー 125 Mbps以上

イントラネットアクセスシナリオについても、同じ基準を使用して送信、受信、および負荷分散帯域幅を評価することを推奨します。

10. インストーラーおよび運用プラットフォームブラウザのバージョン推奨

Google Chromeバージョン111以上、できれば最新の安定版を使用することを推奨します。

11. 展開前チェックリスト

インストールを開始する前に、各項目を確認してください:

  • オペレーティングシステムのバージョンが要件を満たしていること。
  • CPUメモリ、システムディスク、およびデータディスクが要件を満たしていること。
  • /data が別のデータディスクにマウントされていること。
  • iptables, gzip、および tar がインストールされていること。
  • システム時刻の同期が正常であること。
  • オンラインまたはオフラインのインストール方法が決定されていること。
  • インストーラーのポート 18080 にアクセス可能であること。
  • ビジネスアクセスのポート 80 または 443 が開いていること。
  • 外部ミドルウェアを使用する場合、接続情報は完全に準備されている。
  • オブジェクトストレージは S3 プロトコルに対応しており、バケットおよびアカウントの権限も準備されている。
  • データディスクのIOテストが要件を満たしている。
  • パブリックまたは内部ネットワークの帯域幅は、想定されるユーザー数に対応している。