{"id":2117,"date":"2019-04-17T00:40:12","date_gmt":"2019-04-17T06:40:12","guid":{"rendered":"https:\/\/www.lastdragon.net\/?p=2117"},"modified":"2019-04-17T00:40:27","modified_gmt":"2019-04-17T06:40:27","slug":"glusterfs-sobre-centos-7-el-sistema-de-archivos-distribuido-facil-de-implementar","status":"publish","type":"post","link":"https:\/\/www.lastdragon.net\/?p=2117","title":{"rendered":"GlusterFS sobre CentOS 7 &#8211; el sistema de archivos distribuido f\u00e1cil de implementar."},"content":{"rendered":"\n<p>A diferencia de otros sistema de archivos como <a href=\"https:\/\/www.lastdragon.net\/?p=1574\">GFS sobre ISCSI<\/a> , GlusterFS es un sistema de archivos que se ejecuta en el espacio de usuario con fuse, tiene sus pros y contras<\/p>\n\n\n\n<p><strong>PRO<\/strong><br \/> -Es muy similar incluso compatible con NFS<br \/> -Es muy similar a los vol\u00famenes de BTRFS en el sentido que incluye un tipo de RAID 0,1 y mezclas que pueden dar lugar a 5 u otros RAID lo que incluso permite tolerancia a fallos si caen bricks.<br \/> -F\u00e1cil de configurar<br \/> -Muy veloz cuando los servidores se encuentran dentro del mismo datacenter y site, mejor si est\u00e1n conectados con swiches gigabit y\/o fibra<\/p>\n\n\n\n<p><strong>Contras<\/strong>.<br \/> -No es muy eficiente en sobre VPN o sobre hosts que no se encuentran en Internet, especialmente si se usara para hosting de PHP con sitios como wordpress que hacen mucho uso de llamados de archivos PHP.<\/p>\n\n\n\n<p><strong>Glosario<\/strong><br \/> Brick \u2013 Los ladrillos hacen el equivalente de dispositivo de bloques, se refieren a directorios que pueden estar montados sobre cualquier FS local, por ejemplo. XFS, Ext3\/4 , BTRFS, NTFS y otros. Por lo que est\u00e1n abstra\u00eddos del sistema de operativo o del sistema de archivos<\/p>\n\n\n\n<p><strong>Estrategias Distributed, Replicated y Striped<\/strong><\/p>\n\n\n\n<p>Distributed : un archivo est\u00e1 en un ladrillo y el siguiente archivo est\u00e1 en el siguiente ladrillo. Esta estrategia te da m\u00e1s espacio porque tu volumen es la suma de todos los ladrillos.<br \/>\nReplicated: cada archivo se copia en cada brick, por lo que hay copias completas y espejeadas de cada de archivo entre todos los bricks<br \/>\nStriped : los archivos se cortan en trozos, y un trozo se escribe en el primer ladrillo, un trozo se escribe en el segundo ladrillo, y as\u00ed sucesivamente.<\/p>\n\n\n\n<p><strong>Instalar los siguientes paquetes<br \/><\/strong> yum install centos-release-gluster41.noarch -y<br \/> yum install glusterfs gluster-cli glusterfs-libs glusterfs-server -y<\/p>\n\n\n\n<p><strong>Arrancar el servicio de GlusterFS y asegurarse que este diponible despu\u00e9s de cada reinicio del equipo<\/strong><\/p>\n\n\n\n<p>systemctl start glusterd ; systemctl enable glusterd<\/p>\n\n\n\n<p><strong>Agregar las ips al archivo \/etc\/hosts, sean de VPN, globales de internet o privadas en el site<\/strong><\/p>\n\n\n\n<p>Para este articulo ser\u00e1n:<\/p>\n\n\n\n<p>192.168.10.133 g1<br \/>\n192.168.10.132 g2<br \/>\n192.168.10.131 g3<\/p>\n\n\n\n<p><strong>Construyendo el cluster, permitiendo que GlusterFS sepa con que servidores cuenta<\/strong><\/p>\n\n\n\n<p>gluster peer probe g2<br \/>\ngluster peer probe g3<\/p>\n\n\n\n<p>** G1 falta por que al hacerlo desde el PC numero 1 este no es requerido y responder\u00e1 un error como &#8220;peer probe: success. Probe on localhost not needed&#8221;. si la configuraci\u00f3n la hacemos desde el PC 3 ser\u00e1 el 3 el que hay que omitir, aunque intentar agregarlo no causa ning\u00fan problema fuera del error de que no es necesario.<\/p>\n\n\n\n<p>Despu\u00e9s del peer probe, se puede ver si se han conectado los equipos remotos con el comando<\/p>\n\n\n\n<p>gluster peer status<\/p>\n\n\n\n<p><strong>Una vez que los peers ( servidores ) est\u00e1n conectados se deben crear los bricks <\/strong><\/p>\n\n\n\n<p>Crear los bricks que no son otra cosa que directorios que ser\u00e1n exportados al estilo NFS<\/p>\n\n\n\n<p>Ej. mkdir \/gluster\/<\/p>\n\n\n\n<p>*** Se puede crear un volumen exportando un directorio de la particion root, pero siempre es mejor que cada volumen tenga su propia partici\u00f3n y sistema de archivos local como Ext4 o BTRFS<br \/>\n*** El directorio del volumen no debe ser la ra\u00edz de la partici\u00f3n, por lo que deber\u00edan crearse subdirectorios por cada volumen<br \/>\nej. mkdir \/gluster\/vol1<\/p>\n\n\n\n<p>** Deben crearse las subcarpetas de volumen en cada uno de los peers remotos<\/p>\n\n\n\n<p><strong>Creando un volumen replicado\/mirror<\/strong><\/p>\n\n\n\n<p>gluster volume create NombreDelVolumen replica 3 transport tcp g1:\/gluster\/vol1\/ g2:\/gluster\/vol1\/ g3:\/gluster\/vol1\/<\/p>\n\n\n\n<p>** El numero seguido de del m\u00e9todo \u201c replica \u201c , el numero 3 indica que seran replicados 3 archivos completos en cada brick, siendo que el cluster es de 3 peers significa que cada peer tendr\u00e1 una copia exacta de cada archivo<\/p>\n\n\n\n<p><strong>Creando un volumen similar a RAID 5<br \/><\/strong> gluster volume create NombreDelVolumen replica 1 transport tcp g1:\/gluster\/vol1\/ g2:\/gluster\/vol1\/ g3:\/gluster\/vol1\/ g4:\/gluster\/vol1\/ g5:\/gluster\/vol1\/<\/p>\n\n\n\n<p>** Al decirle que la replica ser\u00e1 solo 1, solo un servidor tendr\u00e1 una copia completa de los archivos, el resto de los equipos o peers contendr\u00e1n fragmentos de los archivos aumentando el espacio de almacenamiento como lo har\u00eda un RAID 5 que sumaria el espacio de 4 discos y 1 de paridad <br \/>\nDespu\u00e9s de creado el volumen, este debe iniciarse para que este listo para servir y montarse<\/p>\n\n\n\n<p>gluster volume start NombreDelVolumen<\/p>\n\n\n\n<p>** Ya se pueden montarse y usarse<br \/>\n** Ver las estados de los vol\u00famenes<\/p>\n\n\n\n<p>gluster volume status<\/p>\n\n\n\n<p><strong>Agregar otro Peer y otro brick a un volumen replicate<br \/><\/strong> Agegar su IP en los archivos hosts de cada peer 192.168.10.127 g4<br \/> gluster peer probe g4<br \/> gluster volume add-brick NombreDelVolumen replica 4 g4:\/gluster\/vol1\/<\/p>\n\n\n\n<p>** El Replica 4 le indica que ahora que son 4 peers, tambi\u00e9n quiere que el nuevo peer tenga una copia exacta de los archivos tal como los anteriores 3 peers<\/p>\n\n\n\n<p><strong>Remover un brick<\/strong><\/p>\n\n\n\n<p>gluster volume remove-brick espejo replica 3 g4:\/gluster\/vol1\/ force<\/p>\n\n\n\n<p>** Force es porque se trata de un volumen tipo replicate ( mirror ), lo que simplemente obligara a sacarlo de inventario pero no afecta al resto que tienen copias exactas de los archivos, seria start en lugar de force si se trata de un volumen distribuido o stripe<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A diferencia de otros sistema de archivos como GFS sobre ISCSI , GlusterFS es un sistema de archivos que se ejecuta en el espacio de usuario con fuse, tiene sus pros y contras PRO -Es muy similar incluso compatible con NFS -Es muy similar a los vol\u00famenes de BTRFS en el sentido que incluye un&#8230;<\/p>\n","protected":false},"author":1,"featured_media":2118,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-2117","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-consultoria-y-manuales"],"_links":{"self":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/2117","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2117"}],"version-history":[{"count":1,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/2117\/revisions"}],"predecessor-version":[{"id":2119,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/2117\/revisions\/2119"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/media\/2118"}],"wp:attachment":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2117"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2117"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}