Sử dụng công nghệ Volume Shadow Copy của Microsoft để sao lưu nhất quán

Khi tạo bản sao lưu cho máy ảo hoặc máy vật lý có các ứng dụng đang chạy, đặc biệt là các ứng dụng ghi dữ liệu với tần suất cao vào tệp và cơ sở dữ liệu, việc đảm bảo tính nhất quán của dữ liệu sao lưu là vô cùng quan trọng. Dữ liệu sao lưu nhất quán giúp quá trình khôi phục diễn ra suôn sẻ mà không gặp sự cố hỏng dữ liệu hay chậm trễ. Với mục đích này, Microsoft đã phát triển công nghệ VSS.

Bài viết blog này giải thích Volume Shadow Copy Service (VSS) là gì, cách thức hoạt động của nó, và lý do tại sao công nghệ này lại quan trọng đối với việc sao lưu các máy ảo và máy vật lý chạy hệ điều hành Windows.

VSS là gì?

Dịch vụ Bản sao Bóng Khối lượng (Volume Shadow Copy Service – VSS), một tính năng tích hợp sẵn của hệ điều hành Windows, hỗ trợ việc tạo các bản sao lưu nhất quán và nhận biết ứng dụng. Để đảm bảo tính nhất quán của dữ liệu sao lưu, các bước sau sẽ diễn ra:

  • VSS tạm thời dừng các thao tác ghi do các ứng dụng thực hiện.
  • Các vùng đệm từ bộ nhớ được ghi vào đĩa, tức là được xả ra và hệ thống tệp bị đóng băng.
  • Một bản chụp khối lượng (volume snapshot), còn được gọi là bản sao bóng (shadow copy), được tạo trong hệ điều hành Windows.

Volume Shadow Copy, còn được gọi là Dịch vụ Ảnh chụp Nhanh Khối lượng (Volume Snapshot Service), là một tập hợp các COM (Mô hình Đối tượng Thành phần) giao diện trong Windows, cung cấp khung nền để tạo các bản sao lưu nhất quán cho các ứng dụng khác nhau. VSS lần đầu tiên được phát hành cùng với Windows XP và Windows Server 2003.

Tại sao bạn cần công nghệ VSS

Tính nhất quán của dữ liệu ứng dụng rất quan trọng đối với việc sao lưu máy ảo (VM) và máy chủ vật lý. Tính nhất quán đảm bảo rằng các ứng dụng đang chạy trên máy ảo hoặc máy chủ vật lý sẽ hoạt động đầy đủ chức năng sau khi được khôi phục từ bản sao lưu.

Nếu không có VSS, bạn sẽ nhận được bản sao lưu không nhất quán. Bản sao lưu như vậy được tạo ra bằng cách chỉ sao chép từng khối ở trạng thái của nó tại thời điểm sao chép. Giả sử một tệp đang được ứng dụng như cơ sở dữ liệu hoặc ứng dụng hệ thống sử dụng liên tục. Ứng dụng này liên tục thay đổi dữ liệu trong tệp đang mở bằng cách ghi/xóa các khối. Trong khi phần đầu tiên của tệp đang được sao chép, các khối được sử dụng bởi các phần khác của tệp đang thay đổi. Đến khi các phần còn lại của tệp được sao chép vào kho lưu trữ sao lưu, các khối trong phần đầu tiên đã thay đổi. Kết quả là bạn nhận được các khối dữ liệu không nhất quán và không đại diện cho một thời điểm cụ thể nào.

Một cách để tránh tình huống này là dựa trên ảnh chụp nhanh sao lưu máy ảo (VM). Khi quá trình sao lưu bắt đầu, một ảnh chụp nhanh (snapshot), tức là bản sao chính xác của máy ảo, sẽ được tạo ra. Trong quá trình này, tất cả các Đĩa ảo VM (được biểu diễn dưới dạng tệp .vmdk trong môi trường VMware) trở thành dạng chỉ đọc. Để lưu trữ những thay đổi được thực hiện trong quá trình sao lưu trên đĩa chính, VMware ESXi tạo ra một tệp delta kết nối với tệp .vmdk chính. Sau khi tệp delta được tạo, phần mềm sao lưu bắt đầu sao chép dữ liệu từ tệp .vmdk chỉ đọc. Khi quá trình sao lưu hoàn tất, tệp delta được gộp với tệp .vmdk.

