GlusterFS, рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЕрдиреБрднрд╡

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

рдкрд┐рдЫрд▓реА рдмрд╛рд░ ( GlusterFS рдХреЗ рд╕рд╛рде рдмрдврд╝рддреЗ рд╣реБрдП ) рдореИрдВрдиреЗ рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП GlusterFS 3.0.x рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдмрддрд╛рдпрд╛ред рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рд╣рдордиреЗ GlusterFS рдХреЛ 3.2.x рдкрд░ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛, рдФрд░ рдЪреВрдВрдХрд┐ рдЗрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдВрддрд░ рдереЗ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЖрдИрдЯреА рджрд┐рдорд╛рдЧ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред

рддреБрд░рдВрдд рдПрдХ рдЖрд░рдХреНрд╖рдг рдХрд░реЗрдВ рдХрд┐ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд░рдордг рдкреБрд░рд╛рдиреЗ рдХреЗ glitches рдХреЗ рдХрд╛рд░рдг рдерд╛ред
рдпрд╣ рдЕрдореЗрдЬрд╝рди рдИрдмреАрдПрд╕ рдХреА рдПрдХ рдФрд░ рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдмрд╛рдж рдерд╛ред рджреВрд╕рд░реЗ рдорд╛рд╕реНрдЯрд░ рдХреА рдбрд┐рд╕реНрдХ рдЦрд░рд╛рдм рд╣реЛ рдЧрдИ рдФрд░ рд╣рдордиреЗ рд╕реЗрд╡рд╛ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛, рдЬрдмрдХрд┐ рдмрд╣рд╛рджреБрд░ AWS рдЗрдВрдЬреАрдирд┐рдпрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░ рд░рд╣реЗ рдереЗред рд╕рдмрдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рджреВрд╕рд░реЗ рдорд╛рд╕реНрдЯрд░ рдХреЛ рдмреИрдХ рд╕реНрдХреАрдо рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдкреВрд░рдгреАрдп рд╣реЛ рдЧрдпрд╛ рдФрд░ рд╕рднреА рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдмрд╕ рд▓рдЯрдХрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдбреНрд░рд╛рдЗрд╡ рдиреЗ рдХреЙрд░реНрдиреА рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджрд┐рдпрд╛ред рдХреНрд▓рд╛рдЗрдВрдЯреНрд╕ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдереАрдВ, рдПрдХ рд▓рдВрдмреА рдЧреБрдЧрд▓реА рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдордВрдЪреЛрдВ рдкрд░ "рд╕рдВрдХреЗрдд" рдкреИрджрд╛ рд╣реБрдП рдереЗ рдХрд┐ рдРрд╕реЗ рд╣реИрдВрдЧ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рддрдп рдХрд┐рдП рдЧрдП рдереЗ, рдЬреЛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЦреБрд╢реА рдФрд░ рджреБрдЦ рджреЛрдиреЛрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛ :) рдореБрдЭреЗ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдерд╛ред

рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдИ рд╣реИ рдХрд┐ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╕реЗ рд╣рдорд╛рд░реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрдиреНрд╣реЗрдВ рдЕрдм рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдФрд░ рд╕рдм рдХреБрдЫ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдорд╛рд╕реНрдЯрд░-рдорд╛рд╕реНрдЯрд░ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд╣реЛрддреА рд╣реИ, рдФрд░ рдпрд╣ рдирдИ рдпреЛрдЬрдирд╛ рдХрд╛ рдкрд╣рд▓рд╛ рдЛрдг рд╣реИ, рдореИрдВ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЙрдирдХреА рдЪрд░реНрдЪрд╛ рдХрд░реВрдВрдЧрд╛ред

рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рд╣рдХрд░реНрдореА:

root@files1.domain.com:~# gluster peer probe files2.domain.com Probe successful 


рд╣рдо рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВ:

 root@files1.domain.com:~# gluster peer status Number of Peers: 1 Hostname: files2.domain.com Uuid: c8f2fg43-ch7e-47f3-9ec5-b4b66f81101d State: Peer in Cluster (Connected) 


рдЕрдЧрд▓рд╛, рдПрдХ рдбрд┐рд╕реНрдХ (рд╡реЙрд▓реНрдпреВрдо) рдмрдирд╛рдПрдБ:

 root@files1.domain.com:~# gluster volume create volume_data replica 2 transport tcp files1.domain.com:/data files2.domain.com:/data Creation of volume volume_data has been successful. Please start the volume to access data. 


рд╣рдо рдПрдХ рдбрд┐рд╕реНрдХ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:

 root@files1.domain.com:~# gluster volume start volume_data Starting volume volume_data has been unsuccessful 


рд╣рдо рджреЛрдиреЛрдВ рд╕реНрд╡рд╛рдореА рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдХрд░рддреЗ рд╣реИрдВ:

 /etc/init.d/glusterfs-server restart 


рдпрджрд┐ рд╕рдм рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдЪрд▓рд╛ рдЧрдпрд╛, рддреЛ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:

 root@files1.domain.com:~# gluster volume info Volume Name: volume_data Type: Replicate Status: Started Number of Bricks: 2 Transport-type: tcp Bricks: Brick1: files1.domain.com:/data Brick2: files2.domain.com:/data 


