Các phương pháp hay nhất về lưu trữ Hyper-V
Lưu trữ là một trong những thành phần quan trọng nhất liên quan đến máy chủ; điều này bao gồm cả các máy chủ ảo hóa được cài đặt trình ảo hóa và đang chạy các máy ảo. Lưu trữ có thể gây ra hiệu suất cao hoặc thấp, cũng như đảm bảo độ tin cậy cao hoặc thấp trong việc lưu giữ dữ liệu máy ảo và đĩa ảo. Các loại lưu trữ khác nhau có thể được sử dụng trong môi trường ảo Hyper-V, và quản trị viên nên đưa ra lựa chọn đúng đắn trước khi cấu hình máy chủ hoặc triển khai máy ảo.
Bài đăng trên blog này nhằm giúp bạn khám phá các loại tùy chọn lưu trữ khác nhau để lựa chọn phương án lưu trữ phù hợp nhất với môi trường của bạn, từ đó đáp ứng các yêu cầu của bạn một cách hiệu quả.
Khuyến nghị về bộ nhớ Hyper-V
Bộ nhớ có thể được gắn vào máy chủ Hyper-V có thể thuộc hai loại: bộ nhớ cục bộ hoặc bộ nhớ từ xa.
Bộ nhớ cục bộ bao gồm một số đĩa được gắn trực tiếp vào máy chủ. Các đĩa này thường được kết nối qua giao diện SAS (Serial Attached SCSI) với bộ điều khiển RAID (Redundant Array of Independent Disks) bên trong khung máy chủ. Việc sử dụng đĩa SAS được ưu tiên hơn đĩa SATA (mặc dù có tính tương thích – đĩa SATA có thể được kết nối với các cổng SAS nhưng không ngược lại) do mức độ tin cậy cao hơn của đĩa SAS. Lưu trữ cục bộ có thể tiết kiệm chi phí hơn so với lưu trữ từ xa. Nếu bạn không có kế hoạch triển khai cụm Hyper-V, bạn có thể sử dụng lưu trữ cục bộ.
Lưu trữ từ xa được đặt riêng biệt với máy chủ Hyper-V và được kết nối với máy chủ thông qua các giao thức iSCSI, Fibre Channel hoặc SMB 3.0. Fibre Channel và iSCSI cung cấp lưu trữ cấp khối trong khi SMB 3.0 là lưu trữ cấp tệp. Fibre Channel yêu cầu một giao diện vật lý đặc biệt để kết nối máy chủ với lưu trữ như SAN (Mạng Lưu trữ Khu vực). FCoE (Fibre Channel over Ethernet) có thể được sử dụng để kết nối lưu trữ qua mạng Ethernet. Giao thức iSCSI có thể được sử dụng để kết nối máy chủ với SAN hoặc NAS (Network Attached Storage). Thiết bị NAS trông giống như một máy chủ mini có bộ điều khiển RAID với các khe cắm cho ổ đĩa bên trong và các cổng khác nhau để kết nối với mạng bên ngoài. Một máy chủ độc lập cũng có thể được cấu hình để sử dụng như NAS. SAN và NAS có thể đảm bảo tính dự phòng dữ liệu để tăng độ tin cậy.
Khi Triển khai cụm dự phòng, phải sử dụng lưu trữ từ xa được chia sẻ với tất cả các nút trong cụm. Trong trường hợp này, loại lưu trữ này được gọi là lưu trữ chia sẻ.
Sử dụng RAID 1 hoặc RAID 10
RAID là mảng đĩa độc lập có tính dự phòng. Tính dự phòng dữ liệu trên hệ thống lưu trữ có thể bảo vệ dữ liệu của bạn trong trường hợp đĩa cứng bị hỏng. Có một số loại RAID.
RAID 0 không có tính dự phòng và được gọi là phân chia đĩa. Không có khả năng chịu lỗi – sự cố của một đĩa sẽ gây ra sự cố cho toàn bộ mảng. Tăng hiệu suất có thể được đề cập như một trường hợp sử dụng (ví dụ: lưu trữ tạm thời các luồng trực tiếp cho ngành truyền hình). Cần tối thiểu 2 đĩa để xây dựng loại RAID này.

