「BeeGFS」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (一部飜訳) |
Kusanaginoturugi (トーク | 投稿記録) (→用語: 飜訳) |
||
22行目: | 22行目: | ||
{| class="wikitable" |
{| class="wikitable" |
||
+ | !ノードタイプと説明 |
||
− | !Node Type and Description |
||
+ | !パッケージ |
||
− | !Packages |
||
|- |
|- |
||
− | |''' |
+ | |'''管理サーバー (1ノード)''' |
+ | * 設定とグループメンバーシップを管理 |
||
− | * Manages configuration and group membership |
||
+ | * サービス開始時に他のノードによってホスト名または IP アドレスが知られている必要がある |
||
− | * Hostname or IP address must be known by other nodes at service start time |
||
| {{AUR|beegfs-mgmtd}} |
| {{AUR|beegfs-mgmtd}} |
||
|- |
|- |
||
+ | |'''メタデータサーバー (少なくとも1ノード)''' |
||
− | |'''Metadata Server (at least one node)''' |
||
+ | * ディレクトリ情報を保存し、ストレージサーバー上のファイルスペースを割り当てる |
||
− | * Stores directory information and allocates file space on storage servers |
||
|{{AUR|beegfs-meta}} |
|{{AUR|beegfs-meta}} |
||
|- |
|- |
||
+ | |'''ストレージサーバー (少なくとも1ノード)''' |
||
− | |'''Storage Server (at least one node)''' |
||
+ | * 生ファイルの内容を保存 |
||
− | * Stores raw file contents |
||
| {{AUR|beegfs-storage}} |
| {{AUR|beegfs-storage}} |
||
|- |
|- |
||
− | |'''InfluxDB / Grafana |
+ | |'''InfluxDB / Grafana ベースのモニタリングサーバー (オプション)''' |
+ | * サーバーの継続的な監視 |
||
− | * Continuous monitoring of servers |
||
+ | * ライブ統計 |
||
− | * Live statistics |
||
+ | * beegfs-admon (Java ベースの管理および監視 GUI) は、同じサーバーにインストールしてはならない |
||
− | * beegfs-admon (Java based administration and monitoring GUI), must not be installed on the same server |
||
| {{AUR|beegfs-mon}} |
| {{AUR|beegfs-mon}} |
||
|- |
|- |
||
− | |'''BeeGFS |
+ | |'''管理者用 BeeGFS ユーティリティ''' |
− | * {{ic|beegfs-ctl}} |
+ | * {{ic|beegfs-ctl}} コマンドライン管理ツール |
− | * {{ic|beegfs-fsck}} |
+ | * {{ic|beegfs-fsck}} ファイルシステムチェックツール |
+ | * ロギングおよび [[DNS]] ルックアップ機能などのいくつかの小さなヘルパースクリプト |
||
− | * Several small helper scripts such logging and [[DNS]] lookup functionality |
||
| {{AUR|beegfs-utils}} |
| {{AUR|beegfs-utils}} |
||
|- |
|- |
||
|'''BeeGFS Common''' |
|'''BeeGFS Common''' |
||
+ | * すべてのパッケージに共通のファイル |
||
− | * Common files for all packages |
||
− | * |
+ | * {{ic|libbeegfs-ib}} を通じて、[https://www.openfabrics.org/ OpenFabrics IBVerbs API] に基づく {{Pkg|rdma-core}} のリモートダイレクトメモリアクセスサポートを有効にする。 |
|{{AUR|beegfs-common}} |
|{{AUR|beegfs-common}} |
||
|- |
|- |
||
− | |''' |
+ | |'''クライアント''' |
+ | * ファイルシステムをマウントするカーネルモジュール |
||
− | * Kernel module to mount the file system |
||
+ | * ロギングと [[ホストネーム]]解決のためのユーザースペースヘルパーデーモンが必要 |
||
− | * Requires userspace helper daemon for logging and [[hostname]] resolution |
||
| {{AUR|beegfs-client}} |
| {{AUR|beegfs-client}} |
||
|} |
|} |
||
+ | ここで説明されている無料でオープンソースなパッケージに加えて、BeeGFS は、[https://www.beegfs.io/content/support/ エンタープライズ向け機能とプロフェッショナルサポート] も提供しており、以下が含まれます。 |
||
− | In addition to the free and open-source packages described here, BeeGFS also offers a number of [https://www.beegfs.io/content/support/ Enterprise Features and Professional Support], which include: |
||
− | * High Availability |
||
− | * Quota Enforcement |
||
− | * Access Control Lists (ACLs) |
||
− | * Storage Pools |
||
− | * Burst buffer function with BeeOND |
||
+ | * 高可用性 |
||
− | {{Warning|Whilst the BeeGFS server components are userspace daemons, the client is a native kernel module. The [https://www.beegfs.io/release/beegfs_7_1/Changelog.txt latest version of BeeGFS v7.1.3 has support for Kernels up to 4.19.x]. Hence there are a number of adhoc patches to the client source build files included in the {{AUR|beegfs-client}} [[PKGBUILD]]. This in turn may lead to instability with the client kernel module.}} |
||
+ | * クォータの適用 |
||
+ | * アクセス制御リスト (ACL) |
||
+ | * ストレージプール |
||
+ | * BeeOND によるバーストバッファ機能 |
||
+ | |||
+ | {{Warning|BeeGFS のサーバーコンポーネントはユーザースペースデーモンですが、クライアントはネイティブカーネルモジュールです。[https://www.beegfs.io/release/beegfs_7_1/Changelog.txt BeeGFS v7.1.3 の最新バージョンは、カーネル 4.19.x までのサポートがあります]。 そのため、{{AUR|beegfs-client}} [[PKGBUILD]] には、クライアントソースビルドファイルに対する多数のアドホックパッチが含まれています。 これにより、クライアントのカーネルモジュールの不安定性が生じる可能性があります。}} |
||
== Installation == |
== Installation == |
2023年4月18日 (火) 13:59時点における最新版
BeeGFS は、分散型、耐障害性、高度に設定可能で、良好なパフォーマンスと高い信頼性を持つことに焦点を当てたスケーラブルなネットワーク・ストレージプラットフォームです。BeeGFS は非常に設定可能であり、管理者はシステムのほぼすべての側面を制御できます。コマンドラインインターフェイスがクラスタの監視と制御に使用されます。
Wikipedia より:
- BeeGFS(以前は FhGFS)は、高性能コンピューティングのために開発および最適化された並列ファイルシステムです。BeeGFS には、スケーラビリティと柔軟性のための分散メタデータアーキテクチャが含まれています。最も重要な側面はデータスループットです。BeeGFS は、Sven Breuner を中心としたチームによって、元々ドイツの Fraunhofer Center for High Performance Computing で開発されました。その後、彼は 2014 年に設立された BeeGFS を維持し、プロフェッショナルサービスを提供するスピンオフ企業である ThinkParQ の CEO になりました。
BeeGFS.io より:
- BeeGFS は、パフォーマンスに強い焦点を当てて開発され、非常に簡単なインストールと管理を目指して設計された、業界をリードする並列クラスタファイルシステムです。I/O に集中したワークロードが問題である場合、BeeGFS が解決策です。
用語
ノードタイプと説明 | パッケージ |
---|---|
管理サーバー (1ノード)
|
beegfs-mgmtdAUR |
メタデータサーバー (少なくとも1ノード)
|
beegfs-metaAUR |
ストレージサーバー (少なくとも1ノード)
|
beegfs-storageAUR |
InfluxDB / Grafana ベースのモニタリングサーバー (オプション)
|
beegfs-monAUR |
管理者用 BeeGFS ユーティリティ
|
beegfs-utilsAUR |
BeeGFS Common
|
beegfs-commonAUR |
クライアント
|
beegfs-clientAUR |
ここで説明されている無料でオープンソースなパッケージに加えて、BeeGFS は、エンタープライズ向け機能とプロフェッショナルサポート も提供しており、以下が含まれます。
- 高可用性
- クォータの適用
- アクセス制御リスト (ACL)
- ストレージプール
- BeeOND によるバーストバッファ機能
Installation
Example cluster deployment
The following hardware configuration will be used in this example:
Hostname | IP Address | Description |
---|---|---|
node01 | 192.168.0.1
|
Management Server and Monitoring (optional) Server |
node02 | 192.168.0.2
|
Metadata Server |
node03 | 192.168.0.3
|
Storage Server |
node04 | 192.168.0.4
|
Client |
NTP client
Install and run a time synchronization client on all the nodes. See Time synchronization for details.
Management server
Install it with the package beegfs-mgmtdAUR on the management node 192.168.0.1
.
The management service needs to know where it can store its data. It will only store some node information like connectivity data, so it will not require much storage space and its data access is not performance critical. Thus, this service is typically not running on a dedicated machine.
/etc/beegfs/beegfs-mgmtd
storeMgmtdDirectory = /mnt/beegfs/beegfs-mgmtd
Start/enable the beegfs-mgmtd@node01.service
on the management node.
Monitoring server
Install the package beegfs-monAUR on the management/monitoring node 192.168.0.1
, which collects statistics from the system and provides them to the user using a time series database InfluxDB. For visualization of the data beegfs-mon
provides predefined Grafana panels that can be used out of the box.
Before running beegfs-mon
, you need to edit the configuration file /etc/beegfs/beegfs-mon.conf
. If you have everything installed on the same host, you only need to specify the management host:
/etc/beegfs/beegfs-mon.conf
sysMgmtHost = localhost
Start/enable the beegfs-mon@node01.service
on the management/monitoring node.
Configuration of default Grafana panels
You can use the provided installation script for default InfluxDB and Grafana deployments on the same host.
# cd /etc/beegfs/grafana # ./import-dashboards default
Accessing Grafana panels
Access the application on localhost, e.g.: http://127.0.0.1:3000 . Refer to Custom Grafana Panel Configuration for non-default installations and for the Reference to All Metrics monitored.
Metadata server
Install the package beegfs-metaAUR on the metadata server(s), i.e. 192.168.0.2
.
The metadata service needs to know where it can store its data and where the management service is running. Typically, one will have multiple metadata services running on different machines.
/etc/beegfs/beegfs-meta.conf
sysMgmtdHost = node01 storeMetaDirectory = /mnt/beegfs/beegfs-meta
Start/enable the beegfs-meta@node02.service
on the metadata node.
Storage server
Install the package beegfs-storageAUR on the storage server(s), i.e. 192.168.0.3
.
The storage service needs to know where it can store its data and how to reach the management server. Typically, one will have multiple storage services running on different machines and/or multiple storage targets (e.g. multiple RAID volumes) per storage service.
/etc/beegfs/beegfs-storage.conf
sysMgmtdHost = node01 storeStorageDirectory = /mnt/beegfs/beegfs-storage
Start/enable the beegfs-storage@node03.service
on the storage node.
Client
Install the package beegfs-clientAUR on the client node, which will build the client Kernel module.
The client service needs to know where it can reach the management server.
/etc/beegfs/beegfs-client.conf
sysMgmtdHost = node01
The client service needs to know where it can mount the cluster storage, as well as the location of the client configuration file.
/etc/beegfs/beegfs-mount.conf
/mnt/beegfs/beegfs-mount /etc/beegfs/beegfs-client.conf
Load the Kernel module and its dependencies.
# modprobe beegfs
Start/enable the beegfs-helperd@node04.service
on the client node.
Start/enable the beegfs-client.service
on the client node.
Utilities
Install the package beegfs-utilsAUR.
Check connectivity
Check the detected network interfaces and transport protocols from a client node with the following commands:
# beegfs-ctl --listnodes --nodetype=mgmt --nicdetails node01 [ID: 1] Ports: UDP: 8008; TCP: 8008 Interfaces: + enp0s31f6[ip addr: 192.168.0.1; type: TCP]
# beegfs-ctl --listnodes --nodetype=meta --nicdetails node02 [ID: 2] Ports: UDP: 8005; TCP: 8005 Interfaces: + eno1[ip addr: 192.168.0.2; type: TCP]
# beegfs-ctl --listnodes --nodetype=storage --nicdetails node03 [ID: 3] Ports: UDP: 8003; TCP: 8003 Interfaces: + eno1[ip addr: 192.168.0.3; type: TCP]
# beegfs-ctl --listnodes --nodetype=client --nicdetails 4E451-5DAEDCBF-node04 [ID: 4] Ports: UDP: 8004; TCP: 0 Interfaces: + wlo1[ip addr: 192.168.0.4; type: TCP]
Server tuning and advanced features
InfiniBand Support
- Explicitly Install beegfs-commonAUR, which will provide
libbeegfs-ib.so
shared object libraries. - Enable support for RDMA-capable network hardware.
- Rebuild the client kernel module.
ACLs
Storage Pools
Quota Enforcement
High Availability
See also
- Official site
- Official source code