[UPD] GlusterFS рдХреЗ рд╕рд╛рде рдмрдврд╝рддреЗ рд╣реБрдП

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░ред

рдЬрд┐рд╕ рдХрдВрдкрдиреА рдореЗрдВ рдореИрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ рд╡рд╣ рдХреНрд░рдорд╢рдГ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реА рд╣реИ, рдФрд░ рд╕рд░реНрд╡рд░ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝ рд░рд╣реА рд╣реИред рд╕реБрд▓рд╣ рдХреЗ рдореБрджреНрджреЗ рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛрддреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред
рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ, рдХреБрдЫ рдбреЗрдЯрд╛ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╣реИ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдирдПрдлрдПрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреИрдХрдПрдВрдб рд╕реЗ рдЬреБрдбрд╝рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдХреЗрдВрджреНрд░реАрдп рд╕рд░реНрд╡рд░ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПред
рд░реБрдкреА-рд╡рд┐рдХрд▓реНрдк-рдЙрдерд▓реЗ рддреБрд░рдВрддред рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рдкреНрд░рд╢реНрди рдФрд░ рдЕрдиреБрднрд╡ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдХреБрдЫ s3fs рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╡рд┐рддрд░рд┐рдд рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдирдВрдмрд░ 1 рдЙрдореНрдореАрджрд╡рд╛рд░ рдерд╛, GlusterFS рдХреЛ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред

рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛, рд╡реИрд╕реЗ, рдЖрдк рдореБрдЦреНрдп рд╕рд╛рдЗрдЯ рдкрд░ рд▓рд┐рдВрдХ рдкрд░ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдореБрджрд╛рдп рдХрд╣реЗрдВрдЧреЗ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХрд╛ рднрдВрдбрд╛рд░ рд╣рдорд╛рд░реЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЙрдкрдпреБрдХреНрдд рдерд╛ред GlusterFS рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдХрд┐рд╕реА рднреА рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХреЛ рд▓рд┐рдЦрддрд╛ рд╣реИ, рдФрд░ рдСрдкрд░реЗрд╢рди рдореЗрдВ рд╡рд╛рдкрд╕ рдЖрдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рджреБрд░реНрдЧрдо рдореЗрдВ рдкреНрд░рддрд┐рдХреГрддрд┐ рдмрдирд╛рддрд╛ рд╣реИред

рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рд╕реЗрдЯрдЕрдк рдХреЗ рд╕рд╛рдеред рдореИрдВ рдПрдХ рдЖрд░рдХреНрд╖рдг рдмрдирд╛рдКрдВрдЧрд╛ рдХрд┐ рдкреБрд░рд╛рдиреЗ рдПрдирдПрдлрдПрд╕ рдиреЗ рднреА рд╕рд░реНрд╡рд░ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рдерд╛, рд╡реЗ рдПрдХ рд╣реА рдорд╢реАрди рдкрд░ рдХрд╛рдлреА рдорд┐рд▓ рдЬрд╛рддреЗ рд╣реИрдВред рдПрдирдПрдлрдПрд╕ рд╕реЗ рд╕рдВрдХреНрд░рдордг рдХреЗ рджреМрд░рд╛рди рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред

рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
aptitude install glusterfs-server 


рд╣рдо рд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ (/etc/glusterfs/glusterfsd.vol):
 volume posix type storage/posix option directory /mnt/Files end-volume volume locks type features/locks subvolumes posix end-volume volume Files type performance/io-threads option thread-count 8 subvolumes locks end-volume volume server type protocol/server option transport-type tcp option auth.login.Files.allow user #     login+password option auth.login.user.password secret_pass subvolumes Files end-volume 

рджреВрд╕рд░реЗ рд╕рд░реНрд╡рд░ рдкрд░ glusterfs-server рдкреИрдХреЗрдЬ рдФрд░ config (/etc/glusterfs/glusterfsd.vol) рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд░реЗрдВред

рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
 aptitude install glusterfs-client 


рд╣рдо рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ (/etc/glusterfs/glusterfs.vol):
 volume server1.com type protocol/client option transport-type tcp option username user option password secret_pass option remote-host 10.132.259.159 # server1.com option remote-subvolume Files end-volume volume server2.com type protocol/client option transport-type tcp option username user option password secret_pass option remote-host 10.184.179.175 # server2.com option remote-subvolume Files end-volume volume replicate type cluster/replicate subvolumes server1.com server2.com end-volume volume writebehind type performance/write-behind option cache-size 1MB subvolumes replicate end-volume volume cache type performance/io-cache option cache-size 512MB subvolumes writebehind end-volume 


рдлреНрдпреВрдЬ рдореЙрдбреНрдпреВрд▓ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ
 modprobe fuse 


FS рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ
 /usr/sbin/glusterfs -f /etc/glusterfs/glusterfs.vol /mnt/Files df -h /etc/glusterfs/glusterfs.vol 199G 120G 70G 64% /mnt/Files 


рдЕрдм рдПрдХ рдЫреЛрдЯреА рд╕реА рд░реЗрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред Glst-FS рдХреЛ рд░рд┐рд╕реНрдЯреВрдЯ рдкрд░ fstab рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдлреНрдпреВрдЬ рдореЙрдбреНрдпреВрд▓ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓реЛрдб рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЖрдк рдХрд░реНрдиреЗрд▓ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдЖрд╕рд╛рди рдХрд░реЗрдВрдЧреЗред
рдЕрдВрдд рдореЗрдВ / etc / initramfs-tools / рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝реЗрдВ:

 fuse 


рд╣рдо рдмрд╛рд╣рд░ рд▓реЗ:
 update-initramfs -u -k `uname -r` 


/ Etc / fstab рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
 /etc/glusterfs/glusterfs.vol /mnt/Files glusterfs defaults 0 0 


рд░рд┐рдмреВрдЯ рдФрд░ рд▓рд╛рднред

рдЦреИрд░, рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддреЗ рд╣реБрдП, рдореИрдВ рдХреБрдЫ рд╕рдВрдХреЗрдд рджреЗ рджреВрдВрдЧрд╛, Gluster-fs рдмрдирд╛рдо NFS рдмрдирд╛рдо POHHELFSред рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╡рдЬрди ~ 700Mbред

GlusterFS:
 root@domU-12-41-56-0F-34-81:~# time cat /mnt/Files/ubuntu-11.10-desktop-amd64+mac.iso > /dev/null real 0m28.101s user 0m0.000s sys 0m4.700s root@domU-12-41-56-0F-34-81:~# time cat /mnt/Files/ubuntu-11.10-desktop-amd64+mac.iso > /dev/null real 0m20.321s user 0m0.000s sys 0m2.030s root@domU-12-41-56-0F-34-81:~# time cat /mnt/Files/ubuntu-11.10-desktop-amd64+mac.iso > /dev/null real 0m36.444s user 0m0.000s sys 0m1.410s 


POHMELFS (рдпрд╣рд╛рдВ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ POHMELFS: NFS рдПрдХ рдирдП рддрд░реАрдХреЗ рд╕реЗ ):
 stolen@stolen ~/soft/pohmelfs-server.git $ time cat /mnt/pohmel/share/GRTMPVOL_RU_20.10.08.iso >/dev/null real 1m37.150s user 0m0.010s sys 0m1.270s stolen@stolen ~/soft/pohmelfs-server.git $ time cat /mnt/pohmel/share/GRTMPVOL_RU_20.10.08.iso >/dev/null real 0m0.591s user 0m0.003s sys 0m0.257s stolen@stolen ~/soft/pohmelfs-server.git $ time cat /mnt/upload/share/GRTMPVOL_RU_20.10.08.iso >/dev/null real 1m3.719s user 0m0.003s sys 0m0.400s 