RAID 1 có tính dự phòng. Tất cả các khối trên một đĩa được sao chép sang đĩa khác, do đó, đạt được 100% dự phòng. Nếu một trong các đĩa bị hỏng, dữ liệu trên đĩa thứ hai có thể được truy cập và sử dụng để xây dựng lại mảng. Xác suất thành công khi xây dựng lại mảng lưu trữ là rất cao. RAID 1 có thể được sử dụng làm giải pháp lưu trữ dự phòng. Cần tối thiểu 2 đĩa cứng để xây dựng loại RAID này.

RAID 10 là sự kết hợp giữa RAID 0 và RAID 1. Các ưu điểm của cả hai loại mảng này đều được tận dụng, do đó kết quả là một mảng lưu trữ có khả năng chịu lỗi với hiệu suất cao hơn. Các đĩa được nhân bản được kết hợp thành một dải. Cần tối thiểu 4 đĩa để xây dựng loại RAID này. Nếu RAID 10 bao gồm 4 đĩa, dữ liệu có thể được bảo vệ trong trường hợp bất kỳ đĩa nào bị hỏng. Hơn nữa, mảng 4 đĩa vẫn có thể hoạt động nếu hai đĩa từ các bản sao khác nhau bị hỏng.

RAID 5 cung cấp tính năng phân dải với tính chẵn lẻ. Các khối dữ liệu được phân chia trên các đĩa, nhưng thông tin parity dùng cho việc khôi phục cũng được lưu trữ trên các đĩa. Dung lượng chiếm dụng bởi thông tin parity bằng dung lượng của một đĩa. Ví dụ, thông tin parity chiếm khoảng 25% dung lượng cho mảng 4 đĩa. Nó không phải là 100% dự phòng như RAID 1. Về mặt lý thuyết, RAID 5 có thể hoạt động bình thường nếu một trong các đĩa bị hỏng. Yêu cầu tối thiểu 3 đĩa để xây dựng loại RAID này.

RAID 6 cung cấp cơ chế phân chia dữ liệu với hai lớp kiểm tra chẵn lẻ. Điều này tương tự như khái niệm của RAID 5 nhưng thông tin kiểm tra chẵn lẻ được lưu trữ trên hai đĩa thay vì chỉ một. RAID 6 có thể hoạt động bình thường ngay cả khi hai đĩa bị hỏng. Cần tối thiểu 4 đĩa để xây dựng loại RAID này.

