forked from TrueCloudLab/frostfs-aio
Update README.md
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
This commit is contained in:
parent
9eaba45703
commit
0d9dd9816e
1 changed files with 45 additions and 28 deletions
73
README.md
73
README.md
|
@ -1,44 +1,65 @@
|
||||||
# FrostFS All-in-One
|
# FrostFS All-in-One
|
||||||
|
|
||||||
Single node deployment helper provides instructions on how to deploy FrostFS
|
This repository contains Dockerfile for FrostFS All-in-One image and helper
|
||||||
components in the on-premise setup on one physical or virtual server. There will
|
scripts to start container. All-in-One image contains binaries and config
|
||||||
be just one instance of a service of each type, hence it is suitable for
|
files for:
|
||||||
development purposes only and not recommended for production use.
|
- neo-go
|
||||||
|
- frostfs-ir
|
||||||
|
- frostfs-storage
|
||||||
|
- frostfs-cli
|
||||||
|
- frostfs-adm
|
||||||
|
- frostfs-s3-gw
|
||||||
|
- frostfs-s3-authmate
|
||||||
|
- frostfs-http-gw
|
||||||
|
|
||||||
|
Entrypoint script starts blockchain, inner ring, storage, s3, and http gateway
|
||||||
|
services and configures it in the initial start.
|
||||||
|
|
||||||
|
| Service | Port |
|
||||||
|
|-----------------------------|-------|
|
||||||
|
| neo-go RPC | 30333 |
|
||||||
|
| FrostFS Storage gRPC API | 8080 |
|
||||||
|
| FrostFS Storage Control API | 16513 |
|
||||||
|
| FrostFS HTTP Gateway | 8081 |
|
||||||
|
| FrostFS S3 Gateway | 8084 |
|
||||||
|
|
||||||
|
|
||||||
# Server requirements
|
# Prerequisites
|
||||||
|
|
||||||
- Docker with docker-compose
|
- docker v20.10 or higher
|
||||||
- `jq`
|
- docker-compose v2.10 or higher
|
||||||
- `curl`
|
- make v3.82 or higher
|
||||||
|
|
||||||
|
> Makefile script runs docker-compose with `--wait` flag, which is introduced in
|
||||||
|
> docker-compose v2. You can use older version of docker-compose by executing it
|
||||||
|
> manually.
|
||||||
|
|
||||||
# Quick Start
|
# Quick Start
|
||||||
|
|
||||||
Run container:
|
Clone repository and start container with docker-compose.
|
||||||
|
|
||||||
``` sh
|
``` sh
|
||||||
$ git clone ssh://git@b.yadro.com:7999/obj/frostfs-aio.git /opt/frostfs
|
$ git clone https://git.frostfs.info/TrueCloudLab/frostfs-aio.git
|
||||||
$ cd /opt/frostfs
|
$ cd frostfs-aio
|
||||||
$ make up
|
$ make up tick.epoch
|
||||||
```
|
```
|
||||||
|
|
||||||
Initial start takes about 40 seconds. Its readiness is based on healthcheck done by `docker-compose`.
|
Initial start initializes the storage configuration. Its readiness is based
|
||||||
|
on a healthcheck done by `docker-compose`.
|
||||||
|
|
||||||
The container can be stopped when needed:
|
Container can be stopped with:
|
||||||
|
|
||||||
``` sh
|
``` sh
|
||||||
$ make down
|
$ make down
|
||||||
```
|
```
|
||||||
|
|
||||||
The stored data and the blockchain configuration remain until the container's volume is deleted.
|
Data and the system configuration is stored in container's volume.
|
||||||
So the next time we start the container with `make up` it will take about 10 seconds to initialize.
|
Next time container is started, it will take less time to initialize.
|
||||||
|
|
||||||
A storage node container uses persistent storage, so, if you've updated `aio` version
|
Before updating image version, reset `frostfs-aio` by clearing its local volume
|
||||||
or just want to reset the `frostfs-aio`, it's recommended to clear its local volume
|
before starting container.
|
||||||
before starting the container:
|
|
||||||
|
|
||||||
``` sh
|
```
|
||||||
$ make clean
|
$ make clean
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -60,21 +81,17 @@ Node 1: 022bb4041c50d607ff871dec7e4cd7778388e0ea6849d84ccbd9aa8f32e16a8131 ONLIN
|
||||||
```
|
```
|
||||||
|
|
||||||
If you don't see the output like this, you can wait for the new Epoch to come
|
If you don't see the output like this, you can wait for the new Epoch to come
|
||||||
(about 1 hour), or force the starting of new epoch.
|
or force the starting of new epoch.
|
||||||
If the commands fails, make sure you have jq installed.
|
|
||||||
|
|
||||||
``` sh
|
``` sh
|
||||||
$ make tick.epoch
|
$ make tick.epoch
|
||||||
Updating FrostFS epoch to 2
|
Current epoch: 1, increase to 2.
|
||||||
752aa525dfb36b6447f45b41fd3906db9f6a9cdecd2cf36ce6816b1b6ef453192
|
Waiting for transactions to persist...
|
||||||
```
|
```
|
||||||
|
|
||||||
Now everything is ready to serve your requests.
|
|
||||||
|
|
||||||
|
|
||||||
# Build images
|
# Build images
|
||||||
|
|
||||||
Also, you can build the aio image itself:
|
Build frostfs-aio image locally with this command.
|
||||||
|
|
||||||
``` sh
|
``` sh
|
||||||
$ make image-aio
|
$ make image-aio
|
||||||
|
|
Loading…
Reference in a new issue