Cách tiếp cận này có thể hoạt động tốt cho các hệ thống tệp không có lưu lượng cao, như lưu trữ tệp nội bộ hoặc máy chủ web. Tuy nhiên, nếu quá trình sao lưu bắt đầu vào lúc các giao dịch đang chạy, và các hoạt động I/O (đầu vào/đầu ra) đang diễn ra, dữ liệu có thể bị mất. Khi bạn sử dụng các ứng dụng hoặc cơ sở dữ liệu như Microsoft SQL Server, Active Directory, hoặc Exchange Server, bạn không thể chỉ đóng tệp và sau đó thêm dữ liệu vào. Ở đây, Dịch vụ Sao chụp Ảnh Ổ đĩa Khối lượng (VSS) có thể giúp đỡ. Công nghệ này cho phép tạo ra các bản sao tĩnh thời gian của các tệp đang mở và đang sử dụng mà không làm ảnh hưởng đến sự toàn vẹn và tính khả dụng của những bản sao này.

Cách Dịch vụ Sao chụp Ảnh Ổ đĩa Khối lượng Hoạt động

Để hiểu cách VSS hoạt động, trước hết chúng ta cần đi qua các thành phần tạo nên tính năng này. Các thành phần chính của VSS là:

  • Trình cung cấp VSS là thành phần cốt lõi của VSS, tạo ra các bản sao bóng (snapshot) của các khối lượng. Nhà cung cấp VSS có thể có triển khai bằng phần mềm hoặc phần cứng. Nhà cung cấp VSS phần mềm copy-on-write được tích hợp trong hệ điều hành Windows. Thường thì các nhà cung cấp phần cứng được sử dụng với lưu trữ SAN (mạng diện rộng lưu trữ). Các nhà cung cấp phần cứng giảm tải hệ điều hành vật lý khi tạo bản sao bóng.
  • Trình ghi là các thành phần phần mềm ghi dữ liệu vào các tệp và cơ sở dữ liệu để đảm bảo tính nhất quán. Mỗi ứng dụng hỗ trợ VSS đều thêm nhà viết của mình vào hệ điều hành trong khi cài đặt. Ví dụ về các ứng dụng cung cấp nhà viết VSS là Microsoft SQL Server và Exchange Server.
  • Trình yêu cầu là một thành phần phần mềm yêu cầu nhà cung cấp VSS bắt đầu hoặc dừng hoạt động (tạo, xóa, hoặc nhập bản sao bóng). Yêu cầu có thể đến từ các thành phần gốc của Windows (như NTBackup hoặc Snapshot Manager cho Hyper-V) hoặc từ một ứng dụng của bên thứ ba như phần mềm sao lưu.
  • Dịch vụ VSS là một thành phần của hệ điều hành đảm bảo rằng tất cả các thành phần khác có thể giao tiếp và phối hợp với nhau.

How does VSS work?

Các bản chụp nhanh (snapshot) được tạo ở cấp độ khối lượng (volume), và VSS hoạt động dựa trên các khối (và các khối này được các tệp sử dụng). Đó là lý do tại sao bạn không thể tạo bản chụp nhanh cho các tệp hoặc thư mục. Bản sao bóng (shadow copy) có thể được lưu trữ trên cùng một khối lượng hoặc trên một khối lượng khác. Vùng trên khối lượng được phân bổ để lưu trữ các bản sao bóng được gọi là vùng diff (diff area).

Thư mục System Volume Information được sử dụng để lưu trữ các tệp bản sao bóng của VSS. Các tệp này có các định danh như 3517271a-d214-3a47-c5ea-01137a4fe675.

Công nghệ VSS có thể được sử dụng như một công cụ tích hợp sẵn của Windows để lưu các bản sao tại một thời điểm cụ thể (snapshot) của các phân vùng đĩa. Các bản sao này cho phép bạn hoàn tác các thay đổi và khôi phục về trạng thái đã lưu của toàn bộ phân vùng hoặc các tệp cụ thể. Tuy nhiên, việc tạo một bản sao lưu thực sự để lưu trữ trên phương tiện bên ngoài được khuyến nghị nhằm bảo vệ dữ liệu một cách đáng tin cậy hơn.

VSS là một quy trình tăng dần – Windows có thể tạo nhiều bản chụp phân vùng liên tiếp nhau. Sau khi tạo bản sao bóng đầu tiên, VSS theo dõi các thay đổi trên đĩa bằng cách chia dữ liệu thành các khối 16 KB. Nếu có thay đổi trên đĩa, dịch vụ sẽ ghi toàn bộ khối này vào bản sao bóng. Do đó, không cần sao chép toàn bộ tập dữ liệu với mỗi bản chụp mới, mà chỉ các khối đã thay đổi mới được sao chép.

