{"id":1410,"date":"2015-06-23T12:44:19","date_gmt":"2015-06-23T18:44:19","guid":{"rendered":"https:\/\/www.lastdragon.net\/?p=1410"},"modified":"2015-06-23T12:46:09","modified_gmt":"2015-06-23T18:46:09","slug":"archivo-disperso-o-thin-provisioning","status":"publish","type":"post","link":"https:\/\/www.lastdragon.net\/?p=1410","title":{"rendered":"Archivo Disperso o Thin provisioning"},"content":{"rendered":"<p>Mis lectores mas antiguos recordaran un articulo llamado<\/p>\n<p><a href=\"https:\/\/www.lastdragon.net\/?p=159\">\u00bfComo comprime 650MB en 1MB?<\/a><\/p>\n<p>El actual es un articulo muy similar trata de un comportamiento muy com\u00fan en las virtualizaciones de disco duro de cualquier software mediamente bueno.<\/p>\n<p>A esta t\u00e9cnica se le llama Archivo Disperso o Thin provisioning. Este tipo de archivo tiene un comportamiento especial, simula tener un espacio f\u00edsico que realmente no tiene, incluso puede tener un tama\u00f1o irreal, por ejemplo almacenar un archivo de 5000 TB en un disco duro 1 GB y es completamente valido y usable en teor\u00eda.<\/p>\n<p><strong>\u00bf Donde usar archivos as\u00ed ?<\/strong><\/p>\n<p>Prueba de sistemas de archivos, simulaci\u00f3n, como un programador que escribe el driver del ext2, el ext3, XFS, ext4, etc. probando los limites de su  sistema de archivos sin tener que comprar decenas de discos y arreglarlos ( RAID-0 ) , esto les permite crear lugares de trabajo virtual, algunos sistemas de archivos soportan discos te\u00f3ricos que simplemente hoy en el 2015 no existen<\/p>\n<p>En las maquinas virtuales es obvio, puedes asignarles discos virtuales de tama\u00f1os generosos, el archivo Thin provisioning solo ocupara el espacio real de lo que este almacenado en la maquina de virtual, asi que si el archivo Thin provisioning es de 50 GB pero realmente solo est\u00e1n almacenados 2 GB f\u00edsicamente solo ocupara esos 2GB  en disco, dejando el resto del espacio fisico para otras maquinas virtuales, que igualmente podr\u00edan tener discos virtuales de 100GB, 500GB aunque el disco duro solo tenga un m\u00e1ximo f\u00edsico de 200 GB<\/p>\n<p><strong>\u00bf Para que querr\u00edas un archivo as\u00ed ?<\/strong><\/p>\n<p>Este tipo de archivos son ideales para la escalacion de recursos, por ejemplo en una maquina virtual para un proyecto que se le ha dado un disco virtual  Thin provisioning de 500 GB pero f\u00edsicamente el servidor de virtualizacion solo tiene 200 GB , el departamento de T.I. Sabe que en el futuro la maquina requerir\u00e1 esos 500 GB realmente , pero no hoy, hoy solo necesita 150 GB que es lo que est\u00e1n usando realmente, aunque eventualmente su almacenamiento crecer\u00e1, tiene tiempo de hacer su requerimiento de compra  de mas discos duros, mientras tanto la maquina virtual del proyecto ya esta trabajando y no se frena por que el DEPTO de T.I. No tiene el recursos en ese momento.<\/p>\n<p><strong>\u00bf Como hago un archivo disperso o Thin provisioning ?<\/strong><\/p>\n<p>Este tipo de archivo en realidad debe estar recursivamente soportado pro el sistema de archivos que lo va a contener, asi que cualquier sistema moderno deberia poder soportarlo, en los sistemas tipo Unix como GNU\/Linux pr\u00e1cticamente todos los sistemas de archivos como XFS, EXT2,3,4 y otros lo soportan, el NTFS en Windows tambi\u00e9n lo soporta.<\/p>\n<p>En GNU\/Linux hay 2 formas faciles de crear manualmente este tipo de archivos, con los comandos dd y truncate<\/p>\n<p>usando dd<\/p>\n<p><code>dd if=\/dev\/zero of=archivodisperso.img bs=1k seek=50G<\/code><\/p>\n<p>usando truncate<\/p>\n<p><code>truncate -s 50G archivodisperso.img<\/code><\/p>\n<p>Ambos comandos hacen el mismo archivo, un archivo que solo ocupa f\u00edsicamente 1Kbyte pero virtualmente es de 50 Gbytes<\/p>\n<p>una vez con un archivo de este tipo se puede dar formato con el sistema de archivos favorito.<\/p>\n<p><code>mkfs.ext4 archivodisperso.img<\/code><\/p>\n<p>y montarlo como tal<\/p>\n<p><code>mount archivodisperso \/mnt\/algunpuntodemontado<\/code><\/p>\n<p>para este articulo simule un servidor de archivos con un almacenamiento de 2000 Terabytes.<\/p>\n<p>Use Btrfs  por que ext2,3,4 inclusive XFS tardan demasiado en crear el FS con un disco duro tan gigantesco<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.lastdragon.net\/misarchivos\/teradisk.jpg\" alt=\"Archivo Disperso o Thin provisioning\" width=\"425\" height=\"350\" \/><br \/>\n<a href=\"https:\/\/www.lastdragon.net\/misarchivos\/teradisk.jpg\">Ver mas grande<\/a><\/p>\n<p><strong>un v\u00eddeo demostrativo.<\/strong><\/p>\n<p><iframe loading=\"lazy\" width=\"420\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/VlhUA37afcw\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mis lectores mas antiguos recordaran un articulo llamado \u00bfComo comprime 650MB en 1MB? El actual es un articulo muy similar trata de un comportamiento muy com\u00fan en las virtualizaciones de disco duro de cualquier software mediamente bueno. A esta t\u00e9cnica se le llama Archivo Disperso o Thin provisioning. Este tipo de archivo tiene un comportamiento&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1410","post","type-post","status-publish","format-standard","hentry","category-personal"],"_links":{"self":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/1410","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=1410"}],"version-history":[{"count":2,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/1410\/revisions"}],"predecessor-version":[{"id":1412,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/1410\/revisions\/1412"}],"wp:attachment":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1410"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1410"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1410"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}