рд╣рдо рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЕрдкрдиреА рдЧреЗрдВрджреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:

 root@files1.domain.com:~# gluster volume set volume_data auth.allow 10.* 


рд╣рдо рдлрд┐рд░ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ:

 Volume Name: volume_data Type: Replicate Status: Started Number of Bricks: 2 Transport-type: tcp Bricks: Brick1: files1.domain.com:/data Brick2: files2.domain.com:/data Options Reconfigured: auth.allow: 10.* 


рд╕рд░реНрд╡рд░ рдкрд░ рд╕реЗрдЯрдЕрдк рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдЬрд╛рдПрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдХрд╛ рд╕рд╣реА рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ рдФрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╣реИред

 root@client.domain.com:~# mkdir /data root@client.domain.com:~# mount -t glusterfs files1.domain.com:/volume_data /data 


рд╣рдо рдкрд░рд┐рдгрд╛рдо рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ:

 root@client.domain.com:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 7.9G 6.6G 987M 88% / none 3.4G 112K 3.4G 1% /dev none 3.6G 0 3.6G 0% /dev/shm none 3.6G 64K 3.6G 1% /var/run none 3.6G 0 3.6G 0% /var/lock none 3.6G 0 3.6G 0% /lib/init/rw /dev/sdb 414G 6.1G 387G 2% /mnt tmpfs 10M 8.0K 10M 1% /tmp/tmpfs files1.domain.com:/ volume_data 200G 109G 92G 55% /data 


рд╣рдо client.domain.com рдкрд░ / etc / fstab рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:

 files1.domain.com:/volume_data /data glusterfs defaults,_netdev 0 0 


рдФрд░ рд░рд┐рдмреВрдЯ рдХрд░рддреЗ рд╕рдордп рдЕрдкрдиреА рдирд╕реЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдЪрд╛рд▓ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ:

 root@client.domain.com:~# umount /data root@client.domain.com:~# mount -a 


рд╣рдо рдЬрд╛рдБрдЪрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ:

 root@client.domain.com:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 7.9G 6.6G 987M 88% / none 3.4G 112K 3.4G 1% /dev none 3.6G 0 3.6G 0% /dev/shm none 3.6G 64K 3.6G 1% /var/run none 3.6G 0 3.6G 0% /var/lock none 3.6G 0 3.6G 0% /lib/init/rw /dev/sdb 414G 6.1G 387G 2% /mnt tmpfs 10M 8.0K 10M 1% /tmp/tmpfs files1.domain.com:/ volume_data 200G 109G 92G 55% /data 


рд╡рд╣ рд╕рдм рд╣реИред

рдореИрдВ рдирдП GlusterFS рдореЗрдВ рд╡рд┐рдкрдХреНрд╖ рдкрд░ рднреА рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛:

1) рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп рдСрдирд▓рд╛рдЗрди рджреЛрдиреЛрдВ рдЬрд╛рджреВрдЧрд░ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЖрдк рдкрд╣рд▓реЗ рдХрдорд╛рдВрдб рдкрд░ рд░реБрдХ рдЬрд╛рдПрдВрдЧреЗред
2) рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдореИрдВрдиреЗ рдЕрдкрдиреА рдЧреЗрдВрджреЛрдВ рдкрд░ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдХрд┐рдП рд╣реИрдВ, рдирдП рдореЗрдВ рдЖрдк рдХреЗрд╡рд▓ рд╡рд╣реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдКрдкрд░ рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ: 10. *, рдЬреЛ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ, рд╣рдореЗрд╢рд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрднреНрдпрд╛рд╕ рдирд╣реАрдВ рд╣реИред
3)
 /etc/fstab: files1.domain.com:/volume_data /data glusterfs defaults,_netdev 0 0 

рдЧреНрд▓реИрд╕реНрдЯрд░ рдХреЗ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдПрдХрд▓ рд╕рд░реНрд╡рд░ рдХрд╛ рдРрд╕рд╛ рд▓рд┐рдВрдХ рдХреЗрд╡рд▓ рд╕рд╛рдерд┐рдпреЛрдВ рдФрд░ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЗ рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рд▓реЗрдХрд┐рди!
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрджрд┐ рдПрдХ рдорд╛рд╕реНрдЯрд░ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рджреВрд╕рд░рд╛ рдХрд╣рд╛рдВ рд╣реИ, рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдШреБрдбрд╝рд╕рд╡рд╛рд░ рд╣реЛрдиреЗ рдкрд░ рд╕рдм рдХреБрдЫ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдлрд╕реЛрд╕, рдЕрдЧрд░ рдЖрдкрдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдкрдбрд╝рд╛, рддреЛ рдорд╢реАрди рдХреЛ рдЫрд╡рд┐ рд╕реЗ рдЙрдард╛рдПрдВ, рдЬрдмрдХрд┐ fstab рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реЛрд╕реНрдЯ рдЭреВрда рдмреЛрд▓ рд░рд╣рд╛ рд╣реИред рдЖрдкрдХреА рдЧреЗрдВрдж рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдирд┐рдХрд╛рд▓ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рд╡рд┐рддрд░рд┐рдд рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо, IMHO рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЧрд▓рдд рд╣реИред

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


All Articles