Offrir à la fois un service de sauvegarde en ligne illimité et le service de stockage en nuage le moins cher au monde nécessite beaucoup de stockage de données. Lorsque Backblaze a débuté, nous avions besoin d'un moyen de stocker les données de nos clients à moindre coût et en toute sécurité. Nous avons développé le Backblaze Storage Pod comme élément essentiel de notre stockage en nuage. Plus tard, nous avons regroupé 20 pods de stockage dans un Backblaze Vault pour optimiser la fiabilité et la durabilité de l'ensemble du système. Un module de stockage se compose de 45, et maintenant de 60, disques durs dans un serveur de taille 4U fabriqué à partir de pièces disponibles dans le commerce. Au fil des ans, nous avons introduit des conceptions nouvelles et améliorées et, à chaque nouvelle version, nous avons créé des logiciels libres pour la conception du matériel. C'est vrai, n'importe qui peut construire son propre serveur de stockage haute capacité pour aussi peu qu'un nickel (0,05$) par gigaoctet, et c'est exactement ce que beaucoup de gens ont fait. Joignez-vous aux millions de personnes qui ont lu comment nous rendons le stockage de données abordable depuis 2009.
Après le premier billet de blogue, quelques personnes débrouillardes ont commencé à construire des pods de stockage Backblaze pour elles-mêmes et ont commencé à envoyer des photos et des histoires de leurs pods faits maison. Ils ont adoré le fait que nous ayons publié la liste des pièces ainsi que les instructions afin qu'ils puissent modifier leur capsule pour répondre à leurs besoins uniques. Même des entreprises comme Shutterfly et Netflix ont été inspirées par la création de leurs propres pods de stockage.
Le Backblaze Storage Pod n'est qu'une partie de la création d'un service de stockage en nuage. Pour démarrer la machine, vous aurez besoin d'une couche logicielle. Backblaze utilise tous les logiciels libres, Debian et Apache, pour connecter les pods à notre réseau. En commençant par le bas, 45 disques durs sont connectés via des contrôleurs SATA. Nous utilisons ensuite l'outil fdisk sous Linux pour créer une partition par lecteur.
À ce stade, un Pod de stockage peut avoir l'une des deux personnalités suivantes : un pod de stockage individuel ou un Pod de stockage Backblaze Vault. Pour les modules de stockage individuels, nous regroupons 15 disques durs en un seul volume RAID6 avec deux disques de parité (sur les 15). La baie RAID est créée à l'aide de l'utilitaire mdadm.
Pour Backblaze Vault Storage Pods, chacun est l'un des 20 pods nécessaires pour créer un Backblaze Vault. Un Backblaze Vault divise un fichier en 20 parties (17 données et 3 parités) et place une partie du fichier sur chacun des 20 espaces de stockage du coffre-fort. Nous utilisons notre propre mise en œuvre de Reed-Solomon encoder et distribuer les fichiers sur les 20 pods, ce qui permet d'obtenir une durabilité des données de 99,99999 %. Nous avons également opté pour la mise en œuvre de l'encodage Reed-Solomon.
Pour les Pods de stockage et les Vault Pods, nous utilisons le système de fichiers EXT4 et n'autorisons l'accès à ces systèmes totalement autonomes que via HTTPS exécutant la logique de couche d'application Backblaze personnalisée dans Apache Tomcat. L'un des concepts les plus importants ici est que pour stocker ou récupérer des données avec un Backblaze Storage Pod ou un Backblaze Vault Pod, c'est toujours via HTTPS. Il n'y a ni iSCSI, ni NFS, ni SQL, ni Fibre Channel. Aucune de ces technologies n'est aussi bon marché, fiable, n'est aussi grande et ne peut être gérée aussi facilement que les pods avec leur propre adresse IP en attente de demandes sur HTTPS. Nous avons créé notre propre couche logicielle pour surveiller les pods et les coffres-fortes, décider où stocker les données et comment les chiffrer, les dédupliquer et les indexer.