snapshot of https://github.com/seaweedfs/seaweedfs.git (master, 2026-09-16; blobs > 131072B omitted)
Some checks failed
go: build dev binaries / cleanup (push) Successful in 4s
Codespell / Check for spelling errors (push) Failing after 3s
docker: build dev containers / build-rust-binaries (amd64, x86_64-unknown-linux-musl) (push) Failing after 3s
docker: build dev containers / build-dev-containers (push) Has been skipped
docker: build dev containers / build-rust-binaries (arm64, true, aarch64-unknown-linux-musl) (push) Failing after 3s
End to End / FUSE Mount (push) Failing after 2s
EC Integration Tests / EC Integration Tests (push) Failing after 30s
FUSE DLM Integration Tests / FUSE DLM Integration Tests (push) Failing after 3s
FUSE Volume Server Failover Tests / FUSE Volume Server Failover (push) Failing after 3s
FUSE Integration Tests / FUSE Integration Testing (push) Failing after 2s
FUSE P2P Peer Chunk Sharing Integration Tests / FUSE P2P Peer Chunk Sharing (push) Failing after 3s
go: build binary / Go Vet (push) Failing after 2s
go: build binary / Go Vet 32-bit (push) Failing after 3s
go: build binary / Build (push) Failing after 4s
go: build binary / Build cross-platform (freebsd/amd64) (push) Failing after 3s
go: build binary / Build cross-platform (windows/amd64) (push) Failing after 3s
go: build binary / Build cross-platform (darwin/arm64) (push) Failing after 3s
go: build binary / Build cross-platform (windows/arm64) (push) Failing after 3s
go: build binary / Test (push) Failing after 2s
go: build binary / Test 32-bit (push) Failing after 3s
helm: lint and test charts / lint-test (push) Failing after 3s
Java Client Integration Tests / Java Integration Tests (11) (push) Failing after 3s
Java Client Integration Tests / Java Integration Tests (17) (push) Failing after 3s
go: build dev binaries / build_dev_linux_windows (amd64, linux) (push) Failing after 2s
go: build dev binaries / build_dev_linux_windows (amd64, windows) (push) Failing after 3s
go: build dev binaries / build_dev_darwin (amd64, darwin) (push) Has been skipped
go: build dev binaries / build_dev_darwin (arm64, darwin) (push) Has been skipped
Java Client Unit Tests / Java Unit Tests (11) (push) Failing after 3s
Java Client Unit Tests / Java Unit Tests (17) (push) Failing after 2s
Java Client Unit Tests / Java Unit Tests (21) (push) Failing after 3s
Java Client Unit Tests / Java Unit Tests (8) (push) Failing after 3s
Kafka Quick Test (Load Test with Schema Registry) / Kafka Client Load Test (Quick) (push) Failing after 3s
Kafka Gateway Tests / Kafka Unit Tests (unit-tests-1) (push) Failing after 11s
Kafka Gateway Tests / Kafka Integration Tests (Critical) (integration-1) (push) Failing after 3s
Kafka Gateway Tests / Kafka End-to-End Tests (with SMQ) (e2e-1) (push) Failing after 3s
Kafka Gateway Tests / Kafka Consumer Group Tests (Highly Isolated) (consumer-group-1) (push) Failing after 2s
Kafka Gateway Tests / Kafka Client Compatibility (with SMQ) (client-compat-1) (push) Failing after 3s
Kafka Gateway Tests / Kafka SMQ Integration Tests (Full Stack) (smq-integration-1) (push) Failing after 3s
Kafka Gateway Tests / Kafka Protocol Tests (Isolated) (protocol-1) (push) Failing after 3s
KMS Tests / KMS Provider Integration Tests (push) Failing after 2s
KMS Tests / S3 KMS End-to-End Tests (push) Failing after 3s
Master Cold Start Tests / Master Cold Start Tests (push) Failing after 4s
Metadata Subscribe Integration Tests / Metadata Subscribe Integration Tests (push) Failing after 3s
Multi-Master Tests / Multi-Master Failover Tests (push) Failing after 3s
Performance / CPU and Heap Profile (push) Failing after 2s
Performance / S3 Read/Write Benchmark (rust volume) (push) Failing after 3s
pjdfstest POSIX Compliance / pjdfstest (push) Failing after 2s
Plugin Worker Integration Tests / Plugin Worker: erasure_coding (push) Failing after 3s
Plugin Worker Integration Tests / Plugin Worker: vacuum (push) Failing after 3s
Rust Volume Server Tests / Rust Integration Tests (push) Failing after 3s
Rust Volume Server Tests / Go Tests with Rust Volume (grpc - Shard 1) (push) Failing after 2s
Rust Volume Server Tests / Go Tests with Rust Volume (http - Shard 1) (push) Failing after 3s
Rust Volume Server Tests / Go Tests with Rust Volume (grpc - Shard 2) (push) Failing after 3s
Rust Volume Server Tests / Go Tests with Rust Volume (http - Shard 2) (push) Failing after 3s
Rust Volume Server Tests / Go Tests with Rust Volume (grpc - Shard 3) (push) Failing after 3s
S3 IAM Integration Tests / S3 IAM Distributed Tests (push) Failing after 2s
S3 IAM Integration Tests / S3 IAM Performance Tests (push) Failing after 3s
Performance / Throughput Benchmark (go volume) (push) Failing after 3s
Performance / Throughput Benchmark (rust volume) (push) Failing after 2s
Performance / S3 Read/Write Benchmark (go volume) (push) Failing after 3s
Plugin Worker Integration Tests / Plugin Worker: volume_balance (push) Failing after 3s
PostgreSQL Gateway Tests / PostgreSQL Basic Tests (push) Failing after 3s
Rust Volume Server Tests / Rust Unit Tests (push) Failing after 2s
Rust Volume Server Tests / Go Tests with Rust Volume (http - Shard 3) (push) Failing after 3s
Rust Plugin Worker Tests / Rust Plugin Worker Build and Unit Tests (push) Failing after 3s
rust: build dev volume server binaries / cleanup (push) Successful in 3s
S3 ETag and ACL Tests / S3 ETag + ACL Integration Tests (push) Failing after 3s
S3 IAM Integration Tests / IAM Unit Tests (push) Failing after 3s
S3 IAM Integration Tests / S3 IAM Integration Tests (advanced) (push) Failing after 3s
S3 IAM Integration Tests / S3 IAM Integration Tests (basic) (push) Failing after 2s
S3 IAM Integration Tests / S3 IAM Integration Tests (group) (push) Failing after 3s
S3 IAM Integration Tests / S3 IAM Integration Tests (policy-enforcement) (push) Failing after 2s
S3 IAM Integration Tests / S3 IAM Integration Tests (sts) (push) Failing after 4s
S3 Keycloak Integration Tests / S3 Keycloak Integration Tests (push) Failing after 3s
S3 PyArrow Parquet Tests / PyArrow Parquet Tests (Python 3.11) (push) Failing after 3s
S3 PyArrow Parquet Tests / Go Unit Tests (Implicit Directory) (push) Has been cancelled
S3 PyArrow Parquet Tests / PyArrow Parquet Tests (Python 3.12) (push) Has been cancelled
rust: build dev volume server binaries / build-rust-volume-dev-darwin (darwin-amd64, x86_64-apple-darwin) (push) Has been cancelled
rust: build dev volume server binaries / build-rust-volume-dev-darwin (darwin-arm64, aarch64-apple-darwin) (push) Has been cancelled
rust: build dev volume server binaries / build-rust-volume-dev-linux (linux-amd64, x86_64-unknown-linux-gnu) (push) Has been cancelled
S3 PyArrow Parquet Tests / PyArrow Parquet Tests (Python 3.9) (push) Has been cancelled
S3 Proxy Signature Tests / S3 Proxy Signature Verification Tests (push) Has been cancelled
S3 SDK V2 Route Disambiguation Tests / S3 SDK V2 Routing Tests (push) Has been cancelled
S3 SSE Tests / S3 SSE Integration Tests (quick) (push) Has been cancelled
S3 SSE Tests / S3 SSE Compatibility Test (push) Has been cancelled
S3 SSE Tests / S3 SSE Metadata Persistence Test (push) Has been cancelled
S3 SSE Tests / S3 SSE Copy Operations Test (push) Has been cancelled
S3 SSE Tests / S3 SSE Multipart Upload Test (push) Has been cancelled
S3 SSE Tests / S3 SSE Performance Test (push) Has been cancelled
S3 SSE Tests / S3 Volume Encryption Test (push) Has been cancelled
S3 SSE Tests / S3 SSE Integration Tests (comprehensive) (push) Has been cancelled
Spark Integration Tests / Spark Integration Tests (push) Failing after 2s
Telemetry Integration Tests / telemetry-integration-test (push) Failing after 3s
Volume Server Integration Tests / Volume Server Integration Tests (grpc - Shard 1) (push) Failing after 3s
Volume Server Integration Tests / Volume Server Integration Tests (http - Shard 1) (push) Failing after 3s
Ceph S3 tests / Basic S3 tests (KV store) (push) Has been cancelled
Ceph S3 tests / S3 Versioning & Object Lock tests (push) Has been cancelled
S3 Policy Integration Tests / S3 Policy Unit Tests (push) Failing after 3s
Ceph S3 tests / S3 CORS tests (push) Has been cancelled
Ceph S3 tests / SeaweedFS Custom S3 Copy tests (push) Has been cancelled
Ceph S3 tests / Basic S3 tests (SQL store) (push) Has been cancelled
test s3 over https using aws-cli / awscli-tests (push) Has been cancelled
TLS Rotation Integration Tests / TLS Rotation Integration Tests (push) Has been cancelled
Vacuum Integration Tests / Vacuum Integration Tests (push) Has been cancelled
S3 Policy Integration Tests / S3 Policy Variables Integration Tests (push) Failing after 3s
S3 Policy Integration Tests / S3 Policy Enforcement Integration Tests (advanced-policy) (push) Failing after 3s
S3 Policy Integration Tests / S3 Policy Enforcement Integration Tests (basic-policy) (push) Failing after 2s
S3 Policy Integration Tests / S3 Policy Enforcement Integration Tests (contextual-policy) (push) Failing after 4s
S3 Policy Integration Tests / Trusted Proxy Detection Tests (push) Failing after 2s
S3 Policy Integration Tests / S3 Policy Shell Integration Tests (push) Failing after 3s
Samba on FUSE Integration / samba-integration (push) Failing after 2s
SFTP Integration Tests / SFTP Integration Testing (push) Failing after 3s
terraform: validate and test modules / fmt, validate, plan-level tests (push) Failing after 3s
terraform: validate and test modules / local cluster smoke test (real weed) (push) Failing after 2s
Volume Server Integration Tests / Volume Server Integration Tests (grpc - Shard 3) (push) Failing after 3s
Volume Server Integration Tests / Volume Server Integration Tests (grpc - Shard 2) (push) Failing after 3s
Volume Server Integration Tests / Volume Server Integration Tests (http - Shard 2) (push) Failing after 2s
Volume Server Integration Tests / Volume Server Integration Tests (http - Shard 3) (push) Failing after 5s
mount: windows conformance / WinFsp conformance (push) Has been cancelled
mount: windows / Mount on Windows (push) Has been cancelled
Some checks failed
go: build dev binaries / cleanup (push) Successful in 4s
Codespell / Check for spelling errors (push) Failing after 3s
docker: build dev containers / build-rust-binaries (amd64, x86_64-unknown-linux-musl) (push) Failing after 3s
docker: build dev containers / build-dev-containers (push) Has been skipped
docker: build dev containers / build-rust-binaries (arm64, true, aarch64-unknown-linux-musl) (push) Failing after 3s
End to End / FUSE Mount (push) Failing after 2s
EC Integration Tests / EC Integration Tests (push) Failing after 30s
FUSE DLM Integration Tests / FUSE DLM Integration Tests (push) Failing after 3s
FUSE Volume Server Failover Tests / FUSE Volume Server Failover (push) Failing after 3s
FUSE Integration Tests / FUSE Integration Testing (push) Failing after 2s
FUSE P2P Peer Chunk Sharing Integration Tests / FUSE P2P Peer Chunk Sharing (push) Failing after 3s
go: build binary / Go Vet (push) Failing after 2s
go: build binary / Go Vet 32-bit (push) Failing after 3s
go: build binary / Build (push) Failing after 4s
go: build binary / Build cross-platform (freebsd/amd64) (push) Failing after 3s
go: build binary / Build cross-platform (windows/amd64) (push) Failing after 3s
go: build binary / Build cross-platform (darwin/arm64) (push) Failing after 3s
go: build binary / Build cross-platform (windows/arm64) (push) Failing after 3s
go: build binary / Test (push) Failing after 2s
go: build binary / Test 32-bit (push) Failing after 3s
helm: lint and test charts / lint-test (push) Failing after 3s
Java Client Integration Tests / Java Integration Tests (11) (push) Failing after 3s
Java Client Integration Tests / Java Integration Tests (17) (push) Failing after 3s
go: build dev binaries / build_dev_linux_windows (amd64, linux) (push) Failing after 2s
go: build dev binaries / build_dev_linux_windows (amd64, windows) (push) Failing after 3s
go: build dev binaries / build_dev_darwin (amd64, darwin) (push) Has been skipped
go: build dev binaries / build_dev_darwin (arm64, darwin) (push) Has been skipped
Java Client Unit Tests / Java Unit Tests (11) (push) Failing after 3s
Java Client Unit Tests / Java Unit Tests (17) (push) Failing after 2s
Java Client Unit Tests / Java Unit Tests (21) (push) Failing after 3s
Java Client Unit Tests / Java Unit Tests (8) (push) Failing after 3s
Kafka Quick Test (Load Test with Schema Registry) / Kafka Client Load Test (Quick) (push) Failing after 3s
Kafka Gateway Tests / Kafka Unit Tests (unit-tests-1) (push) Failing after 11s
Kafka Gateway Tests / Kafka Integration Tests (Critical) (integration-1) (push) Failing after 3s
Kafka Gateway Tests / Kafka End-to-End Tests (with SMQ) (e2e-1) (push) Failing after 3s
Kafka Gateway Tests / Kafka Consumer Group Tests (Highly Isolated) (consumer-group-1) (push) Failing after 2s
Kafka Gateway Tests / Kafka Client Compatibility (with SMQ) (client-compat-1) (push) Failing after 3s
Kafka Gateway Tests / Kafka SMQ Integration Tests (Full Stack) (smq-integration-1) (push) Failing after 3s
Kafka Gateway Tests / Kafka Protocol Tests (Isolated) (protocol-1) (push) Failing after 3s
KMS Tests / KMS Provider Integration Tests (push) Failing after 2s
KMS Tests / S3 KMS End-to-End Tests (push) Failing after 3s
Master Cold Start Tests / Master Cold Start Tests (push) Failing after 4s
Metadata Subscribe Integration Tests / Metadata Subscribe Integration Tests (push) Failing after 3s
Multi-Master Tests / Multi-Master Failover Tests (push) Failing after 3s
Performance / CPU and Heap Profile (push) Failing after 2s
Performance / S3 Read/Write Benchmark (rust volume) (push) Failing after 3s
pjdfstest POSIX Compliance / pjdfstest (push) Failing after 2s
Plugin Worker Integration Tests / Plugin Worker: erasure_coding (push) Failing after 3s
Plugin Worker Integration Tests / Plugin Worker: vacuum (push) Failing after 3s
Rust Volume Server Tests / Rust Integration Tests (push) Failing after 3s
Rust Volume Server Tests / Go Tests with Rust Volume (grpc - Shard 1) (push) Failing after 2s
Rust Volume Server Tests / Go Tests with Rust Volume (http - Shard 1) (push) Failing after 3s
Rust Volume Server Tests / Go Tests with Rust Volume (grpc - Shard 2) (push) Failing after 3s
Rust Volume Server Tests / Go Tests with Rust Volume (http - Shard 2) (push) Failing after 3s
Rust Volume Server Tests / Go Tests with Rust Volume (grpc - Shard 3) (push) Failing after 3s
S3 IAM Integration Tests / S3 IAM Distributed Tests (push) Failing after 2s
S3 IAM Integration Tests / S3 IAM Performance Tests (push) Failing after 3s
Performance / Throughput Benchmark (go volume) (push) Failing after 3s
Performance / Throughput Benchmark (rust volume) (push) Failing after 2s
Performance / S3 Read/Write Benchmark (go volume) (push) Failing after 3s
Plugin Worker Integration Tests / Plugin Worker: volume_balance (push) Failing after 3s
PostgreSQL Gateway Tests / PostgreSQL Basic Tests (push) Failing after 3s
Rust Volume Server Tests / Rust Unit Tests (push) Failing after 2s
Rust Volume Server Tests / Go Tests with Rust Volume (http - Shard 3) (push) Failing after 3s
Rust Plugin Worker Tests / Rust Plugin Worker Build and Unit Tests (push) Failing after 3s
rust: build dev volume server binaries / cleanup (push) Successful in 3s
S3 ETag and ACL Tests / S3 ETag + ACL Integration Tests (push) Failing after 3s
S3 IAM Integration Tests / IAM Unit Tests (push) Failing after 3s
S3 IAM Integration Tests / S3 IAM Integration Tests (advanced) (push) Failing after 3s
S3 IAM Integration Tests / S3 IAM Integration Tests (basic) (push) Failing after 2s
S3 IAM Integration Tests / S3 IAM Integration Tests (group) (push) Failing after 3s
S3 IAM Integration Tests / S3 IAM Integration Tests (policy-enforcement) (push) Failing after 2s
S3 IAM Integration Tests / S3 IAM Integration Tests (sts) (push) Failing after 4s
S3 Keycloak Integration Tests / S3 Keycloak Integration Tests (push) Failing after 3s
S3 PyArrow Parquet Tests / PyArrow Parquet Tests (Python 3.11) (push) Failing after 3s
S3 PyArrow Parquet Tests / Go Unit Tests (Implicit Directory) (push) Has been cancelled
S3 PyArrow Parquet Tests / PyArrow Parquet Tests (Python 3.12) (push) Has been cancelled
rust: build dev volume server binaries / build-rust-volume-dev-darwin (darwin-amd64, x86_64-apple-darwin) (push) Has been cancelled
rust: build dev volume server binaries / build-rust-volume-dev-darwin (darwin-arm64, aarch64-apple-darwin) (push) Has been cancelled
rust: build dev volume server binaries / build-rust-volume-dev-linux (linux-amd64, x86_64-unknown-linux-gnu) (push) Has been cancelled
S3 PyArrow Parquet Tests / PyArrow Parquet Tests (Python 3.9) (push) Has been cancelled
S3 Proxy Signature Tests / S3 Proxy Signature Verification Tests (push) Has been cancelled
S3 SDK V2 Route Disambiguation Tests / S3 SDK V2 Routing Tests (push) Has been cancelled
S3 SSE Tests / S3 SSE Integration Tests (quick) (push) Has been cancelled
S3 SSE Tests / S3 SSE Compatibility Test (push) Has been cancelled
S3 SSE Tests / S3 SSE Metadata Persistence Test (push) Has been cancelled
S3 SSE Tests / S3 SSE Copy Operations Test (push) Has been cancelled
S3 SSE Tests / S3 SSE Multipart Upload Test (push) Has been cancelled
S3 SSE Tests / S3 SSE Performance Test (push) Has been cancelled
S3 SSE Tests / S3 Volume Encryption Test (push) Has been cancelled
S3 SSE Tests / S3 SSE Integration Tests (comprehensive) (push) Has been cancelled
Spark Integration Tests / Spark Integration Tests (push) Failing after 2s
Telemetry Integration Tests / telemetry-integration-test (push) Failing after 3s
Volume Server Integration Tests / Volume Server Integration Tests (grpc - Shard 1) (push) Failing after 3s
Volume Server Integration Tests / Volume Server Integration Tests (http - Shard 1) (push) Failing after 3s
Ceph S3 tests / Basic S3 tests (KV store) (push) Has been cancelled
Ceph S3 tests / S3 Versioning & Object Lock tests (push) Has been cancelled
S3 Policy Integration Tests / S3 Policy Unit Tests (push) Failing after 3s
Ceph S3 tests / S3 CORS tests (push) Has been cancelled
Ceph S3 tests / SeaweedFS Custom S3 Copy tests (push) Has been cancelled
Ceph S3 tests / Basic S3 tests (SQL store) (push) Has been cancelled
test s3 over https using aws-cli / awscli-tests (push) Has been cancelled
TLS Rotation Integration Tests / TLS Rotation Integration Tests (push) Has been cancelled
Vacuum Integration Tests / Vacuum Integration Tests (push) Has been cancelled
S3 Policy Integration Tests / S3 Policy Variables Integration Tests (push) Failing after 3s
S3 Policy Integration Tests / S3 Policy Enforcement Integration Tests (advanced-policy) (push) Failing after 3s
S3 Policy Integration Tests / S3 Policy Enforcement Integration Tests (basic-policy) (push) Failing after 2s
S3 Policy Integration Tests / S3 Policy Enforcement Integration Tests (contextual-policy) (push) Failing after 4s
S3 Policy Integration Tests / Trusted Proxy Detection Tests (push) Failing after 2s
S3 Policy Integration Tests / S3 Policy Shell Integration Tests (push) Failing after 3s
Samba on FUSE Integration / samba-integration (push) Failing after 2s
SFTP Integration Tests / SFTP Integration Testing (push) Failing after 3s
terraform: validate and test modules / fmt, validate, plan-level tests (push) Failing after 3s
terraform: validate and test modules / local cluster smoke test (real weed) (push) Failing after 2s
Volume Server Integration Tests / Volume Server Integration Tests (grpc - Shard 3) (push) Failing after 3s
Volume Server Integration Tests / Volume Server Integration Tests (grpc - Shard 2) (push) Failing after 3s
Volume Server Integration Tests / Volume Server Integration Tests (http - Shard 2) (push) Failing after 2s
Volume Server Integration Tests / Volume Server Integration Tests (http - Shard 3) (push) Failing after 5s
mount: windows conformance / WinFsp conformance (push) Has been cancelled
mount: windows / Mount on Windows (push) Has been cancelled
This commit is contained in:
435
weed/filer/foundationdb/INSTALL.md
Normal file
435
weed/filer/foundationdb/INSTALL.md
Normal file
@@ -0,0 +1,435 @@
|
||||
# FoundationDB Filer Store Installation Guide
|
||||
|
||||
This guide covers the installation and setup of the FoundationDB filer store for SeaweedFS.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
### FoundationDB Server
|
||||
|
||||
1. **Install FoundationDB Server**
|
||||
|
||||
**Ubuntu/Debian:**
|
||||
```bash
|
||||
# Add FoundationDB repository
|
||||
curl -L https://github.com/apple/foundationdb/releases/download/7.4.5/foundationdb-clients_7.4.5-1_amd64.deb -o foundationdb-clients.deb
|
||||
curl -L https://github.com/apple/foundationdb/releases/download/7.4.5/foundationdb-server_7.4.5-1_amd64.deb -o foundationdb-server.deb
|
||||
|
||||
sudo dpkg -i foundationdb-clients.deb foundationdb-server.deb
|
||||
```
|
||||
|
||||
**CentOS/RHEL:**
|
||||
```bash
|
||||
# Install RPM packages
|
||||
wget https://github.com/apple/foundationdb/releases/download/7.4.5/foundationdb-clients-7.4.5-1.el7.x86_64.rpm
|
||||
wget https://github.com/apple/foundationdb/releases/download/7.4.5/foundationdb-server-7.4.5-1.el7.x86_64.rpm
|
||||
|
||||
sudo rpm -Uvh foundationdb-clients-7.4.5-1.el7.x86_64.rpm foundationdb-server-7.4.5-1.el7.x86_64.rpm
|
||||
```
|
||||
|
||||
**macOS:**
|
||||
```bash
|
||||
# Using Homebrew (if available)
|
||||
brew install foundationdb
|
||||
|
||||
# Or download from GitHub releases
|
||||
# https://github.com/apple/foundationdb/releases
|
||||
```
|
||||
|
||||
2. **Initialize FoundationDB Cluster**
|
||||
|
||||
**Single Node (Development):**
|
||||
```bash
|
||||
# Start FoundationDB service
|
||||
sudo systemctl start foundationdb
|
||||
sudo systemctl enable foundationdb
|
||||
|
||||
# Initialize database
|
||||
fdbcli --exec 'configure new single ssd'
|
||||
```
|
||||
|
||||
**Multi-Node Cluster (Production):**
|
||||
```bash
|
||||
# On each node, edit /etc/foundationdb/fdb.cluster
|
||||
# Example: testing:testing@node1:4500,node2:4500,node3:4500
|
||||
|
||||
# On one node, initialize cluster
|
||||
fdbcli --exec 'configure new double ssd'
|
||||
```
|
||||
|
||||
3. **Verify Installation**
|
||||
```bash
|
||||
fdbcli --exec 'status'
|
||||
```
|
||||
|
||||
### FoundationDB Client Libraries
|
||||
|
||||
The SeaweedFS FoundationDB integration requires the FoundationDB client libraries.
|
||||
|
||||
**Ubuntu/Debian:**
|
||||
```bash
|
||||
sudo apt-get install libfdb-dev
|
||||
```
|
||||
|
||||
**CentOS/RHEL:**
|
||||
```bash
|
||||
sudo yum install foundationdb-devel
|
||||
```
|
||||
|
||||
**macOS:**
|
||||
```bash
|
||||
# Client libraries are included with the server installation
|
||||
export LIBRARY_PATH=/usr/local/lib
|
||||
export CPATH=/usr/local/include
|
||||
```
|
||||
|
||||
## Building SeaweedFS with FoundationDB Support
|
||||
|
||||
### Download FoundationDB Go Bindings
|
||||
|
||||
```bash
|
||||
go mod init seaweedfs-foundationdb
|
||||
go get github.com/apple/foundationdb/bindings/go/src/fdb
|
||||
```
|
||||
|
||||
### Build SeaweedFS
|
||||
|
||||
```bash
|
||||
# Clone SeaweedFS repository
|
||||
git clone https://github.com/seaweedfs/seaweedfs.git
|
||||
cd seaweedfs
|
||||
|
||||
# Build with FoundationDB support
|
||||
go build -tags foundationdb -o weed
|
||||
```
|
||||
|
||||
### Verify Build
|
||||
|
||||
```bash
|
||||
./weed version
|
||||
# Should show version information
|
||||
|
||||
./weed help
|
||||
# Should list available commands
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
### Basic Configuration
|
||||
|
||||
Create or edit `filer.toml`:
|
||||
|
||||
```toml
|
||||
[foundationdb]
|
||||
enabled = true
|
||||
cluster_file = "/etc/foundationdb/fdb.cluster"
|
||||
api_version = 740
|
||||
timeout = "5s"
|
||||
max_retry_delay = "1s"
|
||||
directory_prefix = "seaweedfs"
|
||||
```
|
||||
|
||||
### Environment Variables
|
||||
|
||||
Alternative configuration via environment variables:
|
||||
|
||||
```bash
|
||||
export WEED_FOUNDATIONDB_ENABLED=true
|
||||
export WEED_FOUNDATIONDB_CLUSTER_FILE=/etc/foundationdb/fdb.cluster
|
||||
export WEED_FOUNDATIONDB_API_VERSION=740
|
||||
export WEED_FOUNDATIONDB_TIMEOUT=5s
|
||||
export WEED_FOUNDATIONDB_MAX_RETRY_DELAY=1s
|
||||
export WEED_FOUNDATIONDB_DIRECTORY_PREFIX=seaweedfs
|
||||
```
|
||||
|
||||
### Advanced Configuration
|
||||
|
||||
For production deployments:
|
||||
|
||||
```toml
|
||||
[foundationdb]
|
||||
enabled = true
|
||||
cluster_file = "/etc/foundationdb/fdb.cluster"
|
||||
api_version = 740
|
||||
timeout = "30s"
|
||||
max_retry_delay = "5s"
|
||||
directory_prefix = "seaweedfs_prod"
|
||||
|
||||
# Path-specific configuration for backups
|
||||
[foundationdb.backup]
|
||||
enabled = true
|
||||
cluster_file = "/etc/foundationdb/fdb.cluster"
|
||||
directory_prefix = "seaweedfs_backup"
|
||||
location = "/backup"
|
||||
timeout = "60s"
|
||||
```
|
||||
|
||||
## Deployment
|
||||
|
||||
### Single Node Deployment
|
||||
|
||||
```bash
|
||||
# Start SeaweedFS with FoundationDB filer
|
||||
./weed server -filer \
|
||||
-master.port=9333 \
|
||||
-volume.port=8080 \
|
||||
-filer.port=8888 \
|
||||
-s3.port=8333
|
||||
```
|
||||
|
||||
### Distributed Deployment
|
||||
|
||||
**Master Servers:**
|
||||
```bash
|
||||
# Node 1
|
||||
./weed master -port=9333 -peers=master1:9333,master2:9333,master3:9333
|
||||
|
||||
# Node 2
|
||||
./weed master -port=9333 -peers=master1:9333,master2:9333,master3:9333 -ip=master2
|
||||
|
||||
# Node 3
|
||||
./weed master -port=9333 -peers=master1:9333,master2:9333,master3:9333 -ip=master3
|
||||
```
|
||||
|
||||
**Filer Servers with FoundationDB:**
|
||||
```bash
|
||||
# Filer nodes
|
||||
./weed filer -master=master1:9333,master2:9333,master3:9333 -port=8888
|
||||
```
|
||||
|
||||
**Volume Servers:**
|
||||
```bash
|
||||
./weed volume -master=master1:9333,master2:9333,master3:9333 -port=8080
|
||||
```
|
||||
|
||||
### Docker Deployment
|
||||
|
||||
**docker-compose.yml:**
|
||||
```yaml
|
||||
version: '3.9'
|
||||
services:
|
||||
foundationdb:
|
||||
image: foundationdb/foundationdb:7.4.5
|
||||
ports:
|
||||
- "4500:4500"
|
||||
volumes:
|
||||
- fdb_data:/var/fdb/data
|
||||
- fdb_config:/var/fdb/config
|
||||
|
||||
seaweedfs:
|
||||
image: chrislusf/seaweedfs:latest
|
||||
command: "server -filer -ip=seaweedfs"
|
||||
ports:
|
||||
- "9333:9333"
|
||||
- "8888:8888"
|
||||
- "8333:8333"
|
||||
environment:
|
||||
WEED_FOUNDATIONDB_ENABLED: "true"
|
||||
WEED_FOUNDATIONDB_CLUSTER_FILE: "/var/fdb/config/fdb.cluster"
|
||||
volumes:
|
||||
- fdb_config:/var/fdb/config
|
||||
depends_on:
|
||||
- foundationdb
|
||||
|
||||
volumes:
|
||||
fdb_data:
|
||||
fdb_config:
|
||||
```
|
||||
|
||||
### Kubernetes Deployment
|
||||
|
||||
**FoundationDB Operator:**
|
||||
```bash
|
||||
# Install FoundationDB operator
|
||||
kubectl apply -f https://raw.githubusercontent.com/FoundationDB/fdb-kubernetes-operator/main/config/samples/deployment.yaml
|
||||
```
|
||||
|
||||
**SeaweedFS with FoundationDB:**
|
||||
```yaml
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: seaweedfs-filer
|
||||
spec:
|
||||
replicas: 3
|
||||
selector:
|
||||
matchLabels:
|
||||
app: seaweedfs-filer
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: seaweedfs-filer
|
||||
spec:
|
||||
containers:
|
||||
- name: seaweedfs
|
||||
image: chrislusf/seaweedfs:latest
|
||||
command: ["weed", "filer"]
|
||||
env:
|
||||
- name: WEED_FOUNDATIONDB_ENABLED
|
||||
value: "true"
|
||||
- name: WEED_FOUNDATIONDB_CLUSTER_FILE
|
||||
value: "/var/fdb/config/cluster_file"
|
||||
ports:
|
||||
- containerPort: 8888
|
||||
volumeMounts:
|
||||
- name: fdb-config
|
||||
mountPath: /var/fdb/config
|
||||
volumes:
|
||||
- name: fdb-config
|
||||
configMap:
|
||||
name: fdb-cluster-config
|
||||
```
|
||||
|
||||
## Testing Installation
|
||||
|
||||
### Quick Test
|
||||
|
||||
```bash
|
||||
# Start SeaweedFS with FoundationDB
|
||||
./weed server -filer &
|
||||
|
||||
# Test file operations
|
||||
echo "Hello FoundationDB" > test.txt
|
||||
curl -F file=@test.txt "http://localhost:8888/test/"
|
||||
curl "http://localhost:8888/test/test.txt"
|
||||
|
||||
# Test S3 API
|
||||
curl -X PUT "http://localhost:8333/testbucket"
|
||||
curl -T test.txt "http://localhost:8333/testbucket/test.txt"
|
||||
```
|
||||
|
||||
### Integration Test Suite
|
||||
|
||||
```bash
|
||||
# Run the provided test suite
|
||||
cd test/foundationdb
|
||||
make setup
|
||||
make test
|
||||
```
|
||||
|
||||
## Performance Tuning
|
||||
|
||||
### FoundationDB Tuning
|
||||
|
||||
```bash
|
||||
# Configure for high performance
|
||||
fdbcli --exec 'configure triple ssd'
|
||||
fdbcli --exec 'configure storage_engine=ssd-redwood-1-experimental'
|
||||
```
|
||||
|
||||
### SeaweedFS Configuration
|
||||
|
||||
```toml
|
||||
[foundationdb]
|
||||
enabled = true
|
||||
cluster_file = "/etc/foundationdb/fdb.cluster"
|
||||
timeout = "10s" # Longer timeout for large operations
|
||||
max_retry_delay = "2s" # Adjust retry behavior
|
||||
directory_prefix = "sw" # Shorter prefix for efficiency
|
||||
```
|
||||
|
||||
### OS-Level Tuning
|
||||
|
||||
```bash
|
||||
# Increase file descriptor limits
|
||||
echo "* soft nofile 65536" >> /etc/security/limits.conf
|
||||
echo "* hard nofile 65536" >> /etc/security/limits.conf
|
||||
|
||||
# Adjust network parameters
|
||||
echo "net.core.rmem_max = 134217728" >> /etc/sysctl.conf
|
||||
echo "net.core.wmem_max = 134217728" >> /etc/sysctl.conf
|
||||
sysctl -p
|
||||
```
|
||||
|
||||
## Monitoring and Maintenance
|
||||
|
||||
### Health Checks
|
||||
|
||||
```bash
|
||||
# FoundationDB cluster health
|
||||
fdbcli --exec 'status'
|
||||
fdbcli --exec 'status details'
|
||||
|
||||
# SeaweedFS health
|
||||
curl http://localhost:9333/cluster/status
|
||||
curl http://localhost:8888/statistics/health
|
||||
```
|
||||
|
||||
### Log Monitoring
|
||||
|
||||
**FoundationDB Logs:**
|
||||
- `/var/log/foundationdb/` (default location)
|
||||
- Monitor for errors, warnings, and performance issues
|
||||
|
||||
**SeaweedFS Logs:**
|
||||
```bash
|
||||
# Start with verbose logging
|
||||
./weed -v=2 server -filer
|
||||
```
|
||||
|
||||
### Backup and Recovery
|
||||
|
||||
**FoundationDB Backup:**
|
||||
```bash
|
||||
# Start backup
|
||||
fdbbackup start -d file:///path/to/backup -t backup_tag
|
||||
|
||||
# Monitor backup
|
||||
fdbbackup status -t backup_tag
|
||||
|
||||
# Restore from backup
|
||||
fdbrestore start -r file:///path/to/backup -t backup_tag --wait
|
||||
```
|
||||
|
||||
**SeaweedFS Metadata Backup:**
|
||||
```bash
|
||||
# Export filer metadata
|
||||
./weed shell
|
||||
> fs.meta.save /path/to/metadata/backup.gz
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Common Issues
|
||||
|
||||
1. **Connection Refused**
|
||||
- Check FoundationDB service status: `sudo systemctl status foundationdb`
|
||||
- Verify cluster file: `cat /etc/foundationdb/fdb.cluster`
|
||||
- Check network connectivity: `telnet localhost 4500`
|
||||
|
||||
2. **API Version Mismatch**
|
||||
- Update API version in configuration
|
||||
- Rebuild SeaweedFS with matching FDB client library
|
||||
|
||||
3. **Transaction Conflicts**
|
||||
- Reduce transaction scope
|
||||
- Implement appropriate retry logic
|
||||
- Check for concurrent access patterns
|
||||
|
||||
4. **Performance Issues**
|
||||
- Monitor cluster status: `fdbcli --exec 'status details'`
|
||||
- Check data distribution: `fdbcli --exec 'status json'`
|
||||
- Verify storage configuration
|
||||
|
||||
### Debug Mode
|
||||
|
||||
```bash
|
||||
# Enable FoundationDB client tracing
|
||||
export FDB_TRACE_ENABLE=1
|
||||
export FDB_TRACE_PATH=/tmp/fdb_trace
|
||||
|
||||
# Start SeaweedFS with debug logging
|
||||
./weed -v=3 server -filer
|
||||
```
|
||||
|
||||
### Getting Help
|
||||
|
||||
1. **FoundationDB Documentation**: https://apple.github.io/foundationdb/
|
||||
2. **SeaweedFS Community**: https://github.com/seaweedfs/seaweedfs/discussions
|
||||
3. **Issue Reporting**: https://github.com/seaweedfs/seaweedfs/issues
|
||||
|
||||
For specific FoundationDB filer store issues, include:
|
||||
- FoundationDB version and cluster configuration
|
||||
- SeaweedFS version and build tags
|
||||
- Configuration files (filer.toml)
|
||||
- Error messages and logs
|
||||
- Steps to reproduce the issue
|
||||
Reference in New Issue
Block a user