ลดความยุ่งยากในการใช้คลาวด์ พูดคุยกับเจ้าหน้าที่

สำรอง Windows Server ไปยัง Network Share อัตโนมัติ
Home สำรอง Windows Server ไปยัง Network Share อัตโนมัติ

สำรอง Windows Server ไปยัง Network Share อัตโนมัติ

Windows Server Backup เป็นเครื่องมือที่มีมาให้ในตัวและเพียงพอสำหรับองค์กรขนาดเล็กถึงกลาง มันสำรองได้ถึงระดับที่กู้ทั้งเครื่องกลับมาได้ (Bare Metal Recovery) ซึ่งเป็นสิ่งที่การคัดลอกไฟล์ธรรมดาทำไม่ได้

คู่มือนี้ตั้งการสำรองข้อมูลไปยังเครื่องอื่นในเครือข่าย ซึ่งเป็นข้อกำหนดพื้นฐานของการสำรองข้อมูลที่ใช้ได้จริง คือข้อมูลต้องไม่อยู่บนดิสก์เดียวกับต้นฉบับ

สิ่งที่ต้องเตรียม

  • Windows Server ที่ต้องการสำรองข้อมูล
  • เครื่องปลายทางที่มีโฟลเดอร์แชร์และพื้นที่เพียงพอ
  • บัญชีที่มีสิทธิ์เขียนลงแชร์นั้น ควรเป็นบัญชีเฉพาะที่ใช้งานนี้อย่างเดียว

ข้อจำกัดที่ต้องรู้ก่อนวางแผน เมื่อสำรองไปยัง Network Share ระบบจะเก็บได้เพียงชุดล่าสุดชุดเดียว ชุดใหม่จะเขียนทับชุดเก่าเสมอ หากต้องการเก็บย้อนหลังหลายชุด ต้องสำรองลงดิสก์ที่ต่อกับเครื่องโดยตรง หรือใช้วิธีสลับโฟลเดอร์ปลายทางตามวัน

ขั้นตอนที่ 1: ติดตั้งฟีเจอร์

Install-WindowsFeature -Name Windows-Server-Backup -IncludeManagementTools
Get-Command -Module WindowsServerBackup | Select-Object -First 20

ขั้นตอนที่ 2: เตรียมปลายทาง

บนเครื่องที่เก็บข้อมูลสำรอง สร้างแชร์และให้สิทธิ์เฉพาะบัญชีที่ใช้สำรองข้อมูล

New-Item -Path "D:\Backups\DC01" -ItemType Directory
New-SmbShare -Name "Backups" -Path "D:\Backups" -FullAccess "CORP\svc-backup"
icacls "D:\Backups" /grant "CORP\svc-backup:(OI)(CI)M"

อย่าให้ผู้ใช้ทั่วไปเข้าถึงแชร์นี้ได้ ข้อมูลสำรองมีข้อมูลทั้งหมดของระบบ และแรนซัมแวร์ที่เข้าถึงข้อมูลสำรองได้จะเข้ารหัสทับด้วย

ขั้นตอนที่ 3: สร้างนโยบายสำรองข้อมูล

$policy = New-WBPolicy

# เลือกสิ่งที่จะสำรอง แบบทั้งระบบ
$volumes = Get-WBVolume -AllVolumes | Where-Object { $_.MountPath -in 'C:','D:' }
Add-WBVolume -Policy $policy -Volume $volumes
Add-WBSystemState -Policy $policy
Add-WBBareMetalRecovery -Policy $policy

# ปลายทาง
$cred   = Get-Credential -Message "บัญชีที่เข้าถึงแชร์"
$target = New-WBBackupTarget -NetworkPath "\\fs01\Backups\DC01" -Credential $cred
Add-WBBackupTarget -Policy $policy -Target $target

# เวลา
Set-WBSchedule -Policy $policy -Schedule "22:00", "12:00"

# ตรวจสอบก่อนบันทึก
$policy | Format-List
Set-WBPolicy -Policy $policy -Force

ตรวจนโยบายที่บันทึกไว้

Get-WBPolicy | Format-List
Get-WBSchedule -Policy (Get-WBPolicy)

ขั้นตอนที่ 4: สำรองเฉพาะบางโฟลเดอร์

เมื่อไม่ต้องการสำรองทั้งระบบ ซึ่งใช้เวลาและพื้นที่มากกว่า

$policy = New-WBPolicy
$spec = New-WBFileSpec -FileSpec "D:\Shares\Company"
Add-WBFileSpec -Policy $policy -FileSpec $spec

# ยกเว้นบางโฟลเดอร์
$exclude = New-WBFileSpec -FileSpec "D:\Shares\Company\Temp" -Exclude
Add-WBFileSpec -Policy $policy -FileSpec $exclude

$target = New-WBBackupTarget -NetworkPath "\\fs01\Backups\Files" -Credential $cred
Add-WBBackupTarget -Policy $policy -Target $target
Set-WBSchedule -Policy $policy -Schedule "23:00"
Set-WBPolicy -Policy $policy -Force

ขั้นตอนที่ 5: สั่งสำรองข้อมูลทันทีเพื่อทดสอบ

Start-WBBackup -Policy (Get-WBPolicy) -Async
Get-WBJob
Get-WBJob | Select-Object JobType, StartTime, EndTime, JobState, HResult

