Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/githubfoam/beegfs-sandbox

beegfs HPC
https://github.com/githubfoam/beegfs-sandbox

beegfs high-performance-computing hpc object-storage parallel-cluster-filesystem parallel-filesystem pipeline vagrant zfs

Last synced: 13 days ago
JSON representation

beegfs HPC

Awesome Lists containing this project

README

        

# Beegfs Sandbox

Travis (.com) branch:
[![Build Status](https://travis-ci.com/githubfoam/beegfs-sandbox.svg?branch=master)](https://travis-ci.com/githubfoam/beegfs-sandbox)

```
>vagrant up vg-mgmt01

```
smoke tests
```
[vagrant@client01 ~]$ beegfs-ctl --listnodes --nodetype=meta --nicdetails
meta01 [ID: 1]
Ports: UDP: 8005; TCP: 8005
Interfaces:
+ eth1[ip addr: 192.168.44.20; type: TCP]
+ eth0[ip addr: 10.0.2.15; type: TCP]

Number of nodes: 1
Root: 1

[vagrant@client01 ~]$ beegfs-ctl --listnodes --nodetype=storage --nicdetails
storage01 [ID: 1]
Ports: UDP: 8003; TCP: 8003
Interfaces:
+ eth1[ip addr: 192.168.44.30; type: TCP]
+ eth0[ip addr: 10.0.2.15; type: TCP]

Number of nodes: 1

[vagrant@client01 ~]$ beegfs-ctl --listnodes --nodetype=client --nicdetails
4F34-5DE9100E-client01 [ID: 1]
Ports: UDP: 8004; TCP: 0
Interfaces:
+ eth1[ip addr: 192.168.44.40; type: TCP]
+ eth0[ip addr: 10.0.2.15; type: TCP]

Number of nodes: 1

# Displays connections the client is actually using
[vagrant@client01 ~]$ beegfs-net

mgmt_nodes
=============
mgmt01 [ID: 1]
Connections: TCP: 1 (192.168.44.10:8008);

meta_nodes
=============
meta01 [ID: 1]
Connections: TCP: 1 (192.168.44.20:8005);

storage_nodes
=============
storage01 [ID: 1]
Connections: TCP: 1 (192.168.44.30:8003);

# Displays possible connectivity of the services
[vagrant@client01 ~]$ beegfs-check-servers
Management
==========
mgmt01 [ID: 1]: reachable at 192.168.44.10:8008 (protocol: TCP)

Metadata
==========
meta01 [ID: 1]: reachable at 192.168.44.20:8005 (protocol: TCP)

Storage
==========
storage01 [ID: 1]: reachable at 192.168.44.30:8003 (protocol: TCP)

# Displays free space and inodes of storage and metadata targets
[vagrant@client01 ~]$ beegfs-df
METADATA SERVERS:
TargetID Pool Total Free % ITotal IFree %
======== ==== ===== ==== = ====== ===== =
1 normal 41.0GiB 39.6GiB 97% 20.5M 20.4M 100%

STORAGE TARGETS:
TargetID Pool Total Free % ITotal IFree %
======== ==== ===== ==== = ====== ===== =
1 low 41.0GiB 39.6GiB 97% 20.5M 20.5M 100%

```

Benchmarking
```
starts a write benchmark on all targets of all BeeGFS storage servers with an IO blocksize of 512 KB, using 10 threads (i.e. simulated client streams) per target, each of which will write 200 GB of data to its own file
$sudo beegfs-ctl --storagebench --alltargets --write --blocksize=512K --size=200G --threads=10

query the benchmark status/result of all targets
$sudo beegfs-ctl --storagebench --alltargets --status

use the watch command for repeating the query in a given interval in seconds
$watch -n 1 beegfs-ctl --storagebench --alltargets --status

The generated files will not be automatically deleted when a benchmark is complete
$beegfs-ctl --storagebench --alltargets --cleanup

IOR
The value for the number of processes ${NUM_PROCS} depends on the number of clients to test and the number of processes per client. The block size ${BLOCK_SIZE} can be calculated with ((3 * RAM_SIZE_PER_STORAGE_SERVER * NUM_STORAGE_SERVERS) / ${NUM_PROCS}).

Multi-stream Throughput Benchmark
$ mpirun -hostfile /tmp/nodefile --map-by node -np ${NUM_PROCS} /usr/bin/IOR -wr -i5 -t2m -b ${BLOCK_SIZE} -g -F -e
-o /mnt/beegfs/test.ior

Shared File Throughput Benchmark
$ mpirun -hostfile /tmp/nodefile --map-by node -np ${NUM_PROCS} /usr/bin/IOR -wr -i5 -t1200k -b ${BLOCK_SIZE} -g -e
-o /mnt/beegfs/test.ior

IOPS Benchmark
$ mpirun -hostfile /tmp/nodefile --map-by node -np ${NUM_PROCS} /usr/bin/IOR -w -i5 -t4k -b ${BLOCK_SIZE} -F -z -g
-o /mnt/beegfs/test.ior

MDTEST

The value for the number of processes ${NUM_PROCS} depends on the number on clients to test and the number of processes per client to test. The number of directories can be calculated as ${NUM_DIRS} = (parameter -b ^ parameter -z). The total amount of files should always be higher than 1 000 000, so ${FILES_PER_DIR} is calculated as ${FILES_PER_DIR} = (1000000 / ${NUM_DIRS} / ${NUM_PROCS}).

File Create/Stat/Remove Benchmark
$ mpirun -hostfile /tmp/nodefile --map-by node -np ${NUM_PROCS} mdtest -C -T -r -F -d /mnt/beegfs/mdtest -i 3 -I ${FILES_PER_DIR} -z 2 -b 8 -L -u
https://www.beegfs.io/wiki/Benchmark#externaltools

BeeGFS®Benchmarks on IBM OpenPOWERServers

HowTo Configure and Test BeeGFS with RDMA

```
```
Beegfs Sandbox Testing .Cross-platform via vagrant Linux, Windows, Mac.

BeeGFS (formerly FhGFS) is the leading parallel cluster file system.
Latest Stable Version: 7.1.2
https://www.beegfs.io

Centos 7.7
https://www.centos.org/download/

Download Vagrant.
>vagrant version
Installed Version: 2.2.6
Latest Version: 2.2.6
https://www.vagrantup.com/downloads.html

Ansible Local Provisioner
https://www.vagrantup.com/docs/provisioning/ansible_local.html

Ansible
ansible --version ansible 2.9.1
https://www.ansible.com/

Download Oracle VM VirtualBox
>VBoxManage -version
6.0.14r133895
https://www.virtualbox.org/wiki/Downloads
```