Các yêu cầu và giới hạn chính của VSS :

  • Cần ít nhất 300 MB dung lượng đĩa để tạo các bản chụp VSS.
  • Số lượng bản sao lưu khối tối đa theo mặc định là 64.
  • Hệ thống Windows dành 10% dung lượng khối để lưu trữ các bản sao lưu khối.

Lưu ý rằng các bản sao lưu VSS được kích hoạt bởi ứng dụng sao lưu thường bị xóa sau khi công việc sao lưu hoàn tất.

Các công cụ tích hợp sẵn để quản lý bản sao lưu khối VSS

Bạn có thể sử dụng các công cụ tích hợp sẵn của Windows để quản lý bản sao lưu khối. Hiểu cách chúng hoạt động với các bản chụp nhanh có thể giúp bạn nắm rõ hơn về công nghệ VSS và khắc phục các sự cố có thể xảy ra (ví dụ: bản chụp nhanh VSS tạm thời không bị xóa sau khi tạo xong bản sao lưu).

Một số tùy chọn VSS có sẵn trong giao diện đồ họa (GUI) của Windows, nhưng tất cả các tùy chọn đều có thể truy cập qua dòng lệnh, điều này thú vị hơn đối với chúng ta. Có hai công cụ VSS mà bạn có thể sử dụng trong Windows PowerShell hoặc CMD:

  • vssadmin – có sẵn trên tất cả phiên bản Windows bắt đầu từ Windows XP (bao gồm cả Windows 10) và ngoại trừ Windows 8.
  • diskshadow – chỉ có sẵn trên các phiên bản Windows Server. Đây là một triển khai nâng cao của vssadmin , cho phép bạn không chỉ làm việc ở chế độ tương tác mà còn tạo kịch bản.

Lưu ý rằng hai tiện ích này khác nhau và hoạt động trong các ngữ cảnh khác nhau. Một bản sao bóng được tạo trong vssadmin không thể được quản lý trong diskshadow và ngược lại. Bạn có thể thấy snapshot tạo bằng công cụ khác, nhưng bạn không thể thực hiện bất kỳ thao tác nào với nó.

Volume Shadow Copy Service API có sẵn để cho phép ứng dụng sao lưu sử dụng VSS và tạo bản sao lưu nhận thức thiết bị để đảm bảo tính nhất quán của dữ liệu sao lưu.

VMware VM chạy Windows sử dụng thành phần VMware VSS như một trình điều khiển VSS trong hệ điều hành khách Windows để im lặng hóa. Trình điều khiển được cài đặt khi bạn Cài đặt VMware Tools. Trong những trường hợp khác, khi sử dụng các phiên bản Windows cũ, một trình điều khiển SYNC được sử dụng.

Cách Tạo Bản Sao Bóng

Khi một bản sao bóng (ảnh chụp ổ đĩa) được tạo, kích thước của nó là 0 byte. Khi dữ liệu mới được ghi, dữ liệu được ghi vào ổ đĩa (nơi mà nó thường sẽ được) nhưng dữ liệu cũ được ghi vào bản sao bóng, do đó bạn có thể khôi phục lại dữ liệu cũ đó sau này. Kích thước của bản sao bóng sẽ tăng do đó.

Có hai cách chính để viết dữ liệu khi tạo một ảnh chụp:

  • Redirect on write (RoW): Viết các khối mới vào một ảnh chụp (bản sao bóng) và lưu metadata với thông tin về các khối trên ổ đĩa mà chúng phải được viết. Cách tiếp cận này cho phép viết dữ liệu nhanh nhưng đọc dữ liệu chậm. Nếu bạn cần quay lại trạng thái ban đầu khi ảnh chụp được tạo, chỉ mất vài giây bằng cách xóa một ảnh chụp (gần như ngay lập tức). Cách tiếp cận RoW được sử dụng cho tạo bản sao lưu của các đĩa ảo trên máy ảo (VMDK) trong VMware ESXi và VMware Workstation.
  • Copy on Write (CoW): Viết các khối mới vào nơi cần thiết trên ổ đĩa và gửi nội dung của các khối được viết lại vào ảnh chụp. Viết chậm nhưng đọc nhanh. Các ảnh chụp trước đây (các trạng thái dữ liệu trước đó) bị xóa trong vài giây (gần như ngay lập tức). Cách tiếp cận CoW được sử dụng cho các snapshot VSS.

