Consolidation des serveurs de fichiers avec PowerShell et Robocopy – Serveur d’impression
Serveurs de fichiers – Nous les avons tous sous une forme ou une autre. Ces serveurs ont tendance à croître de façon exponentielle plus critique que ce que nous imaginions lors de leur déploiement. Ils étaient également assez lourds à migrer jusqu'à ce que Microsoft publie son service de migration de stockage. Mais il existe un scénario important qu'il ne couvre pas: la consolidation de plusieurs serveurs de fichiers en un seul.
Dans ce didacticiel, nous expliquerons comment éviter les versions non prises en charge de Windows et garantir la disponibilité de vos serveurs de fichiers en les consolidant.
Sommaire
Pourquoi devrais-je consolider mes serveurs de fichiers?
De nombreuses entreprises ont plusieurs (et parfois des dizaines) de serveurs de fichiers créés pour différentes raisons au fil des ans. Mais les consolider en un ou quelques serveurs a plus de sens maintenant, car la mise en réseau et le stockage sont à la fois moins chers et plus rapides que jamais. Cela diminue le temps passé à les gérer. Vous pouvez également avoir quelques serveurs de fichiers presque vides, car de nombreuses entreprises utilisent des services tels que OneDrive et SharePoint pour les données utilisateur.
De plus, en les migrant vers un serveur de fichiers en cluster, vous pouvez sécuriser la disponibilité et utiliser des fonctions telles que la mise à jour adaptée aux clusters pour automatiser les correctifs sans que nos utilisateurs ne s'en rendent même compte.
Commençons maintenant!
Conditions préalables
Dans cet article, vous apprendrez à consolider des serveurs de fichiers. Mais gardez à l'esprit que votre environnement est unique et procédez avec prudence. Les partages et les dossiers que vous souhaitez migrer dépendent de vous!
Cela dit, il y a quelques conditions préalables:
- Deux serveurs de fichiers ou plus à consolider (serveurs source). Cela a été testé sur Windows Server 2008 et versions ultérieures, mais pourrait fonctionner pour les anciennes versions.
- Un ou plusieurs serveurs de fichiers avec Windows Server 2019 pour consolider vers (serveur de destination) – de préférence un cluster
- Un PC Windows 10 avec Powershell 5.1 et Microsoft Excel installé
- Droits d'administrateur sur les serveurs source et de destination
Gardez à l'esprit que les spécifications du nouveau serveur de fichiers doivent être capables de gérer la charge des serveurs qu'il remplace – combinées!
La collecte d'informations
le plus une partie importante d'une consolidation réussie est d'avoir les bonnes informations à portée de main. Vous pouvez les rassembler manuellement – bien que cela ne soit pas préféré, car il est sujet aux fautes de frappe et autres erreurs, cela fonctionne.
Mais c'est sur la façon de consolider avec PowerShell – Et comme il est difficile de mettre votre expérience et vos connaissances dans un script, nous utiliserons plutôt une méthode semi-automatique. Commencer par installer ImportExcel collecter des informations sur les partages sur nos serveurs source avec PowerShell.
Installer ImportExcel
ImportExcel est un module PowerShell qui peut à la fois importer et exporter des données Excel. C'est un outil parfait à avoir lors de la collecte d'informations nécessitant un traitement manuel. Lancez PowerShell en tant qu'administrateur sur votre PC et tapez ce qui suit pour installer le module PowerShell:
PS51> Module d'installation ImportExcel |
Collecter des informations sur les partages de fichiers
Lancez Powershell en tant qu'administrateur sur votre PC disposant des autorisations d'administrateur sur les serveurs source et tapez:
# Remplacez fs01.contoso.com par le nom de l'un de vos serveurs source $ ComputerName = "fs01.contoso.com" # Récupérer des partages via WMI sur l'ordinateur distant $ Actions = Get-WmiObject -Classe Win32_Share -Nom de l'ordinateur $ ComputerName # Filtre les partages par défaut avec une expression rationnelle sensible à la casse ('^ (ADMIN | IPC | PRINT |[A-Z]) \ $$ ') $ Actions | ? [A-Z]) $$ ' | Sélectionner Nom,Chemin,La description |
Une sortie de tous les partages configurés sur le serveur source vous sera présentée.
Maintenant, faire cela pour chaque serveur source n'est pas viable dans de nombreux cas, alors créons quelque chose de mieux qui récupère les partages de tous les serveurs source et les exporte vers Excel avec le module ImportExcel:
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# Liste des serveurs sources $ SourceServers = @( «fs01.contoso.com», «fs02.contoso.com», «fs03.contoso.com» ) # Accès aux serveurs sources $ ToExcel = pour chaque($ ComputerName dans $ SourceServers)
# Récupérer des partages avec WMI $ Actions = Get-WmiObject -Classe Win32_Share -Nom de l'ordinateur $ ComputerName # Filtrer les partages indésirables $ Filtré = $ Actions # Sortie pour exceller $ ToExcel | Export-Excel -Chemin C:tempActions.xlsx -AutoSize -Nom de la table actions -ClearSheet |
Ouvrez le fichier Excel que vous venez de créer dans C: temp Shares.xlsx. Il vous présentera une sortie qui peut ressembler à ceci:
Lisez attentivement et vous remarquerez peut-être quelques choses différentes avec l'exemple ci-dessus:
- Le \ fs01…. Départements semble être un partage avec un dossier pour chaque service
- Le partage RH et informatique sur fs01 est partagé à partir du dossier de partage des départements
- fs02 a le CRM directement partagé même s'il réside dans E: Applications qui est partagé en tant que \ fs02… Applications
- \ fs02… Finance semble être un partage de service
Et ainsi de suite – une migration basée sur ces données ne serait pas du tout jolie. Il semble également que nous migrerions l'ancien partage informatique qui n'est pas utilisé.
Cela souligne combien il est important de faire des recherches et un peu de retouche manuelle avant de faire quoi que ce soit d'autre.
Vous devez créer un nouveau partage sur le serveur de destination pour chaque catégorie que vous définissez avec le même nom.
Nettoyage des données
Faisons un peu de nettoyage manuel et classons les données en entrant une catégorie dans la colonne Catégorie. Commencez par supprimer les «partages qui se trouvent dans un partage»:
Après cela, vous appliquez une catégorie de votre choix dans la colonne «Catégorie»:
La colonne «Catégorie» décidera sur quel partage il sera copié sur le serveur de destination. c'est-à-dire \ fs10.contoso.com AppData
Enfin, vous marquez les partages dont vous souhaitez migrer les sous-dossiers au lieu d'un 1: 1 du partage lui-même. Pour ce faire, saisissez «Oui» dans la colonne MigrateSubFolders:
La migration de sous-dossiers au lieu du dossier entier lui-même est utile lorsque vous migrez ensemble plusieurs partages différents avec la même catégorie de données. Étant donné que vous pouvez avoir des partages pour différents services répartis sur plusieurs serveurs en raison de la taille et d'autres limitations.
Maintenant que vous avez des informations à jour, nous allons les enregistrer et les fermer Shares.xlsx et générer une dernière feuille de calcul que nous pouvons utiliser pour notre fonction PowerShell + RoboCopy plus tard.
Génération de la feuille de calcul de migration
Une bonne feuille de calcul de migration est au cœur d'une consolidation bien réalisée. Ce sera la base lors de l'organisation et de la communication avec les différentes parties de l'organisation au sujet de la consolidation. C'est également ici que vous trouverez et corrigerez les doublons, les anciens partages, etc.
Le script qui crée le fichier * Migration.xlsx- * devra faire les choses suivantes:
- Lire le nettoyage Shares.xlsx
- Lire les sous-dossiers d'actions avec MigrateSubFolders
- Créez un chemin de destination composé du serveur de destination, de la catégorie et du nom de partage
- Exportez au moins le chemin source et le chemin de destination vers une feuille Excel.
Vous pouvez commencer par lire le Shares.xlsx que nous avons créé plus tôt avec PowerShell en tant qu'administrateur:
$ ExcelData = Import-Excel -Chemin C:CertainsDossierPartager.xlsx |
Vous allez maintenant les parcourir un par un et soit créer une sortie basée sur les données d'Excel, soit effectuer Get-ChildItem
si la propriété MigrateSubFolders est définie sur «Oui»:
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# Nom du nouveau serveur $ DestinationServer = "fs10.contoso.com" # Parcourez toutes les lignes $ MigrationList = Pour chaque($ Row dans $ ExcelData) # Récupère tous les sous-répertoires si MigrateSubFolders = Yes # Créer un tableau d'objets avec la source et le nom de partage si($ Row.MigrateSubFolders -eq 'Oui') Pour chaque [[PSCustomObject]@ La source = $ _.Nom complet ShareName = $ _.Nom
# Si c'est un 1: 1 – Créez simplement $ ShareNames avec 1 objet autre $ ShareNames = [[PSCustomObject]@ La source = $ Row.UNC ShareName = $($ Row.UNC -Divisé "\")[[-1]
# Source de sortie, destination et quelques propriétés supplémentaires que nous voulons dans notre feuille Excel sous forme de colonnes $ ShareNames $ MigrationList |
L'exécution du code ci-dessus générera une sortie qui ressemble à ceci:
La source Destination Émigrer Commentaire ––– –––––– –––– –––– fs01DépartementsInstallations fs10.contoso.comDépartementsInstallations Oui fs01DépartementsIL fs10.contoso.comDépartementsIL Oui ... ... fs03FinanceApp fs10.contoso.comDonnées d'applicationFinanceApp Oui |
Notez comment nous utilisons la colonne Catégorie de la feuille de calcul précédente pour déterminer le chemin de destination. Ensuite, exportons cela pour exceller afin que nous puissions effectuer le dernier nettoyage, mais le plus crucial:
$ MigrationList | Export-Excel -Chemin C:certainsdossierMigration.xlsx -AutoSize -Nom de la table MigrationList |
Cela affichera le contenu de $ MigrationList
dans C: certains dossier Migration.xlsx.
Maintenant, lors de l'ouverture du Migration.xlsx fichier avec Excel et en regardant de plus près, vous découvrez que nous avons beaucoup de doublons:
Ce n'est pas inhabituel – Cela peut être dû au fait que deux dossiers portent le même nom par coïncidence ou que les anciennes données n'ont pas encore été supprimées. Vous pouvez cependant rendre cela un peu plus facile et les marquer comme doublons avant de les exporter vers Excel. Fermez le fichier Excel et entrez-le dans la fenêtre PowerShell que vous avez précédemment utilisée:
$ MigrationList = $ MigrationList | Group-Object Destination | Pour chaque si($ _.Compter -gt 1) Pour chaque $ _.Émigrer = "Non" $ _.Commentaire = "A des doublons!" $ _
autre $ _.Groupe
| Trier Destination $ MigrationList | Export-Excel -Chemin C:certainsdossierMigration.xlsx -AutoSize -Nom de la table MigrationList |
Cela utilise l'applet de commande PowerShell Group-Object
regrouper les objets par la propriété «Destination» et ainsi détecter les doublons. Nous définissons ensuite Migrate sur no et indique que cette ligne contient des doublons. C'est un moyen simple et rapide de détecter les doublons et vous facilite la vie lorsque vous traitez des dizaines, voire des milliers de dossiers.
Vous avez maintenant une feuille de calcul plus facile à trier qui ressemble à ceci:
Il est fortement recommandé de parcourir tous les partages, car il n'est pas rare de trouver des partages inutilisés, des doublons et similaires, comme illustré dans l'exemple ci-dessous. Cela peut réduire la quantité de données à transférer en téraoctets!
Vous disposez désormais d'une excellente base pour baser cette migration de données et cette consolidation de serveurs de fichiers. Enregistrez et fermez Excel pour pouvoir l'exporter vers un CSV et commencer à transférer les données
Exportation vers CSV
Maintenant que vous disposez de toutes les informations nécessaires pour démarrer le transfert de données, vous devez exporter la feuille de calcul vers un fichier CSV. En effet, vous voulez pouvoir le lire sur le serveur de destination sans avoir à installer Excel.
Vous pouvez le faire sur l'ordinateur que vous avez créé le Migration.xslx tableur en entrant la commande suivante dans PowerShell:
Import-Excel -Chemin C:CertainsDossierMigration.xlsx | Export-CSV -NoTypeInformation -Chemin C:CertainsDossierMigration.csv |
Cela lira le Migration.xlsx feuille de calcul avec le Import-Excel
applet de commande et l'exporter vers Migration.csv en utilisant Export-CSV
.
Transférez le CSV vers le serveur de destination – Dans cet exemple, nous l'avons transféré vers C: Temp Migration.csv sur le serveur de migration. Vous disposez désormais de toutes les informations nécessaires à notre fonction PowerShell pour transférer les données.
Maintenant, laissez-nous RDP au serveur de destination pour savoir comment transférer les partages de fichiers!
Robocopie
Pour transférer les données, votre script PowerShell va utiliser 2 composants principaux:
- RoboCopy
- Le fichier migration.csv
Jetez un œil à RoboCopy – la commande la plus importante que vous allez utiliser en premier.
La commande RoboCopy
La commande ci-dessous est similaire à ce que vous allez utiliser si vous transférez vos partages de fichiers conformément à cet article.
robocopie "\ fs01.contoso.com Some Share" "\ fs10.contoso.com Some Share" /MIR /SECONDE /ZB /MT:64 /E /R:1 /W:1 /unilog:"C: certains chemin log.txt" |
La commande ci-dessus:
- Copiez le répertoire source \ fs01.contoso.com Some Share à \ fs10.contoso.com Some Share
-
/ mir
mettra en miroir le répertoire source vers le répertoire de destination – tous les fichiers de la destination qui ne correspondent pas ou n'existent pas dans le répertoire source seront supprimés / remplacés. -
/seconde
Copiera toutes les autorisations de fichier. -
/ ZB
Démarre les transferts de fichiers en mode redémarrable – en cas d'échec, il les transférera en mode de sauvegarde (plus lent) -
/ MT: 64
Dira à robocopy de transférer les fichiers avec 64 threads simultanés -
/ E
copie les sous-répertoires, y compris les sous-répertoires vides -
/ R: 1
Réessayera le transfert de fichiers une fois s'il échoue -
/ W: 1
Attend 1 seconde entre les tentatives -
/ unilog: "
affichera un journal au format Unicode pour
Ces paramètres peuvent devoir être ajustés en fonction du matériel de votre serveur de destination. Maintenant, commençons par la fonction PowerShell qui démarrera robocopy pour nous!
Création d'un script
L'approche la plus simple pour transférer toutes les actions serait d'utiliser Foreach-Object
sur le fichier CSV que vous avez transféré au serveur précédemment et pour chaque boucle, lancez RoboCopy. C'est fondamentalement la méthode que nous allons utiliser mais avec un peu plus de finesse pour que vous puissiez transférer plusieurs partages à la fois sans ralentir les vitesses de transfert.
La fonction que vous allez utiliser dans cet article s'appelle Start-FileShareMigrationJob
– Il est inclus ci-dessous et vous allez obtenir les principales parties expliquées en détail.
Les paramètres de fonction
Commencez par regarder les paramètres:
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
[[cmdletbinding(SupportsShouldProcess)] param( # Chemin source à copier [[paramètre(Obligatoire,ValueFromPipelineByPropertyName)] [[chaîne]$ Source, # Chemin de destination vers lequel copier [[paramètre(Obligatoire,ValueFromPipelineByPropertyName)] [[chaîne]$ Destination, # Nombre d'emplois simultanés [[int]$ NumberOfJobs = 5, # Nombre de threads autorisés pour chaque travail [[int]$ NumberOfThreads = 64, # Nombre de tentatives [[int]$ Retries = 1, # Temps d'attente entre les nouvelles tentatives [[int]$ WaitTime = 1, # Nombre maximal de travaux de robocopie en même temps [[int]$ MaxConcurrentTransfers = 5 ) |
Comme vous pouvez le voir -La source
et -Destination
les paramètres ont l'option de paramètre ValueFromPipeLineByPropertyName
ensemble. Cela signifie que vous pouvez lui rediriger un objet qui a le La source et Destination Propriétés.
Vous pouvez même diriger un tableau d'objets (comme dans l'ensemble migration.csv) qui contient ces propriétés et il les parcourra tant que Commencer
, Processus
et Fin
des blocs sont présents.
vous avez également quelques paramètres que vous pourriez reconnaître en regardant les paramètres RoboCopy plus tôt. En fait – tous les paramètres ici seront utilisés comme arguments pour démarrer la robocopie.
Le bloc Begin
Jetez maintenant un œil à la Commencer
bloquer:
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
Commencer # À des fins de journalisation $ StartTime = Avoir un rendez-vous -Format "aaaa-MM-jj HH: mm: ss" # Pour garder une trace de plusieurs sessions de transfert $ SessionId = (avoir un rendez-vous -Format "aaaaMMjj_HHmmss") $ JobId = 1 Écriture-verbeux "SessionId est $ SessionId" # Répertoire auquel se connecter $ BaseLogDir = "C: temp logs $ SessionId" mkdir -Obliger $ BaseLogDir |
Cela va récupérer l'heure de début du travail, créer un identifiant de session et définir le chemin de sortie de nos journaux pour C: Temp logs
Il contient également un petit Journal d'écriture
pour faciliter l'écriture des journaux.
Le bloc de processus
La partie principale de la fonction est le bloc de processus illustré ci-dessous:
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
Processus Écrire-Journal "Démarrage de la session de photocopie pour $ Source -> $ Destination" si($ PSCmdlet.ShouldProcess("$ Source -> $ Destination","STARTING JOB $ JobId; Source = $ Source; Destination = $ DESTINATION;")) ? !$ _.Processus.A sorti
|
Le bloc de processus agit comme une boucle Foreach lorsqu'un tableau d'objets est canalisé si la fonction a des paramètres qui ont le ValueFromPipeLine
ou ValueFromPipeLineByPropertyName
ensemble d'options. Vous pouvez en savoir plus sur la création de fonctions de support de pipeline ici.
Pour chaque boucle, il construit un tableau d'arguments avec les chemins source et de destination, ainsi que les autres commandes RoboCopy que nous avons décrites précédemment. Il l'exécute ensuite avec les arguments et stocke les informations de processus dans un tableau.
Vous pouvez ensuite voir combien de processus RoboCopy sont en cours d'exécution en regardant $ Jobs.Process.HasExited
.
Si le nombre de processus Robocopy en cours d'exécution est supérieur ou égal à la -NumberOfJobs
(Par défaut 5), il dormira pendant une seconde et vérifiera à nouveau. Cela garantira que vous n'avez pas trop de transferts robocopy en cours d'exécution. Et maintenant pour la dernière partie du script – le bloc Fin.
Le bloc de fin
Le bloc de fin de cette fonction est juste utilisé pour attendre la fin des processus RoboCopy
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 |
Fin # Attendez que tous les travaux se terminent et imprimez "en attente de travaux" toutes les 20 secondes $ n = 1 Tandis que(($ Emplois |
Il bouclera tant que la quantité de processus de photocopie en cours d'exécution qui ne sont pas sortis est supérieure à 0.
La fonction complète
Ci-dessous, vous trouverez la fonction complète que vous utiliserez pour démarrer robocopy
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
Une fonction Start-FileShareMigrationJob { [[cmdletbinding(SupportsShouldProcess)] param( # Chemin source à copier [[paramètre(Obligatoire,ValueFromPipelineByPropertyName)] [[chaîne]$ Source, # Chemin de destination vers lequel copier [[paramètre(Obligatoire,ValueFromPipelineByPropertyName)] [[chaîne]$ Destination, # Nombre d'emplois simultanés [[int]$ NumberOfJobs = 5, # Nombre de threads autorisés pour chaque travail [[int]$ NumberOfThreads = 64, # Nombre de tentatives [[int]$ Retries = 1, # Temps d'attente entre les nouvelles tentatives [[int]$ WaitTime = 1, # Nombre maximal de travaux de robocopie en même temps [[int]$ MaxConcurrentTransfers = 5 ) Commencer # À des fins de journalisation $ StartTime = Avoir un rendez-vous -Format "aaaa-MM-jj HH: mm: ss" # Pour garder une trace de plusieurs sessions de transfert $ SessionId = (avoir un rendez-vous -Format "aaaaMMjj_HHmmss") $ JobId = 1 Écriture-verbeux "SessionId est $ SessionId" # Répertoire auquel se connecter $ BaseLogDir = "C: temp logs $ SessionId" mkdir -Obliger $ BaseLogDir Processus Écrire-Journal "Démarrage de la session de photocopie pour $ Source -> $ Destination" # Utilisation de ShouldProcess qui permet de tester la commande avec le paramètre -WhatIf si($ PSCmdlet.ShouldProcess("$ Source -> $ Destination","STARTING JOB $ JobId; Source = $ Source; Destination = $ DESTINATION;")) Mesure).compter -ge $ NumberOfJobs) si($ n -eq 1) Écriture-verbeux "En attente d'un emploi"
si($ n -ge dix) $ n = 0
$ n++ Start-Sleep 1
Fin Mesure).compter -gt 0) si($ n -eq 1) Écriture-verbeux "En attente d'un emploi"
$ n++ si($ n -ge 20) $ n = 1
Endormir 1
$ EndTime = Avoir un rendez-vous -Format "aaaa-MM-jj HH: mm: ss" Écrire-Journal "Début: $ StartTime Fin: $ EndTime"
} |
Maintenant que vous avez la fonction, utilisez-la et Migration.csv pour démarrer un transfert de fichier.
Transfert des fichiers
Sur le serveur de destination – lancez PowerShell en tant qu'administrateur et collez-y la fonction ci-dessus et importez le CSV dans une variable en entrant:
PS51> $ MigrationList = Import-CSV *C:TempMigration.csv* |
Voyons le $ MigrationList
variable:
Il ne reste plus qu'à démarrer le transfert de fichiers en le redirigeant vers Start-FileShareMigrationJob
:
PS51> $ MigrationList | Start-FileShareMigration |
Vous pouvez voir ici que PowerShell génère différents travaux.
Les journaux de robocopy se trouvent dans le C: temp logs yyyyMMdd_HHmmss dossier.
Sélection des éléments à transférer
Pour certains scénarios, vous souhaiterez peut-être simplement effectuer un transfert pour un certain serveur. Ceci est facilement réalisé en utilisant Où-objet
:
PS51> $ MigrationList | Où-objet $ _.La source -rencontre "fs01" | Start-FileShareMigration |
Vous pouvez également le diviser en plusieurs CSV et ainsi de suite en fonction de ce qui convient à votre cas d'utilisation.
La transition
Maintenant, après avoir attendu (généralement) longtemps la migration se termine, il est recommandé d'effectuer ces transferts régulièrement jusqu'à ce qu'il soit temps pour le basculement. Celles-ci ne prennent généralement que quelques minutes.
Le basculement peut être effectué de différentes manières. Mais la meilleure méthode si vous n'avez pas DFS en place est de définir les serveurs source dans des autorisations de partage en lecture seule et d'effectuer une dernière synchronisation à l'aide de la méthode décrite dans cet article.
Arrêtez ensuite les serveurs source et modifiez tout ce qui pointe vers les anciens serveurs source vers les nouveaux serveurs de destination. Ceci est sujet aux erreurs et entraînera de nombreux temps d'arrêt si les paramètres ne sont pas gérés de manière centralisée.
Si vous utilisez DFS pour tout, alors l'approche est beaucoup plus simple.
- Commencez par définir le DFS TTL sur quelques minutes au lieu de 30 à 60 minutes.
- Dans le même temps, ajoutez un lien désactivé aux chemins de partage.
- Lorsque ces paramètres se sont propagés – définissez les partages du serveur source en lecture seule.
- Courir
$ MigrationList | Start-FileShareMigration
une dernière fois. - Si vous voyez des erreurs de verrouillage de fichier dans les journaux qui résident dans C: temp logs yyyyMMdd_HHmmss – Redémarrez le serveur source et exécutez l'étape ci-dessus une fois de plus.
- Activez les liens DFS pointant vers le serveur de destination et désactivez l'ancien.
- Arrêtez les anciens serveurs source.
Lorsque vous voyez que vos utilisateurs et applications sont en cours d'exécution vers le nouveau serveur – réglez le DFS TTL à la normale.
Notez que c'est l'autorisation du partage et non les autorisations NTFS! La modification des autorisations NTFS pour tous les partages gâchera la dernière synchronisation et entraînera de nombreux temps d'arrêt.
Conclusion
Vous avez maintenant appris à consolider plusieurs serveurs de fichiers. Bien que cela demande beaucoup plus de travail, le concept de base consistant à effectuer une consolidation de plusieurs serveurs par rapport à une migration 1: 1 est le même. Le succès de la consolidation réside dans le travail qui est mis dans l'enquête au préalable et lors du basculement plutôt que dans le transfert du dossier lui-même.
Le conseil est donc d'être prudent et méticuleux lors du tri et de l'organisation des partages de fichiers au préalable. Et aussi puisque vous utilisez Excel, il est facile de partager avec vos collègues!
Commentaires
Laisser un commentaire