S3, NFS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд▓рд┐рдпреЛрдлрд╝реН рд╕ рд╡рд┐рддрд░рд┐рдд рд╡рд┐рдлрд▓-рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рдВрдЧреНрд░рд╣рдг рд╕реБрд╡рд┐рдзрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

рдореИрдВ рд▓рдХреНрд╕реЙрдлреНрдЯ рд╕реЗ рд╣реВрдВред
рдУрдкреЗрдиреЗрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░: рд▓рд┐рдпреЛрдлрд╝реНрд╕ рд▓рд┐рдпреЛрдПрдлрдПрд╕ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рддрд░рд┐рдд рджреЛрд╖-рд╕рд╣рд┐рд╖реНрдгреБ рднрдВрдбрд╛рд░рдг рд╕реБрд╡рд┐рдзрд╛ рд╣реИ, рдЬреЛ рдЕрдореЗрдЬрд╝реЕрди рдПрд╕ 3 рдПрдкреАрдЖрдИ рдФрд░ рд░реАрд╕реНрдЯ -рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИ, рд╕рд╛рде рд╣реА рдПрдирдПрдлрдПрд╕ рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдСрдкрд░реЗрд╢рди рдХреЗ рдореЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЫреЛрдЯреА рдФрд░ рдмрд╣реБрдд рдмрдбрд╝реА рджреЛрдиреЛрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рди рд╣реИрдВ, рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХреИрд╢рд┐рдВрдЧ рддрдВрддреНрд░ рд╣реИ, рдбреЗрдЯрд╛ рдХреЗрдВрджреНрд░реЛрдВ рдХреЗ рдмреАрдЪ рднрдВрдбрд╛рд░рдг рдХреА рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕рдВрднрд╡ рд╣реИред рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреА рдЕрддреНрдпрдзрд┐рдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдФрд░ рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдПрдХ рдмрд┐рдВрджреБ рдХреЗ рдЙрдиреНрдореВрд▓рди рдХреЗ рдХрд╛рд░рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдореЗрдВ 99.9999999% рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреА рдЙрдкрд▓рдмреНрдзрд┐ рд╣реИред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛрдб Erlang рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред


LeoFS рдореЗрдВ рддреАрди рдШрдЯрдХ рд╣реЛрддреЗ рд╣реИрдВ:


  • рд▓рд┐рдпреЛрдлрд╝реНрд╕ рд╕реНрдЯреЛрд░реЗрдЬ - рд╡рд╕реНрддреБрдУрдВ рдФрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ, рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕реЗрд╡рд╛ рд╣реИ, рдЬреЛ рдкреНрд░рддрд┐рдХреГрддрд┐, рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдФрд░ рдЧреНрд░рд╛рд╣рдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред
  • LeoFS рдЧреЗрдЯрд╡реЗ - HTTP рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдФрд░ REST-API рдпрд╛ S3-API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ, рдореЗрдореЛрд░реА рдФрд░ рдбрд┐рд╕реНрдХ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдиреБрд░реЛрдзрд┐рдд рдбреЗрдЯрд╛ рдХрд╛ рдХреИрд╢рд┐рдВрдЧ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
  • рд▓рд┐рдпреЛрдлрд╝реНрд╕ рдкреНрд░рдмрдВрдзрдХ - рд▓рд┐рдпреЛрдлрд╝рд╕ рдЧреЗрдЯрд╡реЗ рдФрд░ рд▓рд┐рдпреЛрдлрд╝реНрд╕ рд╕реНрдЯреЛрд░реЗрдЬ рдиреЛрдбреНрд╕ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИ, рдиреЛрдбреНрд╕ рдФрд░ рдЪреЗрдХрд╕рдо рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИред рдбреЗрдЯрд╛ рдЕрдЦрдВрдбрддрд╛ рдФрд░ рдЙрдЪреНрдЪ рднрдВрдбрд╛рд░рдг рдЙрдкрд▓рдмреНрдзрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, Ansible-playbook, S3, NFS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Leofs рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред


рдпрджрд┐ рдЖрдк рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреНрд▓реЗрдмреБрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдпреЛрдлрд╝реНрд╕ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡рд┐рднрд┐рдиреНрди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЖрдкрдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реА рд╣реИрдВ: 1 , 2 ред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдореИрдВ рд▓рд┐рдЦреВрдВрдЧрд╛ рдХрд┐ рдЗрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред


рдЬрд╣рд╛рдВ рдЖрдк ansible-playbook рдЪрд▓рд╛рдПрдВрдЧреЗ, рдЖрдкрдХреЛ netcat рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред


рдЗрдиреНрд╡реЗрдВрдЯрд░реА рдЙрджрд╛рд╣рд░рдг


рдЙрджрд╛рд╣рд░рдг рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА (рд╣реЛрд╕реНрдЯреЗрд╕ рд╕реИрдВрдкрд▓ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ):
# 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" #[builder] #172.26.9.177 # nodename of leo_manager_0 and leo_manager_1 are set at group_vars/all [leo_manager_0] 172.26.9.176 # nodename of leo_manager_0 and leo_manager_1 are set at group_vars/all [leo_manager_1] 172.26.9.178 [leo_storage] 172.26.9.179 leofs_module_nodename=S0@172.26.9.179 172.26.9.181 leofs_module_nodename=S0@172.26.9.181 172.26.9.182 leofs_module_nodename=S0@172.26.9.182 172.26.9.183 leofs_module_nodename=S0@172.26.9.183 [leo_gateway] 172.26.9.180 leofs_module_nodename=G0@172.26.9.180 172.26.9.184 leofs_module_nodename=G0@172.26.9.184 [leofs_nodes:children] leo_manager_0 leo_manager_1 leo_gateway leo_storage 

рд╕рд░реНрд╡рд░ рдХреА рддреИрдпрд╛рд░реА


рд╕реЗрд▓рд┐рдирдХреНрд╕ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╕рдореБрджрд╛рдп LeoFS рдХреЗ рд▓рд┐рдП рд╕реЗрд▓рд┐рдирдХреНрд╕ рдиреАрддрд┐рдпрд╛рдВ рдмрдирд╛рддрд╛ рд╣реИред


  - name: Install libselinux as prerequisite for SELinux Ansible module yum: name: "{{item}}" state: latest with_items: - libselinux-python - libsemanage-python - name: Disable SELinux at next reboot selinux: state: disabled - name: Set SELinux in permissive mode until the machine is rebooted command: setenforce 0 ignore_errors: true changed_when: false 

netcat рдФрд░ redhat-lsb-core рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред netcat рдЬрд╝рд░реВрд░рдд leofs-adm , рдпрд╣рд╛рдБ OS рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП redhat-lsb-core рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ ред


  - name: Install Packages yum: name={{ item }} state=present with_items: - nmap-ncat - redhat-lsb-core 

рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдФрд░ рдЗрд╕реЗ рдкрд╣рд┐рдпрд╛ рд╕рдореВрд╣ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛


  - name: Create user leofs group: name: leofs state: present - name: Allow 'wheel' group to have passwordless sudo lineinfile: dest: /etc/sudoers state: present regexp: '^%wheel' line: '%wheel ALL=(ALL) NOPASSWD: ALL' validate: 'visudo -cf %s' - name: Add the user 'leofs' to group 'wheel' user: name: leofs groups: wheel append: yes 

рдПрд░реНрд▓рд╛рдВрдЧ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


  - name: Remote erlang-20.3.8.23-1.el7.x86_64.rpm install with yum yum: name=https://github.com/rabbitmq/erlang-rpm/releases/download/v20.3.8.23/erlang-20.3.8.23-1.el7.x86_64.rpm 

рд╕реБрдзрд╛рд░реЗ рд╣реБрдП рдЕрдиреВрд╕рд┐рдмрд▓ рдкреНрд▓реЗрдмреБрдХ рдХрд╛ рдкреВрд░рд╛ рд╕рдВрд╕реНрдХрд░рдг рдпрд╣рд╛рдБ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: https://github.com/patsevanton/leofh_mible