Với quá nhiều ứng dụng khác nhau có thể ghi dữ liệu trên ổ đĩa, Microsoft đã tạo ra một giao diện thống nhất với VSS để thông báo cho tất cả ứng dụng rằng một ảnh chụp chuẩn bị được tạo sau khi bắt đầu tạo ảnh chụp. Ý tưởng của thông điệp thông báo là: Hệ thống sẽ tạo một bản chụp nhanh – tạm dừng các hoạt động ghi dữ liệu và xả bộ đệm ghi trên đĩa để đưa dữ liệu về trạng thái nhất quán.

Quy trình tạo ảnh chụp nhanh VSS như sau:

  1. Bên yêu cầu VSS kiểm tra các dịch vụ khả dụng mà nó có thể giao tiếp, liệt kê các thiết bị ghi và thu thập siêu dữ liệu.
  2. Sau khi thu thập danh sách các thiết bị ghi, bên yêu cầu sẽ giao tiếp với nhà cung cấp VSS và thông báo cho ảnh chụp nhanh về dữ liệu cần tạo cũng như vị trí lưu trữ ảnh chụp nhanh. Trong hầu hết các trường hợp, ảnh chụp nhanh được lưu trữ trên cùng một khối lượng trên đĩa gốc. Trong một số trường hợp khác, các nhà cung cấp phần cứng SAN có thể tạo một khối lượng riêng biệt cho bản chụp nhanh, được gọi là bản chụp nhanh lưu trữ.
  3. Chuẩn bị sao lưu. Bước này bao gồm việc yêu cầu trạng thái thực tế của các trình ghi VSS (sau khi lấy được siêu dữ liệu) và chuẩn bị cho thao tác quan trọng nhất khi các trình ghi phải thực hiện lần lượt. Các trình ghi được thông báo rằng chúng phải chuẩn bị cho việc tạo bản chụp nhanh. Bộ đệm hệ thống được xả, và ứng dụng bị đóng băng để đảm bảo có thể tạo ra một bản sao dữ liệu nhất quán. Mỗi trình ghi phải hoàn thành trong khoảng thời gian được phân bổ là 60 giây theo mặc định. Microsoft Exchange Server chỉ có 20 giây cho thao tác này (thời gian này do Microsoft quy định).

    Lưu ý: 20 giây là khoảng thời gian rất ngắn. Nếu ứng dụng không thể hoàn thành trong khoảng thời gian này, các trình ghi sẽ trả về lỗi và bản sao lưu sẽ không được tạo. Nếu hiệu suất lưu trữ không đủ để đáp ứng giới hạn thời gian này, bạn có thể thử nâng cấp phần cứng để khắc phục vấn đề này. Ví dụ: bạn có thể thay thế ổ cứng HDD bằng ổ SSD. Ngoài ra, bạn có thể thử di chuyển các tác vụ khác sang một hệ thống lưu trữ khác và chỉ sử dụng hệ thống lưu trữ chuyên dụng cho máy chủ chạy Microsoft Exchange Server. Kiểm tra nhật ký để xác định trình ghi nào đã thất bại trong tác vụ tạo ảnh chụp nhanh.

  1. Nếu mọi thứ đều bình thường và hoạt động hệ thống bị tạm dừng, thì VSS sẽ thông báo rằng nhà cung cấp có thể tạo bản sao bóng. Chỉ có 10 giây để tạo bản sao bóng. Các yêu cầu I/O của hệ thống tệp sẽ tạm thời không khả dụng trong khoảng thời gian này. Đây cũng là thời điểm bạn có thể tạo bản sao máy ảo (VM). Sau khi 10 giây trôi qua, tất cả các trình ghi sẽ được giải phóng và các hoạt động đầu vào/đầu ra (I/O) sẽ hoạt động trở lại.

    Lưu ý: Nếu các trình cung cấp VSS mất hơn 10 giây để cam kết bản sao bóng, thao tác sẽ thất bại.

  1. VSS thông báo cho các chương trình ghi rằng các ứng dụng có thể tiếp tục ghi dữ liệu vào đĩa sau khi yêu cầu I/O đã được giải đông. Nếu chúng ta sử dụng một ứng dụng sao lưu và sao lưu sử dụng dịch vụ VSS của Windows đã được tạo ra, snapshot VSS có thể được xóa. Thao tác này có thể được thực hiện bởi ứng dụng sao lưu. Ngoài ra, bạn có thể xóa một snapshot volume với diskshadow hoặc vssadmin.

    Nếu bạn gặp vấn đề với VSS, nhiều trường hợp khởi động lại máy tính có thể khắc phục vấn đề khi các phương pháp khác không hiệu quả. Một số vấn đề liên quan đến hạn chế thời gian (ví dụ, 10 giây để tạo một snapshot) có thể được khắc phục bằng cách nâng cấp phần cứng, bao gồm các thiết bị đĩa, hoặc bằng cách giảm tải.

    Hãy thử tạo snapshot thủ công và kiểm tra liệu bạn có phù hợp với thời gian 20 giây được cấp phát (sử dụng Exchange Server làm ví dụ). Trong trường hợp thất bại, khởi động lại, giảm tải, và thử lại.