Ban đầu, RAID 5 và RAID 6 có vẻ hấp dẫn, nhưng hãy xem xét kỹ hơn. RAID 5 được phát triển cách đây hàng chục năm khi dung lượng đĩa còn khá nhỏ. Trong thế giới hiện đại, dung lượng đĩa cứng tăng nhanh hơn tốc độ đĩa – do đó, nếu một đĩa bị hỏng thì quá trình khôi phục RAID 5 có thể mất nhiều thời gian. Tải công việc của từng đĩa trong RAID 5 tăng đáng kể trong quá trình khôi phục, đặc biệt nếu máy chủ sử dụng lưu trữ một cách tích cực để thực hiện các tác vụ thường xuyên cùng lúc. Có thể có dữ liệu ít được sử dụng trên các đĩa thuộc RAID 5; và bạn không thể chắc chắn rằng dữ liệu này có thể được đọc thành công. Điều này làm tăng khả năng xảy ra lỗi. Nếu xảy ra lỗi trong quá trình khôi phục mảng, toàn bộ mảng có thể bị hỏng. Khi RAID 5 có một đĩa bị hỏng, mảng này hoạt động giống như RAID 0 và dữ liệu sẽ gặp rủi ro.
RAID 6 có lượng dữ liệu chẵn lẻ gấp đôi so với RAID 5, có thể được sử dụng để khôi phục. Do đó, xác suất sống sót khi một đĩa bị hỏng cũng như xác suất khôi phục thành công cao hơn. RAID 6 còn có một vấn đề khác – hiệu suất của nó thấp nhất so với RAID 10 và RAID 5. Các vấn đề về hiệu suất đặc biệt dễ nhận thấy trong quá trình xây dựng lại.
Như có thể thấy, RAID 1 và RAID 10 mang lại độ tin cậy cao nhất, đó là lý do tại sao chúng được khuyến nghị sử dụng cho lưu trữ Hyper-V. RAID phần cứng có thể được cấu hình trên máy chủ vật lý hoặc trên thiết bị NAS.
Sử dụng lưu trữ tốc độ cao
Hiệu suất đầu vào/đầu ra (I/O) của lưu trữ có tác động đáng kể đến việc đảm bảo hiệu suất đủ cho các máy ảo (VM). Nên sử dụng các ổ cứng (HDD) nhanh nhất để lưu trữ các máy ảo. Hiện có nhiều loại ổ cứng hiện đại với đặc tính hiệu suất cao, cung cấp tốc độ cao với giá cả phải chăng theo đơn vị Gigabyte. Nếu tốc độ của ổ cứng không đủ cho các máy ảo của bạn, bạn có thể sử dụng ổ cứng thể rắn (SSD). Khác với ổ cứng HDD truyền thống có các bộ phận chuyển động, ổ SSD không có bộ phận chuyển động nào, do đó SSD cung cấp tốc độ cao hơn – nhưng đắt hơn. Giá mỗi Gigabyte của SSD cao hơn, và dung lượng tổng thể của nó thường thấp hơn so với ổ HDD. Bằng cách sử dụng các ổ đĩa có hiệu suất cao nhất cho lưu trữ Hyper-V, các máy ảo có thể hoạt động mà không bị giật lag.
Sử dụng một phân vùng chuyên dụng để lưu trữ các máy ảo (VM)
Tránh lưu trữ các máy ảo trên phân vùng hệ thống. Phân vùng hệ thống thường được sử dụng để đọc hoặc ghi các tệp hệ thống do hệ điều hành sử dụng (C: luôn là phân vùng hệ thống theo mặc định). Do đó, việc lưu trữ các tệp máy ảo trên phân vùng hệ thống có thể làm giảm hiệu suất của máy ảo. Một vấn đề khác có thể phát sinh là thiếu không gian trống trên phân vùng. Tình huống này có thể xảy ra khi các tệp hệ thống chiếm hết dung lượng đĩa trống, hoặc khi các tệp máy ảo như tệp đĩa ảo chiếm hết dung lượng đĩa. Kết quả là, các máy ảo có tệp được lưu trữ trên phân vùng hệ thống có nguy cơ gặp sự cố. Ngoài ra, máy chủ Hyper-V cũng có thể không hoạt động đúng cách nếu không có đủ dung lượng trống để ghi các tệp hệ thống. Hãy sử dụng các phân vùng riêng biệt để lưu trữ hệ điều hành và máy ảo. Hơn nữa, tránh lưu trữ các tệp hệ thống như tệp hoán đổi trên các ổ đĩa được sử dụng cho dữ liệu máy ảo.
Lưu trữ tệp máy ảo tại một vị trí duy nhất
Một số tệp chính của máy ảo Hyper-V bao gồm: VHDX (VHD) – tệp đĩa ảo, AVHDX – tệp đĩa ảo chênh lệch, VMCX – tệp cấu hình, và VMRS – tệp trạng thái thời gian chạy. Các tệp máy ảo có thể được lưu trữ tại các vị trí mặc định khác nhau, điều này không thuận tiện cho quản trị viên. Để tránh điều này, hãy chỉ định một thư mục duy nhất để lưu trữ tất cả các tệp thuộc về máy ảo (VM) hiện tại. Trong ảnh chụp màn hình bên dưới, có thể thấy rằng tất cả các tệp thuộc về máy ảo có tên Server2016-01 đều được lưu trữ trong các thư mục con của một thư mục có tên Server2016-01.