рдПрдирдПрдлрдПрд╕:
 root@domU-12-41-56-0F-34-81:run$ time cat /mnt/Files/ubuntu-11.10-desktop-amd64+mac.iso > /dev/null real 0m15.220s user 0m0.008s sys 0m0.423s root@domU-12-41-56-0F-34-81:run$ time cat /mnt/Files/ubuntu-11.10-desktop-amd64+mac.iso > /dev/null real 0m16.139s user 0m0.005s sys 0m0.160s root@domU-12-41-56-0F-34-81:run$ time cat /mnt/Files/ubuntu-11.10-desktop-amd64+mac.iso > /dev/null real 0m18.812s user 0m0.006s sys 0m0.177s 


рдЫреЛрдЯреА рдлрд╛рдЗрд▓реЛрдВ рдкрд░ рдЯреЗрд╕реНрдЯ GlusteFS рдмрдирд╛рдо NFSред
рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕реНрдХреЗрдЪ рдХрд┐рдпрд╛ рдЬреЛ 700 рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рддреА рд╣реИ рдФрд░ рдереЛрдбрд╝реА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рд░реЛрдХрддреА рд╣реИ:
 #!/bin/bash count=0 while [ $count -lt 700 ] do touch small_files/$count.txt openssl rand -base64 $[$count*42] > /root/small_files/$count.txt count=$[$count+1] done 


GlusterFS, рдХреЙрдкреА:
 root@domU-12-31-36-0F-71-81:~# time cp /root/small_files/* /mnt/Files/test_small/ real 0m28.318s user 0m0.010s sys 0m0.160s root@domU-12-31-36-0F-71-81:~# time cp /root/small_files/* /mnt/Files/test_small/ real 0m27.432s user 0m0.000s sys 0m0.170s root@domU-12-31-36-0F-71-81:~# time cp /root/small_files/* /mnt/Files/test_small/ real 0m29.397s user 0m0.010s sys 0m0.150s 

рдПрдирдПрдлрдПрд╕ рдХреЙрдкреА:
 root@domU-12-41-39-01-D1-71:~# time cp /root/small_files/* /mnt/Files/test_small/ real 0m15.848s user 0m0.008s sys 0m0.061s root@domU-12-41-39-01-D1-71:~# time cp /root/small_files/* /mnt/Files/test_small/ real 0m12.792s user 0m0.002s sys 0m0.070s root@domU-12-41-39-01-D1-71:~# time cp /root/small_files/* /mnt/Files/test_small/ real 0m13.417s user 0m0.006s sys 0m0.049s 


GlusterFS, рд╣рдЯрд╛рдирд╛:
 root@domU-12-31-36-0F-71-81:~# time rm /mnt/Files/test_small/* real 0m5.050s user 0m0.060s sys 0m0.000s root@domU-12-31-36-0F-71-81:~# time rm /mnt/Files/test_small/* real 0m7.055s user 0m0.000s sys 0m0.060s root@domU-12-31-36-0F-71-81:~# time rm /mnt/Files/test_small/* real 0m5.300s user 0m0.040s sys 0m0.020s 

рдПрдирдПрдлрдПрд╕ рд╣рдЯрд╛рдиреЗ:
 root@domU-12-41-39-01-D1-71:~# time rm /mnt/Files/test_small/* real 0m4.861s user 0m0.003s sys 0m0.013s root@domU-12-41-39-01-D1-71:~# time rm /mnt/Files/test_small/* real 0m3.618s user 0m0.002s sys 0m0.007s root@domU-12-41-39-01-D1-71:~# time rm /mnt/Files/test_small/* real 0m4.297s user 0m0.003s sys 0m0.024s 


UPD: NFS рдФрд░ GlusterFS рдХреЗ рд▓рд┐рдП рдЫреЛрдЯреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рдЬреЛрдбрд╝реЗ рдЧрдП рдкрд░реАрдХреНрд╖рдгред

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


All Articles