پرش به محتوا

DFS: فضای نام یکپارچه و تکثیر پوشه‌های اشتراکی

پوشه‌های اشتراکی چند سرور را زیر یک مسیر دامینی جمع کنید و با DFS Replication نسخه‌ی دوم را روی سرور دیگر همگام نگه دارید.

Windows Server 2025سطح: متوسطبرای: Windows Server 2025، Windows Server 2022، Windows Server 2019به‌روزرسانی: ۱۷ آبان ۱۴۰۵

با DFS Namespace کاربران به‌جای \\fs01\Finance نشانی \\corp.sahor.ir\Shares\Finance را باز می‌کنند. اگر بعداً سرور فایل عوض شود، نشانی کاربران تغییری نمی‌کند. DFS Replication هم محتوای پوشه را بین دو سرور همگام نگه می‌دارد.

۱. نصب روی هر دو سرور فایل

powershell
Install-WindowsFeature FS-DFS-Namespace, FS-DFS-Replication -IncludeManagementTools

۲. پوشه‌ها و shareها

روی fs01 و fs02:

powershell
New-Item -ItemType Directory -Path D:\DFSRoots\Shares, D:\Finance
New-SmbShare -Name Shares -Path D:\DFSRoots\Shares -ReadAccess 'CORP\Domain Users'
New-SmbShare -Name Finance -Path D:\Finance -FullAccess 'CORP\Finance-Staff'

۳. فضای نام دامینی

powershell
New-DfsnRoot -Path '\\corp.sahor.ir\Shares' -TargetPath '\\fs01\Shares' -Type DomainV2
New-DfsnRootTarget -Path '\\corp.sahor.ir\Shares' -TargetPath '\\fs02\Shares'

New-DfsnFolder -Path '\\corp.sahor.ir\Shares\Finance' -TargetPath '\\fs01\Finance'
New-DfsnFolderTarget -Path '\\corp.sahor.ir\Shares\Finance' -TargetPath '\\fs02\Finance'

۴. تکثیر (DFSR)

powershell
New-DfsReplicationGroup -GroupName Finance |
  New-DfsReplicatedFolder -FolderName Finance |
  Add-DfsrMember -ComputerName fs01, fs02

Add-DfsrConnection -GroupName Finance -SourceComputerName fs01 -DestinationComputerName fs02

Set-DfsrMembership -GroupName Finance -FolderName Finance -ComputerName fs01 `
  -ContentPath D:\Finance -PrimaryMember $true -Force
Set-DfsrMembership -GroupName Finance -FolderName Finance -ComputerName fs02 `
  -ContentPath D:\Finance -Force

عضو اصلی (Primary) در همگام‌سازی اول برنده است. پس سروری را اصلی کنید که داده‌ی درست روی آن است.

۵. بررسی

powershell
Get-DfsrBacklog -GroupName Finance -FolderName Finance -SourceComputerName fs01 -DestinationComputerName fs02 | Measure-Object
Get-DfsnFolderTarget -Path '\\corp.sahor.ir\Shares\Finance'
dfsdiag /testdfsintegrity /dfsroot:\\corp.sahor.ir\Shares

نکته‌های مهم

  • DFSR نسخه‌ی پشتیبان نیست. فایلی که پاک شود از هر دو سرور پاک می‌شود. بکاپ جداگانه را حفظ کنید.
  • اگر دو نفر هم‌زمان یک فایل را روی دو سرور ویرایش کنند، فقط یک نسخه می‌ماند و دیگری به DfsrPrivate\ConflictandDeleted منتقل می‌شود. برای فایل‌هایی که هم‌زمان ویرایش می‌شوند، یکی از دو target را غیرفعال کنید تا همه به یک سرور وصل شوند:
powershell
Set-DfsnFolderTarget -Path '\\corp.sahor.ir\Shares\Finance' -TargetPath '\\fs02\Finance' -State Offline