Từ Windows Server 2012, VSS hỗ trợ chia sẻ tệp SMB trong Windows. Công nghệ VSS rất hữu ích với chia sẻ tệp vì các tệp có thể được ghi liên tục bởi người dùng và ứng dụng, điều mà làm sao lưu chia sẻ thành thách thức nếu không có VSS. NAKIVO Backup & Replication 10.7 hỗ trợ sao lưu tệp tin chia sẻ.

Cách Dịch Vụ Sao Chép Bóng Tối Khối Lượng (VSS) Hoạt Động trong Giải pháp của NAKIVO

Chúng ta đã khám phá cách VSS hoạt động nói chung. Bây giờ, hãy xem cách công nghệ VSS hoạt động khi tạo bản sao lưu VMware vSphere VM với phần mềm sao lưu chuyên dụng như NAKIVO Backup & Replication.

Nói tóm lại, Dịch vụ Sao Chép Bóng Tối Khối Lượng hoạt động như sau: Yêu cầu gọi VSS được khởi động. Nhà cung cấp chuyển hướng các chương trình ghi để ghi dữ liệu vào một tệp nhật ký và bắt đầu tạo snapshot khối lượng. Sau khi yêu cầu dừng từ người yêu cầu được gửi đến nhà cung cấp (thường sau khi snapshot đã sẵn sàng), nó bắt đầu di chuyển dữ liệu từ tệp nhật ký vào khối lượng.

Trong trường hợp này, NAKIVO Backup & Replication trở thành người yêu cầu VSS khi sao lưu một VMware vSphere VM sử dụng VSS.

  1. Trước khi bản sao lưu VM bắt đầu, giải pháp NAKIVO ghi dữ liệu qua trình ghi VSS của nó.

VSS writer services are working with applications

  1. Khi quá trình sao lưu bắt đầu, NAKIVO Backup & Replication yêu cầu nhà cung cấp VSS bắt đầu làm việc. Trình ghi chuyển hướng dữ liệu vào tệp nhật ký trong khi khối lượng “đóng băng”.

VSS backup has been started

  1. NAKIVO Backup & Replication bắt đầu tạo snapshot trên lớp VM. Nó có thể mất từ vài giây đến vài phút, tùy thuộc vào tải lưu trữ VMFS. Trong thời gian này, trình ghi tiếp tục ghi dữ liệu vào tệp nhật ký.
  2. Snapshot của VM đã được tạo thành công. NAKIVO Backup & Replication, với tư cách là bên yêu cầu, gửi tín hiệu đến nhà cung cấp để ngừng hoạt động.

VM backup using VSS software is in process

  1. Nhà cung cấp VSS chuyển các thay đổi từ tệp nhật ký sang khối lượng. NAKIVO Backup & Replication sao chép khối dữ liệu của ảnh chụp nhanh máy ảo (VM) vào kho lưu trữ sao lưu.

    Bạn có thể định cấu hình chế độ nhận biết ứng dụng để đảm bảo tính nhất quán của dữ liệu sao lưu trong trình hướng dẫn tại bước Options . Bằng cách này, bạn kích hoạt VSS trên một máy chạy Windows để sao lưu chính máy đó.
    The app-aware mode is used to enable VSS for VM backup

Kết luận

Dịch vụ Sao chép Bóng Thể tích (VSS) là một công nghệ tuyệt vời để duy trì tính nhất quán cho các bản sao lưu máy ảo, nhưng nó chỉ hoạt động trên các máy chạy Windows. Để tạo các bản sao lưu nhất quán cho các máy chạy Linux, bạn nên triển khai các tập lệnh đặc biệt trước khi đóng băng và sau khi giải phóng. Giải pháp NAKIVO cũng cung cấp các bản sao lưu nhất quán tự động cho các máy chủ và máy trạm Linux.

Dùng thử NAKIVO Backup & Replication

Dùng thử NAKIVO Backup & Replication

Đăng ký dùng thử miễn phí để khám phá toàn bộ các tính năng bảo vệ dữ liệu của giải pháp này. Dùng thử miễn phí trong 15 ngày. Không có bất kỳ giới hạn nào về tính năng hay dung lượng. Không cần thẻ tín dụng.

Có thể bạn cũng quan tâm