рд╕реНрдерд╛рдкрдирд╛, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рдкреНрд░рд╛рд░рдВрдн


рдЗрд╕рдХреЗ рдмрд╛рдж, рдЬреИрд╕рд╛ рдХрд┐ build_leofs.nl рдХреЗ рдмрд┐рдирд╛ https://github.com/leo-project/leofs_ansible рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ, рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ


 ## Install LeoFS $ ansible-playbook -i hosts install_leofs.yml ## Config LeoFS $ ansible-playbook -i hosts config_leofs.yml ## Start LeoFS $ ansible-playbook -i hosts start_leofs.yml 

рдкреНрд░рд╛рдердорд┐рдХ рд▓рд┐рдпреЛрдореЗрдиреЗрдЧрд░ рдкрд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдБрдЪ


 leofs-adm status 

рдкреНрд░рд╛рдЗрдорд░реА рдФрд░ рд╕реЗрдХреЗрдВрдбрд░реА рдХреЛ рдПрдВрд╕рд┐рдмрд▓-рдкреНрд▓реЗрдмреБрдХ рд▓реЙрдЧ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ




рдирд┐рд╖реНрдХрд░реНрд╖ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реЛрдЧрд╛
  [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 | S0@172.26.9.179 | running | | a0314afb | a0314afb | 2019-12-05 10:33:47 +0000 S | S0@172.26.9.181 | running | | a0314afb | a0314afb | 2019-12-05 10:33:47 +0000 S | S0@172.26.9.182 | running | | a0314afb | a0314afb | 2019-12-05 10:33:47 +0000 S | S0@172.26.9.183 | attached | | | | 2019-12-05 10:33:58 +0000 G | G0@172.26.9.180 | running | | a0314afb | a0314afb | 2019-12-05 10:33:49 +0000 G | G0@172.26.9.184 | running | | a0314afb | a0314afb | 2019-12-05 10:33:49 +0000 -------+----------------------+--------------+---------+----------------+----------------+---------------------------- 

рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдПрдБ


рдЙрдкрдпреЛрдХреНрддрд╛ рд╢рдмреНрдж рдмрдирд╛рдПрдВ:


 leofs-adm create-user leofs leofs access-key-id: 9c2615f32e81e6a1caf5 secret-access-key: 8aaaa35c1ad78a2cbfa1a6cd49ba8aaeb3ba39eb 

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕реВрдЪреА:


 leofs-adm get-users user_id | role_id | access_key_id | created_at ------------+---------+------------------------+--------------------------- _test_leofs | 9 | 05236 | 2019-12-02 06:56:49 +0000 leofs | 1 | 9c2615f32e81e6a1caf5 | 2019-12-02 10:43:29 +0000 

рдПрдХ рдмрд╛рд▓реНрдЯреА рдмрдирд╛рдПрдБ


рдПрдХ рдмрд╛рд▓реНрдЯреА рдмрдирд╛рдИ


 leofs-adm add-bucket leofs 9c2615f32e81e6a1caf5 OK 

рдмрд╛рд▓реНрдЯреА рд╕реВрдЪреА:


  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 

S3cmd рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛


HTTP Proxy server name рдлрд╝реАрд▓реНрдб рдореЗрдВ, рдЧреЗрдЯрд╡реЗ рд╕рд░реНрд╡рд░ рдЖрдИрдкреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ


 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' 

рдпрджрд┐ рдЖрдкрдХреЛ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ рддреНрд░реБрдЯрд┐: S3 рддреНрд░реБрдЯрд┐: 403 (AccessDenied): рдкреНрд░рд╡реЗрд╢ рдирд┐рд╖реЗрдз:


 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 

рдлрд┐рд░ рдЖрдкрдХреЛ True s3cmd рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдореЗрдВ signature_v2 рдХреЛ рд╕рд╣реА рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕ рдЕрдВрдХ рдореЗрдВ рд╡рд┐рд╡рд░рдгред


рдпрджрд┐ рд╣рд╕реНрддрд╛рдХреНрд╖рд░_v2 рдЧрд▓рдд рд╣реИ, рддреЛ рдРрд╕реА рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреА:


 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 

рдмреВрдЯ рдкрд░реАрдХреНрд╖рдг


1GB рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ


 fallocate -l 1GB 1gb 

рдЗрд╕реЗ Leofs рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ


 time s3cmd put 1gb s3://leofs/ real 0m19.099s user 0m7.855s sys 0m1.620s 

рдЖрдВрдХрдбрд╝реЗ


1 рдиреЛрдб рдХреЗ рд▓рд┐рдП leofs-adm du:


 leofs-adm du S0@172.26.9.179 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: ____-__-__ __:__:__ 

рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдирд┐рд╖реНрдХрд░реНрд╖ рдмрд╣реБрдд рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред


рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдХрд╣рд╛рдБ рд╕реНрдерд┐рдд рд╣реИред
leofs- рдкреНрд░рд╡реЗрд╢, рдЬрд┐рд╕рдореЗрдВ leofs / 1gb рд╣реИ


 leofs-adm whereis leofs/1gb -------+----------------------+--------------------------------------+------------+--------------+----------------+----------------+----------------+---------------------------- del? | node | ring address | size | checksum | has children | total chunks | clock | when -------+----------------------+--------------------------------------+------------+--------------+----------------+----------------+----------------+---------------------------- | S0@172.26.9.181 | 657a9f3a3db822a7f1f5050925b26270 | 976563K | a4634eea55 | true | 64 | 598f2aa976a4f | 2019-12-05 10:48:15 +0000 | S0@172.26.9.182 | 657a9f3a3db822a7f1f5050925b26270 | 976563K | a4634eea55 | true | 64 | 598f2aa976a4f | 2019-12-05 10:48:15 +0000 

NFS рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВ


рд╣рдо рд▓рд┐рдпреЛ рдЧреЗрдЯрд╡реЗ 172.26.9.184 рд╕рд░реНрд╡рд░ рдкрд░ рдПрдирдПрдлрдПрд╕ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рддреЗ рд╣реИрдВред


рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░, nfs-utils рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ


 sudo yum install nfs-utils 

рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╣рдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ /usr/local/leofs/current/leo_gateway/etc/leo_gateway.conf рдареАрдХ рдХрд░реЗрдВрдЧреЗ


 protocol = nfs 

рд╕рд░реНрд╡рд░ 172.26.9.184 рдкрд░, rpcbind рдФрд░ leofs-Gateway рдЪрд▓рд╛рдПрдВ


 sudo service rpcbind start sudo service leofs-gateway restart 

рд╕рд░реНрд╡рд░ рдкрд░ рдЬрд╣рд╛рдВ leo_manager рдЪрд▓ рд░рд╣рд╛ рд╣реИ, NFS рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рд▓реНрдЯреА рдмрдирд╛рдПрдВ рдФрд░ NFS рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреБрдВрдЬреА рдмрдирд╛рдПрдВ


 leofs-adm add-bucket test 05236 leofs-adm gen-nfs-mnt-key test 05236 ip--nfs- 

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 

NFS рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рджреЗрдЦреЗрдВ


рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рднрдВрдбрд╛рд░рдг рдиреЛрдб рдореЗрдВ 40GB рдбрд┐рд╕реНрдХ (3 рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдиреЛрдбреНрд╕, 1 рд╕рдВрд▓рдЧреНрди рдиреЛрдб) рд╣реИрдВ:


 df -hP Filesystem Size Used Avail Use% Mounted on 172.26.9.184:/test/05236/e7298032e78749149dd83a1e366afb328811c95b 60G 3.6G 57G 6% /mnt/leofs 

6 рд╕реНрдЯреЛрд░реЗрдЬ рдиреЛрдбреНрд╕ рдХреЗ рд╕рд╛рде рд▓рд┐рдпреЛрдПрдлрдПрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред


рдЗрдиреНрд╡реЗрдВрдЯрд░реА (рдмрд┐рд▓реНрдбрд░ рдХреЗ рдмрд┐рдирд╛):
 # 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 leofs_module_nodename=S0@172.26.9.178 172.26.9.179 leofs_module_nodename=S0@172.26.9.179 172.26.9.181 leofs_module_nodename=S0@172.26.9.181 172.26.9.182 leofs_module_nodename=S0@172.26.9.182 172.26.9.183 leofs_module_nodename=S0@172.26.9.183 172.26.9.185 leofs_module_nodename=S0@172.26.9.185 [leo_gateway] 172.26.9.180 leofs_module_nodename=G0@172.26.9.180 172.26.9.184 leofs_module_nodename=G0@172.26.9.184 [leofs_nodes:children] leo_manager_0 leo_manager_1 leo_gateway leo_storage 

Leofs- рдкреНрд░рд╡реЗрд╢ рд╕реНрдерд┐рддрд┐ рдЙрддреНрдкрд╛рджрди


Leofs- рдкреНрд░рд╡реЗрд╢ рд╕реНрдерд┐рддрд┐ рдЙрддреНрдкрд╛рджрди
  [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 | S0@172.26.9.178 | running | | d8ff465e | d8ff465e | 2019-12-06 05:18:29 +0000 S | S0@172.26.9.179 | running | | d8ff465e | d8ff465e | 2019-12-06 05:18:29 +0000 S | S0@172.26.9.181 | running | | d8ff465e | d8ff465e | 2019-12-06 05:18:30 +0000 S | S0@172.26.9.182 | running | | d8ff465e | d8ff465e | 2019-12-06 05:18:29 +0000 S | S0@172.26.9.183 | running | | d8ff465e | d8ff465e | 2019-12-06 05:18:29 +0000 S | S0@172.26.9.185 | running | | d8ff465e | d8ff465e | 2019-12-06 05:18:29 +0000 G | G0@172.26.9.180 | running | | d8ff465e | d8ff465e | 2019-12-06 05:18:31 +0000 G | G0@172.26.9.184 | running | | d8ff465e | d8ff465e | 2019-12-06 05:18:31 +0000 -------+----------------------+--------------+---------+----------------+----------------+---------------------------- 

рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди, рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдЯреЛрд░реЗрдЬ рдиреЛрдб рдореЗрдВ 40GB рдбрд┐рд╕реНрдХ (6 рд░рдирд┐рдВрдЧ рдиреЛрдбреНрд╕) рд╣реИрдВ:


 df -hP Filesystem Size Used Avail Use% Mounted on 172.26.9.184:/test/05236/e7298032e78749149dd83a1e366afb328811c95b 120G 3.6G 117G 3% /mnt/leofs 

рдпрджрд┐ 5 рд╕реНрдЯреЛрд░реЗрдЬ рдиреЛрдбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ


 [leo_storage] 172.26.9.178 leofs_module_nodename=S0@172.26.9.178 172.26.9.179 leofs_module_nodename=S1@172.26.9.179 172.26.9.181 leofs_module_nodename=S2@172.26.9.181 172.26.9.182 leofs_module_nodename=S3@172.26.9.182 172.26.9.183 leofs_module_nodename=S4@172.26.9.183 

 df -hP 172.26.9.184:/test/05236/e7298032e78749149dd83a1e366afb328811c95b 100G 3.0G 97G 3% /mnt/leofs 

рд▓реЙрдЧ


рд▓реЙрдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ /usr/local/leofs/current/*/log


рдпрджрд┐ рдЖрдк рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ Leofs рдХреЛ рд╕реНрдерд╛рдкрд┐рдд / рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдирд┐рдореНрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


[ERROR] рдордиреЗрд╕рд┐рдпрд╛ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ

Systemctl рд╕реЗрд╡рд╛ рд╢реБрд░реВ рдХрд░рдирд╛ leofs-manager-master рд╢реБрд░реВ рдХрд░реЗрдВ


 leofs-adm status [ERROR] Mnesia is not available 

Leo_manager_1 рдкрд░ leofs-manager-slave рдХреЛ systemctl рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ


Leofs-Storage рдкреНрд░рд╛рд░рдВрдн рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рдпрд╣ рд╕реНрдерд┐рддрд┐ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП leofs-manager-master рдФрд░ leofs-manager-slave рдФрд░ leofs-adm рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред


рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ # рд╕реЗ рдХрдо рдиреЛрдб рд╕рдВрд▓рдЧреНрди

рдЬрдм рдЖрдк рд▓рдлрд╝реНрдЬрд╝-рдкреНрд░рд╢рдВрд╕рд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ:


 leofs-adm start [ERROR] Attached nodes less than # of replicas 

рдкрд░реНрдпрд╛рдкреНрдд рднрдВрдбрд╛рд░рдг рдиреЛрдбреНрд╕ рдирд╣реАрдВред leofs-adm рдХреА рд╕реНрдерд┐рддрд┐ рдЖрдкрдХреЛ 2 рд╕реЗ рдХрдо рд╕рдВрдЧреНрд░рд╣рдг рдиреЛрдб рджрд┐рдЦрд╛рдПрдЧреАред рд╕реНрдЯреЛрд░реЗрдЬ рдиреЛрдбреНрд╕ рдХреА рдиреНрдпреВрдирддрдо рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЦреНрдпрд╛ 2ред


leofs-adm рдХреА рд╕реНрдерд┐рддрд┐ рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИ, рдмрд╛рдХреА рднрд╛рдЧ рд░рд╣рд╛ рд╣реИред

рдиреЛрдбреНрд╕ рдХреЛ рдкреБрдирд░реНрд╕рдВрддреБрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ


 leofs-adm rebalance 

рд▓реЗрдУрдлрд╝реНрд╕-рдЧреЗрдЯрд╡реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЧреЗрдЯрд╡реЗ рдиреЛрдб рдХреЛ рд▓реЗрдУрдлрд╝реНрд╕-рдкреНрд░рд╡реЗрд╢ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдирд╣реАрдВ рджреЗрдЦрддреЗ рд╣реИрдВ

рд▓рдлреНрдЬрд╝-рджрд╛рдЦрд┐рд▓рд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ


 leofs-adm start 

рджрд╛рд╕ рдиреЛрдб рдкрд░ рд▓рд┐рдпреЛрдлрд╝реНрд╕ рдкреНрд░рдмрдВрдзрдХ рд╕реЗ рдЬреБрдбрд╝ рдирд╣реАрдВ рд╕рдХрд╛

(рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, leofs-adm рджрд╛рд╕ рдиреЛрдб рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ!] ( Https://leo-project.net/leofs/docs/issues/documentation-issues/ )


рд▓реЛрдб рдкрд░реАрдХреНрд╖рдг


рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде 2 рдиреЛрдбреНрд╕ рдкрд░ рдкрд░реАрдХреНрд╖рдг рд╣реЛрддрд╛ рд╣реИ:


 CPU: Single Core Intel Core (Broadwell) (-MCP-) speed: 2295 MHz Kernel: 3.10.0-862.3.2.el7.x86_64 x86_64 Up: 1h 08m Mem: 1023.8/1999.6 MiB (51.2%) Storage: 10.00 GiB (43.5% used) Procs: 98 Shell: bash 4.2.46 inxi: 3.0.37 

рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЫреЛрдЯреА рд╕реА рдбрд┐рд╕реНрдХ рд▓реЗрдВ
рджреЛрдиреЛрдВ рдиреЛрдбреНрд╕ рдкрд░ рд╣рдо рдПрдХ 9.4G рдФрд░ 5.9G рдлреНрд░реА рд╕реНрдкреЗрд╕ рдбрд┐рд╕реНрдХ рджреЗрдЦрддреЗ рд╣реИрдВред


 df -hP Filesystem Size Used Avail Use% Mounted on /dev/vda1 9.4G 5.9G 3.1G 66% / 

рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдЪреИрдирд▓: рдПрд╕рдбреАрдПрд╕ рдФрд░ рдХреНрд▓рд╕реНрдЯрд░ рдПрдлрдПрд╕

Source: https://habr.com/ru/post/hi478990/


All Articles