Dành dung lượng cho các tệp BIN (VMRS)
Các tệp BIN chiếm dung lượng đĩa để lưu trữ trạng thái bộ nhớ. Vì vậy, cần dành một khoảng trống trên các phân vùng lưu trữ tệp máy ảo. Kể từ Hyper-V 2016, phần mở rộng của loại tệp này đã được thay đổi từ BIN thành VMRS. Loại tệp này đứng thứ hai về mức tiêu thụ dung lượng đĩa, chỉ sau các tệp đĩa ảo VHDX. Kích thước của tệp BIN (VMRS) bằng với kích thước bộ nhớ ảo của máy ảo. Ví dụ: nếu máy ảo của bạn có đĩa ảo 30 GB và bộ nhớ ảo 8 GB, bạn nên dành ít nhất 38 GB trên bộ lưu trữ của mình. Nếu bộ nhớ ảo động được cấu hình cho máy ảo, thì kích thước tệp BIN (VMRS) sẽ bằng với lượng bộ nhớ đã được phân bổ tại thời điểm hiện tại.
Nên sử dụng hệ thống tệp nào: NTFS hay ReFS?
NTFS (New Technology File System) là hệ thống tệp do Microsoft phát triển vào năm 1993 và hiện được sử dụng rộng rãi trong môi trường Windows.
ReFS (Hệ thống tệp tin chịu lỗi) là hệ thống tệp tin mới nhất của Microsoft được phát hành cùng với Windows Server 2012, có các cải tiến như:
- Bảo vệ dữ liệu khỏi hỏng hóc bằng cách sử dụng kiểm tra tổng (checksum) cho metadata và tệp tin
- Tích hợp với Storage Spaces
- Kiểm tra tính toàn vẹn dữ liệu tự động và sửa lỗi (nếu xảy ra lỗi)
- Công nghệ sao chép khối (rất hữu ích khi các máy ảo được sao chép)
- Khả năng chịu đựng sự cố mất điện được cải thiện
- Hỗ trợ mã hóa bằng BitLocker
- Kích thước tệp tối đa và độ dài tên tệp được tăng lên
- Dung lượng tối đa được tăng lên
- Tạo đĩa ảo cố định nhanh hơn
Như có thể thấy, Hệ thống tệp ReFS có một danh sách dài các ưu điểm và được thiết kế để đáp ứng các yêu cầu về lưu trữ máy chủ một cách hiệu quả hơn. Tuy nhiên, cũng có một số nhược điểm:
- Không thể khởi động Windows từ ổ đĩa ReFS
- Không hỗ trợ nén dữ liệu, loại bỏ trùng lặp dựa trên tệp của Windows, mã hóa tệp, liên kết cứng, thuộc tính mở rộng và giới hạn dung lượng đĩa
- Không thể sử dụng cho các ổ đĩa chia sẻ theo cụm (Clustered Shared Volumes)
- Không hỗ trợ tên tệp định dạng 8.3 truyền thống
Cuối cùng, việc lựa chọn hệ thống tệp thuộc về người quản trị. Nên sử dụng ReFS cho lưu trữ Hyper-V nếu các hạn chế của ReFS không ảnh hưởng đến hệ thống của bạn.
Sử dụng mạng lưu trữ tốc độ cao
Khi sử dụng lưu trữ từ xa, kết nối mạng là yếu tố quan trọng. Nếu bạn có các đĩa tốc độ cao trong NAS hoặc SAN nhưng kết nối mạng chậm, hiệu suất tổng thể của hệ thống lưu trữ sẽ bị giảm sút. Chính vì lý do này, việc sử dụng mạng chuyên dụng tốc độ cao với độ trễ thấp được khuyến nghị. Kết nối mạng 10 Gbit được khuyến nghị để đảm bảo tốc độ chấp nhận được. Sử dụng NIC teaming để tổng hợp băng thông cũng rất hữu ích.
Tránh lưu trữ máy ảo có bộ điều khiển miền trên chia sẻ SMB3
Cần truy cập bộ điều khiển miền để chia sẻ SMB 3.0 hoạt động đúng cách. Nếu máy chủ có chia sẻ SMB 3.0 hoặc máy chủ Hyper-V không thể truy cập máy chủ miền, quá trình xác thực sẽ không thành công và kết nối không thể thiết lập. Trong trường hợp này, máy chủ Hyper-V không thể khởi động máy ảo (VM) có máy chủ miền được đặt trên chia sẻ SMB 3.0. Hãy lưu trữ máy ảo có máy chủ miền trên bộ nhớ cục bộ của máy chủ Hyper-V để tránh vấn đề này.
Sử dụng Cluster Shared Volumes (CSV) cho lưu trữ cụm
Khi triển khai cụm, bạn nên cấu hình lưu trữ chia sẻ. Khi sử dụng lưu trữ truyền thống không có CSV, chỉ một nút (máy chủ Hyper-V) có thể truy cập cùng một đĩa/LUN tại một thời điểm. Clustered Shared Volumes (CSV) có thể giải quyết vấn đề này bằng cách cung cấp quyền truy cập đồng thời vào lưu trữ cho nhiều nút mà không cần gắn lại phân vùng hoặc thay đổi quyền sở hữu và quyền truy cập. Với CSV, bạn có thể có hệ thống tệp cụm được xếp lớp trên NTFS hoặc ReFS cho Hyper-V.
Tránh sử dụng đĩa truyền qua
Đĩa truyền qua là đĩa vật lý (LUN) được kết nối với máy ảo. Loại đĩa này được sử dụng làm thiết bị lưu trữ và được kết nối trực tiếp với bộ điều khiển đĩa của máy ảo. Đối với các phiên bản đầu tiên của Hyper-V, việc sử dụng đĩa truyền qua giúp tăng hiệu suất. Ngày nay, các định dạng đĩa ảo đã đủ tiên tiến – do đó, việc chú trọng vào hiệu năng và sử dụng đĩa pass-through không còn hợp lý do những vấn đề có thể phát sinh khi sử dụng chúng. Bạn không thể dễ dàng di chuyển một đĩa pass-through cùng với máy ảo, và phần mềm sao lưu không thể sao lưu một máy ảo sử dụng loại đĩa này ở cấp độ máy chủ.
Nên chọn loại đĩa ảo nào – VHD hay VHDX?
VHD là định dạng đĩa ảo truyền thống cho máy ảo, được giới thiệu vào năm 2003. VHDX là định dạng tiên tiến hơn (được phát hành cùng với Windows Server 2012), có giới hạn dung lượng đĩa ảo cao hơn (lên đến 64TB), hỗ trợ khối 4KB, cho phép thay đổi kích thước đĩa ảo trực tiếp và có cơ chế cập nhật liên tục cấu trúc metadata, giúp giảm thiểu nguy cơ hỏng dữ liệu do mất điện. Vì lý do này, nên ưu tiên sử dụng đĩa ảo VHDX trong môi trường Hyper-V của bạn.
Sử dụng đĩa ảo cố định và đĩa ảo mở rộng động
Một đĩa ảo cố định là tệp VHDX (VHD) chiếm toàn bộ không gian đã phân bổ trên bộ lưu trữ, bất kể lượng không gian thực tế được sử dụng bên trong đĩa ảo. Ưu điểm của việc sử dụng đĩa ảo cố định là chúng hoạt động nhanh hơn, không gây ra vấn đề do phân bổ quá mức, và mức độ phân mảnh của tệp VHDX không thay đổi sau khi tạo. Nhược điểm của việc sử dụng đĩa ảo cố định là quá trình tạo đĩa có thể mất nhiều thời gian hơn trên các phân vùng NTFS, và cần nhiều không gian lưu trữ hơn để tạo đĩa.
Đĩa ảo mở rộng động bắt đầu với kích thước nhỏ chỉ vài kilobyte sau khi phân bổ trước, kích thước này sẽ tăng lên khi ghi tệp vào đĩa ảo cho đến khi đạt đến kích thước tối đa đã được phân bổ trước trong quá trình tạo đĩa. Đĩa động không thể tự động thu nhỏ khi dữ liệu trên đĩa loại này bị xóa. Ưu điểm của việc sử dụng đĩa động là tiết kiệm không gian, tạo nhanh chóng và hỗ trợ phân bổ quá mức. Nhược điểm là đĩa động chậm hơn đĩa cố định, gây ra mức độ phân mảnh cao hơn và tính năng phân bổ dư có thể dẫn đến không đủ dung lượng trống trên bộ lưu trữ sau khi đĩa động mở rộng.
Bạn có thể sử dụng cả đĩa ảo cố định và đĩa ảo động tùy theo nhu cầu.
Đĩa cứng ảo chênh lệch
Đĩa cứng ảo chênh lệch là tệp đĩa ảo (AVHDX hoặc AVHD) được tạo trong thư mục VM cùng với các đĩa ảo sau khi tạo điểm kiểm tra. Mục đích của đĩa ảo chênh lệch là lưu trữ các thay đổi được ghi vào đĩa ảo gốc của một máy ảo sau khi tạo điểm kiểm tra. Đĩa ảo gốc có thể là đĩa cố định, đĩa động hoặc đĩa chênh lệch. Khi một điểm kiểm tra bị xóa, đĩa ảo chênh lệch đã được tạo cùng với điểm kiểm tra này sẽ được hợp nhất với đĩa ảo gốc. Đĩa ảo chênh lệch cũng có thể được tạo bằng Trình hướng dẫn tạo đĩa cứng ảo mới của Hyper-V. Cần lưu ý rằng việc tạo ra số lượng lớn các điểm kiểm tra sẽ dẫn đến việc tạo ra các đĩa ảo chênh lệch ngày càng lớn, từ đó gây giảm hiệu suất.
Theo dõi tình trạng và hiệu suất đĩa
Việc theo dõi tình trạng đĩa thường xuyên có thể ngăn chặn bất kỳ hư hỏng đĩa nào có thể gây ra sự hỏng dữ liệu. Hãy sử dụng các công cụ có thể theo dõi dữ liệu S.M.A.R.T. (Công nghệ Tự Giám sát, Phân tích và Báo cáo) của các ổ đĩa, bao gồm cả các đĩa thuộc hệ thống RAID. Càng phát hiện sớm ổ đĩa có vấn đề, khả năng dữ liệu của bạn được an toàn càng cao. Hiệu suất ổ đĩa cũng cần được theo dõi để xác định những ổ đĩa nào có thể bị quá tải. Điều này giúp bạn đưa ra quyết định phân phối lại các máy ảo (VM) có tác vụ sử dụng ổ đĩa nặng sang các thiết bị lưu trữ khác nhằm tối ưu hóa hiệu suất tổng thể.
Kết luận
Lưu trữ là thành phần quan trọng đối với máy chủ vì dữ liệu mà hệ thống lưu trữ chứa đựng đặc biệt quan trọng đối với hầu hết các công ty CNTT. Bài viết blog hôm nay đã trình bày các phương pháp lưu trữ tốt nhất cho Hyper-V, giúp tối ưu hóa hiệu suất máy ảo và đảm bảo độ tin cậy cao của hệ thống lưu trữ. Từ các khuyến nghị được liệt kê ở trên, hãy chọn những phương án phù hợp với môi trường của bạn.
Ngay cả khi bạn sở hữu hệ thống lưu trữ hàng đầu, việc sao lưu dữ liệu máy ảo Hyper-V một cách đúng đắn vẫn rất quan trọng. NAKIVO Backup & Replication có thể giúp bạn sao lưu các máy ảo Hyper-V một cách hiệu quả nhất.