# Lưu trữ, sao lưu và phục hồi ## Lưu trữ **Phân loại theo phần cứng** Sunteco Cloud cung cấp 2 loại ổ cứng cho server : HDD và SSD. Xem thêm {ref}`phân loại ổ cứng HDD và SSD` **Phân loại theo chức năng** Các phân vùng lưu trữ của VM còn được gọi là Volume, được chia thành hai loại chính : * System disk: Phân vùng chứa hệ điều hành và các file hệ thống, require khi tạo máy ảo. * Data disk: Phân vùng lưu trữ dữ liệu của người dùng hoặc ứng dụng, người dùng có thể gắn thêm sau khi máy đã hoạt động. Thông thường System Disk sẽ có dung lượng nhỏ hơn Data disk. Trên một VM chỉ có một System Disk, nhưng có thể gắn nhiều Data Disk. System Disk sẽ có thêm các tính năng như Boot/Launch tạo ra một VM mới từ Volume này. ## Sao lưu **Snapshots và Backups** Backup và Snapshot là hai dạng sao lưu dữ liệu nhằm đảm bảo dữ liệu luôn được an toàn và có thể khôi phục trong trường hợp xảy ra sự cố. Mặc dù hai khái niệm này có nhiều điểm tương đồng, nhưng giữ chúng cũng có nhiều điểm khác biệt quan trọng. Quản trị viên cần hiểu sự khác biết giữa hai hình thức này để sử dụng phù hợp cho các nhu cầu sao lưu và phục hồi. Snapshots là việc sao chép dữ liệu dưới dạng một "hình ảnh" được "chụp" lại chính xác trạng thái của dữ liệu tại một thời điểm nhất định. Snapshot dựa vào các file "dependency" để quản lý sự thay đổi dữ liệu giữa các phiên bản snapshot. Về mặt kĩ thuật, dữ liệu snapshot được lưu trữ cùng vị trí với volume gốc. Điều này về cơ bản sẽ khiến tiến trình snapshot diễn ra nhanh hơn(so với việc dữ liệu bị di chuyển sang một vị trí khác trên hạ tầng của Backup). Các dữ liệu snapshot sinh ra depend vào volume gốc dẫn đến lifetime của bản snapshot cũng depend vào volume gốc, nếu thực hiện xóa một bản ghi volume, hệ thống sẽ yêu cầu xóa các bản ghi snapshot của volume đó trước. Backups đơn giản sẽ thực hiện sao chép dữ liệu, dữ liệu Backup tồn tại độc lập với volume gốc và được di chuyển sang một phần khác của hạ tầng. Nếu dung lượng volume gốc lớn, quá trình backup sẽ tiêu tốn thời gian hơn so với snapshot, do có thêm các tiến trình nén dữ liệu và di chuyển các file. Có thể xóa các bản backup mà không gây ảnh hưởng đến volume gốc hoặc ngược lại. | Tiêu chí | Snapshots | Backups | | -------- | --------- | ------- | | Quan hệ phụ thuộc giữa Các bản sao lưu với volume gốc | Sử dụng các file "dependency" để xác định sự thay đổi giữa volume gốc và bản snapshot.
Xóa volume gốc yêu cầu xóa các bản snapshot phụ thuộc trước | Dữ liệu backup tồn tại độc lập với dữ liệu gốc | | Dung lượng chiếm dụng | Luôn có dung lượng bằng dung lượng của volume gốc | Dung lượng lưu trữ nhỏ hơn hoặc bằng dung lượng volume gốc
Increment backup thậm chí còn có dung lượng nhỏ hơn nhiều. | | Performance
* Tốc độ sao lưu
* Tốc độ phục hồi | Thường nhanh | Tốc độ sao lưu tùy thuộc vào dung lượng backup. | | Giá cả | Cao hơn backup | Thấp hơn snapshot | | Tính năng | Luôn lưu dưới dạng full size, full data | * Ngoài việc lưu trữ dưới dạng full, người dùng còn có thể lưu trữ các thay đổi (incremental) giúp user tiết kiệm chi phí.
* Auto backup: Tạo lịch backup tự động | Khi nào nên sử dụng Snapshots và Backups ```{note} Snapshot thường sẽ phù hợp cho việc lưu trữ ngắn hạn. Còn backup sẽ phù hợp với việc lưu trữ dài hạn ở nhiều ổ đĩa khác nhau. Ứng dụng phổ biến nhất của Snapshots là sử dụng trong việc nâng cấp hệ thống, cài đặt hoặc thử nghiệm phần mềm vì Snapshots có tính phiên bản. Còn backups phù hợp cho việc lưu trữ dữ liệu mang tính chất dự phòng, đảm bảo có khả năng khôi phục được khi xảy ra các sự cố. ``` **Auto Backup** Sun VM cung cấp tính năng Auto Backup cho phép người dùng tạo các lịch tự động backup lại volume, người dùng có thể chọn full backup hoặc incremental backup tùy theo nhu cầu. Lịch tự động backup chạy dựa trên các cấu hình **Backup Policy**. Cấu hình này cho phép người dùng cài đặt lịch backup và các yếu tố liên quan đến quá trình tự động backup như: * Retention version: Số bản backup được giữ lại trong quá trình tự động, nếu số lượng retention là n thì khi bản ghi số n được sinh ra thì bản ghi số 0 sẽ bị xóa đi để đảm bảo tiếu kiệm về dung lượng lưu trữ cho khách hàng, số lượng retention càng nhiều thì càng ảnh hưởng đến chi phí lưu trữ. Các policy đang hoạt động được theo dõi tại màn hình Policy Running. Xem thêm {ref}`hướng dẫn sử dụng auto backup`. **Incremental Backup** Incremental Backup chỉ backup những thay đổi dựa trên bản backup full gần nhất, điều này cho phép giảm thời gian sao lưu dữ liệu. Khi có nhiều bản increment backup cùng tồn tại, chúng không phụ thuộc vào nhau mà chỉ phụ thuộc vào bản backup full gần nhất được tạo ra. Khi xóa bản backup full, các bản backup incremental cũng bị xóa theo. ```{thumbnail} ../../../../_static/img/vm/reference/storage-backup-recovery/storage_backup_recovery_1.png :width: 80 % :alt: Step :align: center ``` Tại ví dụ trên, ngày 1/10/2013 hệ thống thực hiện backup 1 bản full, vào ngày 2/10/2023 người dùng có sự thay đổi A ==> Hệ thống chỉ thực hiện backup phần dữ liệu A. Vào ngày 3/10/2023, người dùng có sự thay đổi dữ liệu B ==> hệ thống thực hiện backup phần dữ liệu AB. Vào ngày 4/10/2023 người dùng có sự thay đổi dữ liệu C ==> Hệ thống thực hiện backup phần dữ liệu ABC. | | Full backup | Incremental backup | | --- | ----------- | ------------------ | | Dung lượng | Dung lượng backup nhiều vì backup cả dữ liệu cũ và dữ liệu thay đổi. | Dung lượng ít hơn vì chỉ backup những dữ liệu thay đổi | | Chi phí | Chi phí cao vì dung lượng backup nhiều | Chi phí thấp hơn vì dung lượng chỉ bao gồm phần dữ liệu thay đổi | | Thời gian backup | Lâu hơn | Nhanh hơn | So sánh Full backup và Incremental ## Phục hồi dữ liệu Backup và Snapshot đều hỗ trợ các tính năng cơ bản của việc phục hồi dữ liệu * Launch to Volume: Khôi phục bản sao lưu trở lại thành Volume, sau đó có thể sử dụng như các volume bình thường * Launch to VM: Với các bản backup hoặc snapshot từ System Disk, người dùng có thể launch bản sao lưu trở lại thành một máy ảo hoàn toàn giống về mặt dữ liệu và cấu hình phần mềm với máy gốc(System disk gốc)