{"id":83100,"date":"2020-05-28T13:42:10","date_gmt":"2020-05-28T11:42:10","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/bekap-hranilishhe-dlya-tysyach-virtualnyh-mashin-svobodnymi-instrumentami"},"modified":"2020-05-28T13:42:10","modified_gmt":"2020-05-28T11:42:10","slug":"bekap-hranilishhe-dlya-tysyach-virtualnyh-mashin-svobodnymi-instrumentami","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/bekap-hranilishhe-dlya-tysyach-virtualnyh-mashin-svobodnymi-instrumentami","title":{"rendered":"Almacenamiento de copias de seguridad para miles de m\u00e1quinas virtuales con herramientas gratuitas","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Almacenamiento de copias de seguridad para miles de m\u00e1quinas virtuales con herramientas gratuitas\" src=\"\/wp-content\/uploads\/2020\/05\/e1be85f9fdec702ce8db043ac72dd507.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Hola, recientemente me encontr\u00e9 con un interesante desaf\u00edo para configurar un almacenamiento para hacer copias de seguridad de una gran cantidad de dispositivos de bloques.<\/p>\n<p><\/p>\n<p>Cada semana realizamos copias de seguridad de todas las m\u00e1quinas virtuales en nuestra nube, por lo que necesitamos ser capaces de gestionar miles de copias de seguridad y hacerlo de la manera m\u00e1s r\u00e1pida y eficiente posible.<\/p>\n<p><\/p>\n<p>Desafortunadamente, las configuraciones est\u00e1ndar <strong>RAID5<\/strong>, <strong>RAID6<\/strong> en este caso no nos servir\u00e1n porque el proceso de recuperaci\u00f3n en discos tan grandes como los nuestros ser\u00e1 tediosamente largo y probablemente nunca terminar\u00e1.<\/p>\n<p><\/p>\n<p>Veamos qu\u00e9 alternativas hay:<\/p>\n<p><\/p>\n<p><strong><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.min.io\/docs\/minio-erasure-code-quickstart-guide.html\">Erasure Coding<\/a><\/noindex><\/strong> \u2014 Equivalente a RAID5, RAID6, pero con un nivel de paridad configurable. En este caso, la redundancia se realiza no por bloques, sino para cada objeto por separado. La forma m\u00e1s sencilla de probar el erasure coding es desplegar <noindex><a rel=\"nofollow\" href=\"https:\/\/min.io\/\">minio<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><strong><noindex><a rel=\"nofollow\" href=\"https:\/\/openzfs.github.io\/openzfs-docs\/Basic%20Concepts\/dRAID%20Howto.html?highlight=draid\">DRAID<\/a><\/noindex><\/strong> \u2014 es una caracter\u00edstica a\u00fan no lanzada de ZFS. A diferencia de RAIDZ, DRAID tiene un bloque de paridad distribuido y al recuperarse involucra todos los discos del arreglo, lo que le permite manejar mejor las fallas de los discos y recuperarse m\u00e1s r\u00e1pido despu\u00e9s de un fallo. <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><img decoding=\"async\" alt=\"Almacenamiento de copias de seguridad para miles de m\u00e1quinas virtuales con herramientas gratuitas\" src=\"\/wp-content\/uploads\/2020\/05\/aa867bbd4f52501c8708636d2cd1fb27.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Almacenamiento de copias de seguridad para miles de m\u00e1quinas virtuales con herramientas gratuitas\" src=\"\/wp-content\/uploads\/2020\/05\/47b0a233d5db5b66472e17fb5a822fad.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Dispongo de un servidor <strong>Fujitsu Primergy RX300 S7<\/strong> con un procesador <strong>Intel Xeon CPU E5-2650L 0 @ 1.80GHz<\/strong>, nueve m\u00f3dulos de memoria RAM <strong>Samsung DDR3-1333 8Gb PC3L-10600R ECC Registered (M393B1K70DH0-YH9)<\/strong>, una cabina de discos <strong>Supermicro SuperChassis 847E26-RJBOD1<\/strong>, conectada a trav\u00e9s de <strong>Dual LSI SAS2X36 Expander<\/strong> y 45 discos <strong>Seagate ST6000NM0115-1YZ110<\/strong> en <strong>6TB<\/strong> cada uno.<\/p>\n<p><\/p>\n<p>Antes de tomar una decisi\u00f3n, primero necesitamos probar todo adecuadamente.<\/p>\n<p><\/p>\n<p>Para ello me prepar\u00e9 y realic\u00e9 pruebas de diversas configuraciones. Utilic\u00e9 minio, que actu\u00f3 como un backend S3, y lo ejecut\u00e9 en diferentes modos con diversas cantidades de targets.<\/p>\n<p><\/p>\n<p>Principalmente se prob\u00f3 el caso de minio en erasure coding vs software raid con la misma cantidad de discos y discos de paridad, que son: RAID6, RAIDZ2 y DRAID2.<\/p>\n<p><\/p>\n<blockquote><p>Para referencia: cuando inicias minio con un solo target, minio opera en modo S3 gateway, ofreciendo tu sistema de archivos local como un almacenamiento S3. Sin embargo, si inicias minio indicando m\u00faltiples targets, se activar\u00e1 autom\u00e1ticamente el modo Erasure Coding, que distribuir\u00e1 los datos entre tus targets garantizando resistencia a fallos.<\/p>\n<p>Por defecto, minio divide los objetivos en grupos de 16 discos, donde cada grupo tiene 2 paridades. Es decir, dos discos pueden fallar simult\u00e1neamente sin p\u00e9rdida de datos.<\/p><\/blockquote>\n<p>Para probar el rendimiento, utilic\u00e9 16 discos de 6TB cada uno y escrib\u00ed en ellos peque\u00f1os objetos de 1MB, lo cual describ\u00eda con precisi\u00f3n nuestra carga futura, ya que todas las herramientas modernas de respaldo dividen los datos en bloques de varios megabytes y los escriben de esa manera.<\/p>\n<p><\/p>\n<p>Para realizar el benchmark se utiliz\u00f3 la herramienta s3bench ejecutada en un servidor remoto, que envi\u00f3 a minio decenas de miles de tales objetos en cien hilos. Luego intent\u00f3 solicitarlos de la misma manera.<\/p>\n<p><\/p>\n<p>Los resultados del benchmark se presentan en la siguiente tabla:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Almacenamiento de copias de seguridad para miles de m\u00e1quinas virtuales con herramientas gratuitas\" src=\"\/wp-content\/uploads\/2020\/05\/218a14dcd9311e4b350a3b7aafbd290c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Como podemos ver, minio en modo propio de erasure coding trabaja significativamente peor en escritura que minio ejecutado sobre RAID6, RAIDZ2 y DRAID2 en la misma configuraci\u00f3n.<\/p>\n<p><\/p>\n<p>Me <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/sds_ru\/15987\">pidieron<\/a><\/noindex> probar minio en ext4 vs XFS. Sorprendentemente, para mi tipo de carga, XFS result\u00f3 ser significativamente m\u00e1s lento que ext4.<\/p>\n<p><\/p>\n<p>En la primera serie de pruebas, Mdadm mostr\u00f3 superioridad sobre ZFS, pero luego <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/gmelikov\/\" class=\"user_link\">gmelikov<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/sds_ru\/15724\">sugiri\u00f3<\/a><\/noindex>, que se puede mejorar el rendimiento de ZFS instalando las siguientes opciones:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">xattr=sa atime=off recordsize=1M<\/code><\/pre>\n<p><\/p>\n<p>y despu\u00e9s de eso, las pruebas con ZFS fueron mucho mejores.<\/p>\n<p><\/p>\n<p>Tambi\u00e9n se puede notar que DRAID no proporciona una ventaja significativa en rendimiento sobre RAIDZ, pero en teor\u00eda deber\u00eda ser mucho m\u00e1s seguro.<\/p>\n<p><\/p>\n<p>En las \u00faltimas dos pruebas tambi\u00e9n intent\u00e9 mover los metadatos (special) y ZIL (log) a un espejo de SSD. Sin embargo, mover los metadatos no proporcion\u00f3 una ventaja significativa en velocidad de escritura, y al mover ZIL mis <noindex><a rel=\"nofollow\" href=\"https:\/\/www.memory4less.com\/intel-ssd-ssdsc2ki128g8\">SSDSC2KI128G8<\/a><\/noindex> se encontraron con un l\u00edmite del 100% de utilizaci\u00f3n, por lo que considero que esta prueba ha sido fallida. No descarto que si hubiera tenido discos SSD m\u00e1s r\u00e1pidos, podr\u00eda haber mejorado significativamente mis resultados, pero, desafortunadamente, no los tuve.<\/p>\n<p><\/p>\n<p>En conclusi\u00f3n, decid\u00ed detenerme en el uso de DRAID y, a pesar de su estado beta, es la soluci\u00f3n m\u00e1s r\u00e1pida y efectiva para el almacenamiento en nuestro caso.<\/p>\n<p><\/p>\n<p>Cre\u00e9 un DRAID2 sencillo en una configuraci\u00f3n con tres grupos y dos spares distribuidos:<\/p>\n<p><\/p>\n<pre><code class=\"bash\"># zpool status data\n  pool: data\n state: ONLINE\n  scan: none requested\nconfig:\n\n    NAME                 STATE     READ WRITE CKSUM\n    data                 ONLINE       0     0     0\n      draid2:3g:2s-0     ONLINE       0     0     0\n        sdy              ONLINE       0     0     0\n        sdam             ONLINE       0     0     0\n        sdf              ONLINE       0     0     0\n        sdau             ONLINE       0     0     0\n        sdab             ONLINE       0     0     0\n        sdo              ONLINE       0     0     0\n        sdw              ONLINE       0     0     0\n        sdak             ONLINE       0     0     0\n        sdd              ONLINE       0     0     0\n        sdas             ONLINE       0     0     0\n        sdm              ONLINE       0     0     0\n        sdu              ONLINE       0     0     0\n        sdai             ONLINE       0     0     0\n        sdaq             ONLINE       0     0     0\n        sdk              ONLINE       0     0     0\n        sds              ONLINE       0     0     0\n        sdag             ONLINE       0     0     0\n        sdi              ONLINE       0     0     0\n        sdq              ONLINE       0     0     0\n        sdae             ONLINE       0     0     0\n        sdz              ONLINE       0     0     0\n        sdan             ONLINE       0     0     0\n        sdg              ONLINE       0     0     0\n        sdac             ONLINE       0     0     0\n        sdx              ONLINE       0     0     0\n        sdal             ONLINE       0     0     0\n        sde              ONLINE       0     0     0\n        sdat             ONLINE       0     0     0\n        sdaa             ONLINE       0     0     0\n        sdn              ONLINE       0     0     0\n        sdv              ONLINE       0     0     0\n        sdaj             ONLINE       0     0     0\n        sdc              ONLINE       0     0     0\n        sdar             ONLINE       0     0     0\n        sdl              ONLINE       0     0     0\n        sdt              ONLINE       0     0     0\n        sdah             ONLINE       0     0     0\n        sdap             ONLINE       0     0     0\n        sdj              ONLINE       0     0     0\n        sdr              ONLINE       0     0     0\n        sdaf             ONLINE       0     0     0\n        sdao             ONLINE       0     0     0\n        sdh              ONLINE       0     0     0\n        sdp              ONLINE       0     0     0\n        sdad             ONLINE       0     0     0\n    spares\n      s0-draid2:3g:2s-0  AVAIL   \n      s1-draid2:3g:2s-0  AVAIL   \n\nerrors: No known data errors<\/code><\/pre>\n<p>Bien, ya hemos resuelto el almacenamiento, ahora hablemos de lo que vamos a utilizar para el respaldo. Aqu\u00ed quiero hablar de tres soluciones que logr\u00e9 probar, que son:<\/p>\n<p><\/p>\n<p><strong><noindex><a rel=\"nofollow\" href=\"https:\/\/benji-backup.me\">Benji Backup<\/a><\/noindex><\/strong> \u2014 un fork <noindex><a rel=\"nofollow\" href=\"http:\/\/backy2.com\/\">Backy2<\/a><\/noindex>, soluci\u00f3n especializada para la copia de seguridad de dispositivos de bloques, tiene una integraci\u00f3n estrecha con Ceph. Puede recoger las diferencias entre instant\u00e1neas y formar un respaldo incremental a partir de ellas. Soporta una gran cantidad de nodos de almacenamiento, tanto locales como S3. Requiere una base de datos separada para almacenar la tabla hash de desduplicaci\u00f3n. Entre sus desventajas: est\u00e1 escrito en Python y tiene un CLI algo poco receptivo.<\/p>\n<p><\/p>\n<p><strong><noindex><a rel=\"nofollow\" href=\"https:\/\/borgbackup.readthedocs.io\/en\/stable\/\">Borg Backup<\/a><\/noindex><\/strong> \u2014 un fork <noindex><a rel=\"nofollow\" href=\"https:\/\/attic-backup.org\/\">Attic<\/a><\/noindex>, un medio bien conocido y confiable para la copia de seguridad, puede respaldar datos y los deduplica de manera eficiente. Puede guardar copias de seguridad tanto localmente como en un servidor remoto a trav\u00e9s de scp. Puede respaldar dispositivos de bloques si se ejecuta con la bandera <code>--special<\/code>, entre sus desventajas: al crear una copia de seguridad, se bloquea completamente el repositorio, por lo que se recomienda crear un repositorio separado para cada m\u00e1quina virtual. En principio, esto no es un problema, ya que se crean con mucha facilidad.<\/p>\n<p><\/p>\n<p><strong><noindex><a rel=\"nofollow\" href=\"https:\/\/restic.net\/\">Restic<\/a><\/noindex><\/strong> \u2014 un proyecto en activo desarrollo, escrito en Go, es bastante r\u00e1pido y soporta una gran cantidad de backends de almacenamiento, incluyendo almacenamiento local, scp, S3 y muchos m\u00e1s. Es importante destacar que hay un <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/restic\/rest-server\">rest-server<\/a><\/noindex> para restic, que permite exportar el almacenamiento de manera m\u00e1s r\u00e1pida para uso remoto. De todos los anteriores, me gust\u00f3 m\u00e1s. Puede respaldo desde stdin. No tiene desventajas notables, pero hay algunas peculiaridades:<\/p>\n<p><\/p>\n<ul>\n<li>\n<p>Primero, intent\u00e9 usarlo en modo de repositorio compartido para todas las m\u00e1quinas virtuales (como Benji) y funcion\u00f3 bastante bien, pero las operaciones de restauraci\u00f3n tardaban mucho, ya que cada vez, antes de restaurar, restic intenta leer los metadatos de todas las copias de seguridad. Este problema se resolvi\u00f3 f\u00e1cilmente, al igual que con Borg, creando un repositorio separado para cada m\u00e1quina virtual. Este enfoque result\u00f3 ser muy efectivo tambi\u00e9n para la gesti\u00f3n de copias de seguridad. Los repositorios separados pueden tener una contrase\u00f1a espec\u00edfica para acceder a los datos, y tambi\u00e9n podemos estar tranquilos sabiendo que el repositorio global no se da\u00f1ar\u00e1 de ninguna manera. Crear nuevos repositorios es tan simple como en Borg Backup.<\/p>\n<p><\/p>\n<p>En cualquier caso, la deduplicaci\u00f3n se realiza solo en relaci\u00f3n con la versi\u00f3n anterior de la copia de seguridad; la copia anterior se define por la ruta del respaldo especificado. As\u00ed que, si est\u00e1s respaldando diferentes objetos desde stdin en un repositorio compartido, no olvides indicar la opci\u00f3n <code>--stdin-filename<\/code>, o especificar expl\u00edcitamente la opci\u00f3n cada vez <code>--parent<\/code>.<\/p>\n<p>\n<\/li>\n<\/ul>\n<p><\/p>\n<ul>\n<li>\n<p>En segundo lugar, la restauraci\u00f3n en stdout lleva significativamente m\u00e1s tiempo que la restauraci\u00f3n en el sistema de archivos debido a su paralelismo. En el futuro, se planea agregar un soporte m\u00e1s estrecho para las copias de seguridad de dispositivos de bloques.<\/p>\n<p>\n<\/li>\n<li>\n<p>En tercer lugar, en este momento se recomienda usar <noindex><a rel=\"nofollow\" href=\"https:\/\/beta.restic.net\/?sort=time&amp;order=desc\">la versi\u00f3n de master<\/a><\/noindex>, ya que la versi\u00f3n 0.9.6 tiene un error con la lenta restauraci\u00f3n de archivos grandes.<\/p>\n<p>\n<\/li>\n<\/ul>\n<p><\/p>\n<p>Para probar la eficacia de la copia de seguridad y la velocidad de escritura\/restauraci\u00f3n desde la copia de seguridad, cre\u00e9 un repositorio separado y trat\u00e9 de respaldar una peque\u00f1a imagen de m\u00e1quina virtual (21 GB). Se realizaron dos copias de seguridad sin modificar el original, utilizando cada una de las soluciones enumeradas para verificar cu\u00e1n r\u00e1pido\/lento se copian los datos deduplicados.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Almacenamiento de copias de seguridad para miles de m\u00e1quinas virtuales con herramientas gratuitas\" src=\"\/wp-content\/uploads\/2020\/05\/acab0d9f0d535e29ff272fef4e92de0f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Como podemos notar, Borg Backup tiene el mejor coeficiente de eficiencia en la copia de seguridad inicial, pero pierde en velocidad tanto de escritura como de restauraci\u00f3n.<\/p>\n<p><\/p>\n<p>Restic result\u00f3 ser m\u00e1s r\u00e1pido que Benji Backup, pero restaura m\u00e1s lento en stdout, y lamentablemente a\u00fan no sabe escribir directamente en un dispositivo de bloques.<\/p>\n<p><\/p>\n<p>Sopesando todo lo bueno y lo malo, decid\u00ed parar en <strong>restic<\/strong> con <strong>rest-server<\/strong> como la soluci\u00f3n de respaldo m\u00e1s conveniente y prometedora.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/asciinema.org\/a\/333393\"><img decoding=\"async\" alt=\"Almacenamiento de copias de seguridad para miles de m\u00e1quinas virtuales con herramientas gratuitas\" src=\"\/wp-content\/uploads\/2020\/05\/cb174ab1522f529dea0712b64c0ac923.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>En este screencast, puedes ver c\u00f3mo un canal de 10 gigabits se utiliza completamente durante varias operaciones de respaldo que se ejecutan simult\u00e1neamente. Es notable que la utilizaci\u00f3n de los discos no supera el 30%.<\/p>\n<p><\/p>\n<p>\u00a1Estoy m\u00e1s que satisfecho con la soluci\u00f3n obtenida!<\/p>\n<p>Fuente: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/504152\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u043c\u043d\u0435 \u043f\u043e\u043f\u0430\u043b\u0430\u0441\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u043a\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u043b\u044f \u0431\u044d\u043a\u0430\u043f\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0431\u043b\u043e\u0447\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432. \u041a\u0430\u0436\u0434\u0443\u044e \u043d\u0435\u0434\u0435\u043b\u044e \u043c\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0435 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d \u0432 \u043d\u0430\u0448\u0435\u043c \u043e\u0431\u043b\u0430\u043a\u0435, \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043d\u0443\u0436\u043d\u043e \u0443\u043c\u0435\u0442\u044c \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0442\u044c \u0442\u044b\u0441\u044f\u0447\u0438 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u044b\u0445 \u043a\u043e\u043f\u0438\u0439 \u0438 \u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u0438 \u044d\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 RAID5, RAID6 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0430\u043c \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0442\u044f\u0442 \u0432 \u0432\u0438\u0434\u0443 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":83101,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-83100","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/bekap-hranilishhe-dlya-tysyach-virtualnyh-mashin-svobodnymi-instrumentami\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0411\u044d\u043a\u0430\u043f-\u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u043b\u044f \u0442\u044b\u0441\u044f\u0447 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/bekap-hranilishhe-dlya-tysyach-virtualnyh-mashin-svobodnymi-instrumentami\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-28T11:42:10+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-28T11:42:10+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Almacenamiento de copias de seguridad para miles de m\u00e1quinas virtuales con herramientas gratuitas | ProHoster","description":"Hola.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/bekap-hranilishhe-dlya-tysyach-virtualnyh-mashin-svobodnymi-instrumentami","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0411\u044d\u043a\u0430\u043f-\u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u043b\u044f \u0442\u044b\u0441\u044f\u0447 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438 | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442.","og:url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/bekap-hranilishhe-dlya-tysyach-virtualnyh-mashin-svobodnymi-instrumentami","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-28T11:42:10+00:00","article:modified_time":"2020-05-28T11:42:10+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"83100","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:25:22","updated":"2022-09-28 15:47:37","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/83100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=83100"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/83100\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/83101"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=83100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=83100"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=83100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}