Kev teeb tsa ntawm kev faib ua txhaum cai LeoFS cov khoom khaws cia, sib xws nrog cov neeg siv khoom siv S3, NFS
Raws li Opennet: LeoFS - faib khoom txhaum-tolerant khoom cia LeoFS, sib xws nrog cov neeg siv khoom siv Amazon S3 API thiab REST-API, thiab tseem txhawb NFS server hom. Muaj kev ua kom zoo rau kev khaws cia ob qho tib si me thiab loj heev, muaj cov txheej txheem caching built-in, thiab rov ua dua ntawm kev khaws cia ntawm cov chaw khaws ntaub ntawv yog ua tau. Cov phiaj xwm lub hom phiaj suav nrog kev ua tiav 99.9999999% kev ntseeg tau los ntawm kev rov ua dua tshiab ntawm cov duplicates thiab tshem tawm ib qho kev ua tsis tiav. Txoj haujlwm code yog sau hauv Erlang.
LeoFS muaj peb yam:
LeoFS Cia - ua haujlwm ntawm kev ntxiv, rov qab thiab tshem tawm cov khoom thiab cov metadata, yog lub luag haujlwm rau kev ua kom rov ua dua, rov qab thiab queuing cov neeg thov.
LeoFS Gateway - pabcuam HTTP thov thiab xa cov lus teb rau cov neeg siv khoom siv REST-API lossis S3-API, ua kom cov ntaub ntawv nrov tshaj plaws hauv lub cim xeeb thiab ntawm disk.
[System Confiuration]
-----------------------------------+----------
Item | Value
-----------------------------------+----------
Basic/Consistency level
-----------------------------------+----------
system version | 1.4.3
cluster Id | leofs_1
DC Id | dc_1
Total replicas | 2
number of successes of R | 1
number of successes of W | 1
number of successes of D | 1
number of rack-awareness replicas | 0
ring size | 2^128
-----------------------------------+----------
Multi DC replication settings
-----------------------------------+----------
[mdcr] max number of joinable DCs | 2
[mdcr] total replicas per a DC | 1
[mdcr] number of successes of R | 1
[mdcr] number of successes of W | 1
[mdcr] number of successes of D | 1
-----------------------------------+----------
Manager RING hash
-----------------------------------+----------
current ring-hash | a0314afb
previous ring-hash | a0314afb
-----------------------------------+----------
[State of Node(s)]
-------+----------------------+--------------+---------+----------------+----------------+----------------------------
type | node | state | rack id | current ring | prev ring | updated at
-------+----------------------+--------------+---------+----------------+----------------+----------------------------
S | [email protected] | running | | a0314afb | a0314afb | 2019-12-05 10:33:47 +0000
S | [email protected] | running | | a0314afb | a0314afb | 2019-12-05 10:33:47 +0000
S | [email protected] | running | | a0314afb | a0314afb | 2019-12-05 10:33:47 +0000
S | [email protected] | attached | | | | 2019-12-05 10:33:58 +0000
G | [email protected] | running | | a0314afb | a0314afb | 2019-12-05 10:33:49 +0000
G | [email protected] | running | | a0314afb | a0314afb | 2019-12-05 10:33:49 +0000
-------+----------------------+--------------+---------+----------------+----------------+----------------------------
leofs-adm add-bucket leofs 9c2615f32e81e6a1caf5
OK
Cov lis dej num:
leofs-adm get-buckets
cluster id | bucket | owner | permissions | created at
-------------+----------+--------+------------------+---------------------------
leofs_1 | leofs | leofs | Me(full_control) | 2019-12-02 10:44:02 +0000
Configuring s3cmd
Nyob rau hauv lub teb HTTP Proxy server name qhia lub Gateway server IP
s3cmd --configure
Enter new values or accept defaults in brackets with Enter.
Refer to user manual for detailed description of all options.
Access key and Secret key are your identifiers for Amazon S3. Leave them empty for using the env variables.
Access Key [9c2615f32e81e6a1caf5]:
Secret Key [8aaaa35c1ad78a2cbfa1a6cd49ba8aaeb3ba39eb]:
Default Region [US]:
Use "s3.amazonaws.com" for S3 Endpoint and not modify it to the target Amazon S3.
S3 Endpoint [s3.amazonaws.com]:
Use "%(bucket)s.s3.amazonaws.com" to the target Amazon S3. "%(bucket)s" and "%(location)s" vars can be used
if the target S3 system supports dns based buckets.
DNS-style bucket+hostname:port template for accessing a bucket [%(bucket)s.s3.amazonaws.com]: leofs
Encryption password is used to protect your files from reading
by unauthorized persons while in transfer to S3
Encryption password:
Path to GPG program [/usr/bin/gpg]:
When using secure HTTPS protocol all communication with Amazon S3
servers is protected from 3rd party eavesdropping. This method is
slower than plain HTTP, and can only be proxied with Python 2.7 or newer
Use HTTPS protocol [No]:
On some networks all internet access must go through a HTTP proxy.
Try setting it here if you can't connect to S3 directly
HTTP Proxy server name [172.26.9.180]:
HTTP Proxy server port [8080]:
New settings:
Access Key: 9c2615f32e81e6a1caf5
Secret Key: 8aaaa35c1ad78a2cbfa1a6cd49ba8aaeb3ba39eb
Default Region: US
S3 Endpoint: s3.amazonaws.com
DNS-style bucket+hostname:port template for accessing a bucket: leofs
Encryption password:
Path to GPG program: /usr/bin/gpg
Use HTTPS protocol: False
HTTP Proxy server name: 172.26.9.180
HTTP Proxy server port: 8080
Test access with supplied credentials? [Y/n] Y
Please wait, attempting to list all buckets...
Success. Your access key and secret key worked fine :-)
Now verifying that encryption works...
Not configured. Never mind.
Save settings? [y/N] y
Configuration saved to '/home/user/.s3cfg'
s3cmd put test.py s3://leofs/
upload: 'test.py' -> 's3://leofs/test.py' [1 of 1]
382 of 382 100% in 0s 3.40 kB/s done
ERROR: S3 error: 403 (AccessDenied): Access Denied
Tom qab ntawd koj yuav tsum hloov kos npe_v3 mus rau qhov tseeb hauv s2cmd config. Paub meej hauv no qhov teeb meem.
Yog tias kos npe_v2 yog False, ces yuav muaj qhov yuam kev zoo li no:
WARNING: Retrying failed request: /?delimiter=%2F (getaddrinfo() argument 2 must be integer or string)
WARNING: Waiting 3 sec...
WARNING: Retrying failed request: /?delimiter=%2F (getaddrinfo() argument 2 must be integer or string)
WARNING: Waiting 6 sec...
ERROR: Test failed: Request failed for: /?delimiter=%2F
Load xeem
Tsim ib cov ntaub ntawv 1 GB
fallocate -l 1GB 1gb
Upload rau Leofs
time s3cmd put 1gb s3://leofs/
real 0m19.099s
user 0m7.855s
sys 0m1.620s
Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ°
leofs-adm du rau 1 node:
leofs-adm du [email protected]
active number of objects: 156
total number of objects: 156
active size of objects: 602954495
total size of objects: 602954495
ratio of active size: 100.0%
last compaction start: ____-__-__ __:__:__
last compaction end: ____-__-__ __:__:__
Peb qhib NFS ntawm Leo Gateway 172.26.9.184 server.
Nruab nfs-utils ntawm lub server thiab tus neeg siv khoom
sudo yum install nfs-utils
Raws li cov lus qhia, peb yuav kho cov ntaub ntawv teeb tsa /usr/local/leofs/current/leo_gateway/etc/leo_gateway.conf
protocol = nfs
Ntawm server 172.26.9.184 khiav rpcbind thiab leofs-gateway
sudo service rpcbind start
sudo service leofs-gateway restart
Ntawm lub server qhov twg leo_manager tab tom khiav, tsim lub thoob rau NFS thiab tsim kom muaj tus yuam sij rau txuas rau NFS
leofs-adm add-bucket test 05236
leofs-adm gen-nfs-mnt-key test 05236 ip-Π°Π΄ΡΠ΅Ρ-nfs-ΠΊΠ»ΠΈΠ΅Π½ΡΠ°
Txuas rau NFS
sudo mkdir /mnt/leofs
## for Linux - "sudo mount -t nfs -o nolock <host>:/<bucket>/<token> <dir>"
sudo mount -t nfs -o nolock ip-Π°Π΄ΡΠ΅Ρ-nfs-ΡΠ΅ΡΠ²Π΅ΡΠ°-ΡΠ°ΠΌ-Π³Π΄Π΅-Ρ-Π²Π°Ρ-ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½-gateway:/bucket/access_key_id/ΠΊΠ»ΡΡ-ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ-ΠΎΡ-gen-nfs-mnt-key /mnt/leofs
sudo mount -t nfs -o nolock 172.26.9.184:/test/05236/bb5034f0c740148a346ed663ca0cf5157efb439f /mnt/leofs
Saib qhov chaw disk ntawm NFS tus neeg siv khoom
Disk qhov chaw, coj mus rau hauv tus account tias txhua qhov chaw cia muaj 40GB disk (3 khiav ntawm, 1 txuas ntawm no):
df -hP
Filesystem Size Used Avail Use% Mounted on
172.26.9.184:/test/05236/e7298032e78749149dd83a1e366afb328811c95b 60G 3.6G 57G 6% /mnt/leofs
Kev teeb tsa ntawm LeoFS nrog 6 qhov chaw cia.
Cov khoom lag luam (tsis muaj tus tsim):
# Please check roles/common/vars/leofs_releases for available versions
[all:vars]
leofs_version=1.4.3
build_temp_path="/tmp/leofs_builder"
build_install_path="/tmp/"
build_branch="master"
source="package"
# nodename of leo_manager_0 and leo_manager_1 are set at group_vars/all
[leo_manager_0]
172.26.9.177
# nodename of leo_manager_0 and leo_manager_1 are set at group_vars/all
[leo_manager_1]
172.26.9.176
[leo_storage]
172.26.9.178 [email protected]
172.26.9.179 [email protected]
172.26.9.181 [email protected]
172.26.9.182 [email protected]
172.26.9.183 [email protected]
172.26.9.185 [email protected]
[leo_gateway]
172.26.9.180 [email protected]
172.26.9.184 [email protected]
[leofs_nodes:children]
leo_manager_0
leo_manager_1
leo_gateway
leo_storage
Output leofs-adm xwm txheej
Output leofs-adm xwm txheej
[System Confiuration]
-----------------------------------+----------
Item | Value
-----------------------------------+----------
Basic/Consistency level
-----------------------------------+----------
system version | 1.4.3
cluster Id | leofs_1
DC Id | dc_1
Total replicas | 2
number of successes of R | 1
number of successes of W | 1
number of successes of D | 1
number of rack-awareness replicas | 0
ring size | 2^128
-----------------------------------+----------
Multi DC replication settings
-----------------------------------+----------
[mdcr] max number of joinable DCs | 2
[mdcr] total replicas per a DC | 1
[mdcr] number of successes of R | 1
[mdcr] number of successes of W | 1
[mdcr] number of successes of D | 1
-----------------------------------+----------
Manager RING hash
-----------------------------------+----------
current ring-hash | d8ff465e
previous ring-hash | d8ff465e
-----------------------------------+----------
[State of Node(s)]
-------+----------------------+--------------+---------+----------------+----------------+----------------------------
type | node | state | rack id | current ring | prev ring | updated at
-------+----------------------+--------------+---------+----------------+----------------+----------------------------
S | [email protected] | running | | d8ff465e | d8ff465e | 2019-12-06 05:18:29 +0000
S | [email protected] | running | | d8ff465e | d8ff465e | 2019-12-06 05:18:29 +0000
S | [email protected] | running | | d8ff465e | d8ff465e | 2019-12-06 05:18:30 +0000
S | [email protected] | running | | d8ff465e | d8ff465e | 2019-12-06 05:18:29 +0000
S | [email protected] | running | | d8ff465e | d8ff465e | 2019-12-06 05:18:29 +0000
S | [email protected] | running | | d8ff465e | d8ff465e | 2019-12-06 05:18:29 +0000
G | [email protected] | running | | d8ff465e | d8ff465e | 2019-12-06 05:18:31 +0000
G | [email protected] | running | | d8ff465e | d8ff465e | 2019-12-06 05:18:31 +0000
-------+----------------------+--------------+---------+----------------+----------------+----------------------------
Disk qhov chaw, coj mus rau hauv tus account tias txhua qhov chaw cia muaj 40GB disk (6 khiav ntawm nodes):
df -hP
Filesystem Size Used Avail Use% Mounted on
172.26.9.184:/test/05236/e7298032e78749149dd83a1e366afb328811c95b 120G 3.6G 117G 3% /mnt/leofs