Buckit Server
Buckit Server
The buckit server command starts the buckit server process:
buckit server /mnt/disk{1...4}
For examples of deploying buckit server on a bare metal environment, see Installation and Management.
Buckit does not support Kubernetes deployment guidance in this documentation set.
Syntax
Starts the minio server process.
The command has the following syntax:
buckit server [FLAGS] HOSTNAME/DIRECTORIES [HOSTNAME/DIRECTORIES..]
The command accepts the following arguments:
- HOSTNAME
The hostname of a
buckit serverprocess.For standalone deployments, this field is optional. You can start a standalone
buckit serverprocess with only theDIRECTORIESargument.For distributed deployments, specify the hostname of each Buckit server in the deployment. The group of
buckit serverprocesses represent a single Server Pool.HOSTNAMEsupports Buckit expansion notation{x...y}to denote a sequential series of hostnames. Buckit requires sequential hostnames to identify eachbuckit serverprocess in the set.For example,
https://buckit{1...4}.example.netexpands to:https://buckit1.example.nethttps://buckit2.example.nethttps://buckit3.example.nethttps://buckit4.example.net
You must run the
buckit servercommand with the same combination ofHOSTNAMEandDIRECTORIESon each host in the Server Pool.Each additional
HOSTNAME/DIRECTORIESpair denotes an additional Server Set for the purpose of horizontal expansion of the Buckit deployment. For more information on Server Pools, see Server Pool.
- DIRECTORIES
- Required
The directories or drives the
buckit serverprocess uses as the storage backend.DIRECTORIESsupports Buckit expansion notation{x...y}to denote a sequential series of folders or drives. For example,/mnt/disk{1...4}expands to:/mnt/disk1/mnt/disk2/mnt/disk3/mnt/disk4
The
DIRECTORIESpath(s) must be empty when first starting thebuckit serverprocess.The
buckit serverprocess requires at least 4 drives or directories to enable erasure coding.Important
Buckit recommends locally-attached drives, where the
DIRECTORIESpath points to each drive on the host machine. Buckit recommends against using network-attached storage, as network latency reduces performance of those drives compared to locally-attached storage.For development or evaluation, you can specify multiple logical directories or partitions on a single physical volume to enable erasure coding on the deployment.
For production environments, Buckit does not recommend using multiple logical directories or partitions on a single physical disk. While Buckit supports those configurations, the potential cost savings come at the risk of decreased reliability.
- --address
- Optional
Binds the
minioserver process to a specific network address and port number. Specify the address and port asADDRESS:PORT, whereADDRESSis an IP address or hostname andPORTis a valid and open port on the host system. Buckit supports both IPv4 and IPv6 addressing, provided that the specified addresses are routable and resolveable.To change the port number for all IP addresses or hostnames configured on the host machine, specify only
:PORTwherePORTis a valid and open port on the host.Changed in version RELEASE.2023-01-02T09-40-09Z: You can configure your hosts file to have Buckit only listen on specific IPs. For example, if the machine’s /etc/hosts file contains the following:
127.0.1.1 minioip 127.0.1.2 minioip
A command like the following would listen for API calls on port
9000on both configured IP addresses.buckit server --address "minioip:9000" ~/miniodirectory
If omitted,
miniobinds to port9000on all configured IPv4 addresses, IPv6 addresses, and hostnames on the host machine.
- --console-address
- Optional
Specifies a static port for the embedded Buckit Console.
Omit to direct Buckit to generate a dynamic port at server startup. The Buckit server outputs the port to the system log.
- --ftp
- Optional
Enable and configure a File Transfer Protocol (
FTP) or File Transfer Protocol over SSL/TLS (FTPS) server. Use this flag multiple times to specify an address port, a passive port range of addresses, or a TLS certificate and key as key-value pairs.Valid keys:
address, which takes a single port to use for the server, typically8021(Optional)
passive-port-range, which restricts the range of potential ports the server can use to transfer data, such as when tight firewall rules limit the port the FTP server can request for the connection(Optional)
tls-private-key, which takes the path to the user’s private key for accessing the Buckit deployment by TLSUse with
tls-public-cert.(Optional)
tls-public-cert, which takes the path to the certificate for accessing the Buckit deployment by TLSUse with
tls-private-key.
For Buckit deployments with TLS enabled, omit
tls-private-keyandtls-public-keyto direct Buckit to use the default TLS keys for the Buckit deployment. See Network Encryption (TLS) for more information. You only need to specify a certificate and private key to a different set of TLS certificate and key than the Buckit default (for example, to use a different domain).For example:
buckit server http://server{1...4}/disk{1...4} \ --ftp="address=:8021" \ --ftp="passive-port-range=30000-40000" \ --ftp="tls-private-key=path/to/private.key" \ --ftp="tls-public-cert=path/to/public.crt" \ ...
- --sftp
- Optional
Enable and configure a SSH File Transfer Protocol (
SFTP) server. Use multiple times to specify each desired key-value pair.The following table lists valid keys.
Key
Description
Valid values
addressPort to use for connecting to SFTP.
Any valid port number, typically
8022.ssh-private-keyPath to the user’s private key file.
Absolute path or relative path from current location to the key file to use.
trusted-user-ca-keySpecifies a file containing public key of a certificate authority that is trusted to sign user certificates for authentication. The file must contain a user principals list, and the list must include the user(s) that can authenticate with the key.
Absolute path or relative path from current location to the user’s trusted certificate authority public key file.
pub-key-algosComma-separated list of the public key algorithms to support.
ssh-ed25519,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-256,rsa-sha2-512,ssh-rsa,ssh-dsskex-algosComma-separated list in priority order of the key-exchange algorithms to support.
curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1cipher-algosComma-separated list of cipher algorithms to support
aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,arcfour256,arcfour128,arcfour,aes128-cbc,3des-cbcmac-algosComma-separated list in preference order of MAC algorithms to support. Based on RFC 4253 section 6.4 with the exception of
hmac-md5variants, which are end of life.hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1,hmac-sha1-96disable-password-authDisable password authentication.
trueFor example:
buckit server http://server{1...4}/disk{1...4} \ --sftp="address=:8022" --sftp="ssh-private-key=/home/miniouser/.ssh/id_rsa" \ --sftp="kex-algos=diffie-hellman-group14-sha256,curve25519-sha256@libssh.org" \ ...
- --certs-dir, -S
- Optional
Specifies the path to the folder containing certificates the
minioprocess uses for configuring TLS/SSL connectivity.The contents of the specified folder must follow that of the default path structure. For example, the path contents of
--certs-dir /etc/minioshould resemble the following:/etc/minio private.key public.crt domain.tld/ private.key public.crt CAs/ full-chain-ca.crt
Specify
--certs-dirto use a custom certificate directory.See Network Encryption (TLS) for more information on TLS/SSL connectivity.
Note
You can define any of the buckit parameters above by setting them in the MINIO_OPTS environment variable.
This variable takes as its value a single string that contains any of the above parameters and their values that you want to set when starting the Buckit Server.
Settings
You can perform other customizations to the Buckit Server process by defining additional Configuration Values or Environment Variables.
Many configuration values and environment variables define the same value. If you set both a configuration value and the matching environment variable, Buckit uses the value from the environment variable.