web-dev-qa-db-fra.com

Les fichiers exacts (copiés) ont une taille différente sur le disque sur le même lecteur?

Récemment, j'ai couru quelque chose d'étrange. Une copie exacte d'un dossier rempli de fichiers a une taille différente sur le disque que l'original. Je pouvais comprendre comment cela pourrait arriver entre des lecteurs avec des structures différentes, sauf que ces fichiers sont sur les mêmes disques exacts.

J'ai exécuté plusieurs tests pour vous assurer que chaque fichier est exactement le même et que toutes les propriétés sont exactement les mêmes.

Qu'est-ce qui pourrait être une explication pour cela ?

Capture d'écran des propriétés des deux dossiers: Screenshot of the properties of the two folders.

Screenshot de gestion de disque: Screenshot of Disk Management

Considérations

  1. La compression n'est pas allumée pour les deux dossiers.
  2. Il n'y a qu'une seule partition sur le lecteur, Ergo Les deux dossiers partagent la taille du cluster, le système de fichiers (NTFS), etc.
4
Tyler N

Cela a donc pris beaucoup de creuser mais je l'ai finalement compris. J'ai beaucoup appris sur nos serveurs grâce à cette question.

Fond des dossiers

Pour commencer, nous avons deux dossiers en question. Ces dossiers sont 100% identiques en termes de données, jusqu'au binaire. Ces dossiers vivent sur l'un de nos serveurs.

Ce serveur spécifique a été récemment pris hors ligne et mis à niveau depuis Windows Server 2008 en 2012 à 2016. En plus de tous les autres fichiers de ce serveur, l'un des dossiers est resté pour la conduite sur le volume pendant que le serveur a traversé ses mises à niveau. L'autre dossier a été dupliqué d'un instantané du serveur dans son état de 2008, puis placé sur le serveur 2016 actuel. Nous avons donc le dossier d'origine et le dossier dupliqué. La divergence est que le dossier dupliqué prend plus de taille sur le disque que l'original.

Ce que j'ai essayé

Ma ligne de raisonnement pour déterminer ce problème était de réduire dans le dossier dupliqué et de déterminer si tous les fichiers avaient une taille d'inadéquation sur le disque ou si c'était seulement certains. Pour rendre cette tâche beaucoup plus facile sur moi-même, j'ai utilisé Wiztree by Anticody Software qui est similaire à Windirstat Sauf que, par défunt, il dispose d'une colonne pour afficher la taille de chaque fichier sur le disque. ainsi que sa taille. WindirStat ne montre que la taille, je crois. J'ai donc forcé et j'ai constaté que tous les sous-dossiers ou tous les fichiers n'avaient que la taille de la taille sur le disque, seulement certains. Et ceux qui m'ont eu quelque chose de très étrange pour moi: des fichiers avec une taille de 0 sur disque, même s'ils avaient une taille non nulle.

Quelque fond NTFS

Cette découverte m'a conduit à trouver cette réponse sur une autre question super utilisateur. Dans le contexte de mon problème, c'est ce que j'ai rassemblé de cette réponse.

  1. Si un fichier est si petit que les données du fichier et la comptabilité du système de fichiers sont inférieures à 1 Ko, NTFS stockera les données dans l'enregistrement de fichiers (MFT) et aucun cluster ne doit être attribué pour cela. Il n'y a pas de taille sur disque car il n'y a rien au-delà de l'enregistrement de fichiers. Ceci s'appelle un fichier de résident.
  2. Avant que Windows 8, le calcul de la taille du disque NTFS "NTFS" n'a pas pris en compte les fichiers non résidents résidant et arrondi la taille de chaque fichier jusqu'à la taille de la taille du cluster suivant. NTFS comptera maintenant les fichiers avec des données résiduelles sous forme de taille 0KB sur le disque; Ce qui signifie que le calcul utilisé dans Windows 8+ est plus intelligent que le calcul utilisé dans Windows 7-.
  3. Une fois qu'un fichier a passé le seuil d'un fichier de résident dans un fichier non résident, le fichier ne peut pas revenir en arrière.

Comment j'ai fini avec exactement les mêmes fichiers qui ont une taille différente sur le disque

Le dossier d'origine qui a traversé les mises à niveau du serveur aurait eu ses données réécrites à travers le processus, par conséquent sur Windows Reran Son Calcul et lorsqu'il a trouvé les fichiers qu'il savait maintenant pourrait devenir des fichiers résidents, il a mis à jour la comptabilité pour les accueillir, ce qui signifie que Quelques centaines de formes de 4 Ko (1x taille de cluster) sur des fichiers de disque transformés en une taille de 0KB sur des fichiers de disque, réduisant ainsi un fichier 245MB à 244 Mo.

Lorsque notre département informatique a utilisé le logiciel de duplication 3ème partie, non seulement les données copiées, mais les informations de la comptabilité étaient également. Cette application est censée tout dupliquer tout et comprend la comptabilité.

Le fichier d'origine en 2008 a atteint 245 Mo puisque les NTFS ne gèrent pas les fichiers résidents dans son calcul. Lorsque les données ont été réécrites, le NTFS a dirigé le calcul à jour et a rendu certains fichiers résident. La duplication de l'original de 2008 a également été copiée par ses informations de comptabilité, de sorte que les fichiers non résident sont restés non résidents.

Donc, une réponse succincte sans tout le fond nécessaire pour comprendre comment cela s'est produit est: Un dossier contient des fichiers de résident, tandis que l'autre dossier ne le fait pas. En effet, un dossier disposait de ses données réécrites avec des calculs qui gère des fichiers résiduels pendant que l'autre dossier disposait de ses informations de données et de comptes de comptabilité copiées à partir d'un système qui n'a pas géré les fichiers de résident.

Mention remarquable

  1. Je peux reproduire ce problème en copiant le dossier original (244 Mo) ou dupliqué (245MB). La nouvelle copie sera toujours 244 Mo avec des fichiers résidents.
  2. Si je regarde la part administrative C: lecteur d'un ordinateur Windows 7, Windows 7 calcule la taille de la propriété de disque, les deux dossiers montrent 245 Mo. Si je regarde d'un ordinateur Windows 10, il affiche les 244 Mo et 245 Mo puisque le calcul est suffisamment intelligent pour rechercher des fichiers de résidents.
  3. Si (à partir d'une machine Windows 8+), je copie un fichier non résident du dossier dupliqué qui est un fichier de résident dans le dossier d'origine, la copie donne lieu dans un fichier de résident car les données ont été réécrites.
1
Tyler N

Windows compresse automatiquement les fichiers qui ne sont pas utilisés fréquemment. S'il a été compressé par Windows, vous pouvez le vérifier:

Faites un clic droit sur Dossier> Propriétés> Attributs avancés

Vérifiez si Compressez les contenus pour enregistrer l'espace disque est activé.

0
Nihan J. Portman

Les 1 Mo d'espace supplémentaires sont probablement dues à des métadonnées ajoutées dans le Inode ou noeud d'index ...

L'inode (noeud d'index) est une structure de données dans un système de fichiers de style UNIX décrivant un objet système de fichiers tel qu'un fichier ou un répertoire. Chaque inode stocke les attributs et les emplacements du bloc de disque des données de l'objet. Les attributs d'objet système-système peuvent inclure des métadonnées (temps de dernière modification, accès, modification), ainsi que les données du propriétaire et des autorisations.

Même s'ils sont des copies, le plus grand est dans un répertoire différent (imbriqué), il a donc un ensemble d'informations différents pour l'indexation.

0