อย่าปล่อยให้รอบแรกเกิดตอนกลางคืนโดยไม่ทดสอบก่อน ปัญหาเรื่องสิทธิ์และพื้นที่จะเห็นตั้งแต่รอบทดสอบ

ขั้นตอนที่ 6: ตรวจสอบผลอัตโนมัติ

Get-WBSummary | Format-List
Get-WBJob -Previous 5 | Select-Object JobType, StartTime, JobState, HResult

เขียนสคริปต์แจ้งเตือนเมื่อการสำรองข้อมูลล้มเหลว

$last = Get-WBSummary
if ($last.LastBackupResultHR -ne 0 -or $last.LastSuccessfulBackupTime -lt (Get-Date).AddDays(-1)) {
  Send-MailMessage -To "[email protected]" -From "[email protected]" `
    -Subject "สำรองข้อมูลล้มเหลวบน $env:COMPUTERNAME" `
    -Body ($last | Out-String) -SmtpServer "mail.example.com" -Encoding UTF8
}

ตั้งให้รันทุกเช้าด้วย Task Scheduler การสำรองข้อมูลที่ล้มเหลวเงียบ ๆ เป็นเวลาหลายเดือนคือสถานการณ์ที่พบบ่อยที่สุดเมื่อเกิดเหตุจริง

ขั้นตอนที่ 7: กู้คืนไฟล์

# ดูชุดสำรองที่มี
$bset = Get-WBBackupSet -NetworkPath "\\fs01\Backups\DC01" -Credential $cred
$bset | Select-Object VersionId, BackupTime

# กู้คืนไฟล์หรือโฟลเดอร์
Start-WBFileRecovery -BackupSet $bset[0] `
  -SourcePath "D:\Shares\Company\Finance" `
  -TargetPath "D:\Restore" `
  -Option CreateCopyIfExists

กู้ลงตำแหน่งใหม่เสมอ แล้วค่อยคัดลอกทับของจริงหลังตรวจสอบแล้ว ตัวเลือก CreateCopyIfExists ป้องกันการเขียนทับโดยไม่ตั้งใจ

กู้ผ่านหน้าจอทำได้เช่นกัน เปิด wbadmin.msc แล้วเลือก Recover ทางขวา

ขั้นตอนที่ 8: กู้ทั้งระบบ

เมื่อเครื่องเสียหายทั้งเครื่อง บูตจากแผ่นติดตั้ง Windows Server เลือก Repair your computer แล้วเลือก System Image Recovery ชี้ไปยัง Network Share ที่เก็บข้อมูลสำรอง

สิ่งที่ต้องเตรียมไว้ล่วงหน้าและมักลืม

  • ไฟล์ติดตั้ง Windows Server รุ่นเดียวกันหรือใหม่กว่า
  • ไดรเวอร์ของการ์ดเครือข่ายสำหรับเครื่องใหม่ เพราะถ้าไม่มี จะเข้าถึงแชร์ไม่ได้เลย
  • ชื่อผู้ใช้และรหัสผ่านสำหรับเข้าแชร์ ซึ่งต้องเก็บไว้นอกเครื่องที่กำลังกู้

ซ้อมกระบวนการนี้อย่างน้อยปีละครั้งบนเครื่องทดสอบ และจับเวลาไว้เป็นตัวเลขสำหรับวางแผน

ปัญหาที่พบบ่อย

สำรองข้อมูลล้มเหลวพร้อมรหัสข้อผิดพลาดเรื่องสิทธิ์

ตรวจว่าบัญชีที่ใช้มีสิทธิ์เขียนทั้งที่ชั้น Share และชั้น NTFS และทดสอบด้วยการเข้าแชร์จากเครื่องที่สำรองข้อมูลโดยตรง

เก็บได้แค่ชุดเดียว

เป็นข้อจำกัดของการสำรองไปยัง Network Share ทางแก้คือใช้ดิสก์ที่ต่อโดยตรง หรือสร้างโฟลเดอร์ปลายทางแยกตามวันในสัปดาห์แล้วสลับเป้าหมาย หรือให้เครื่องปลายทางสำรองโฟลเดอร์นั้นต่ออีกชั้นหนึ่ง

พื้นที่ปลายทางเต็ม

ตรวจขนาดที่ต้องใช้จริงด้วย Get-WBSummary และพิจารณาแยกสำรองเฉพาะข้อมูลแทนการสำรองทั้งระบบ ในกรณีที่ระบบสร้างใหม่ได้ง่ายจากสคริปต์

ใช้เวลานานจนกระทบเวลาทำการ

ย้ายเวลาไปช่วงที่คนใช้งานน้อย และตรวจว่าเครือข่ายระหว่างสองเครื่องเป็นคอขวดหรือไม่ ด้วยการวัดความเร็วการคัดลอกไฟล์ขนาดใหญ่หนึ่งไฟล์

ต้องการวางระบบสำรองข้อมูลและ DR Site ที่ซ้อมกู้คืนได้จริง ติดต่อ THAI DATA CLOUD ได้ที่ https://thaidata.cloud/contact/

ผู้ให้บริการคลาวด์ไทย
เพื่อธุรกิจของคนไทย

"มุ่งมั่น" และ "มั่นคง"
พร้อมรับมือทุกการเติบโต
Trust Cloud
คลาว์ที่ปลอดภัย
คือรากฐานที่มั่นคง
cloud security