

Trong hạ tầng đám mây, Block storage là gì và tại sao nó lại là lựa chọn bắt buộc cho các tác vụ nặng, đứng sau hiệu năng của các hệ thống cơ sở dữ liệu lớn, cụm máy ảo (VMs) và môi trường container (Kubernetes). Bài viết này sẽ bóc tách chi tiết từ định nghĩa, cơ chế, ưu nhược điểm của công nghệ lưu trữ dạng khối Block storage.
Block storage (Lưu trữ dạng khối), hay còn gọi là block-level storage, là một công nghệ lưu trữ dữ liệu chuyên dụng trong các mạng lưu trữ vùng (SAN - Storage Area Networks) hoặc các môi trường điện toán đám mây. Công nghệ này hoạt động bằng cách bẻ gãy các tệp dữ liệu lớn thành các phần nhỏ riêng biệt gọi là các khối (block), trong đó mỗi khối được cấp một mã định danh duy nhất và quản lý độc lập như một ổ cứng cứng vật lý riêng lẻ.
Nhờ cơ chế chia nhỏ này, hệ thống có thể linh hoạt phân tán và lưu trữ các khối dữ liệu tại bất kỳ vị trí nào trên các thiết bị phần cứng khác nhau nhằm tối ưu hiệu suất, đồng thời cho phép cấu hình hoặc phân vùng chúng để tương thích đồng thời với nhiều hệ điều hành khác nhau.
Bên cạnh đó, việc tách biệt hoàn toàn dữ liệu khỏi môi trường của người dùng giúp phân tán dữ liệu qua nhiều môi trường, tạo ra đa đường dẫn (multiple paths) để tăng tốc độ truyền tải. Khi có yêu cầu truy xuất từ người dùng hoặc ứng dụng, hệ thống lưu trữ cốt lõi bên dưới sẽ tự động tìm kiếm, lắp ráp lại các khối dựa trên mã định danh và trả về tệp dữ liệu hoàn chỉnh một cách nhanh chóng, chính xác và đáng tin cậy.

Cloud Block Storage là một phương thức lưu trữ khối được cung cấp bởi các nhà cung cấp dịch vụ đám mây. Về bản chất, nó hoàn toàn giống với block storage truyền thống nhưng được triển khai qua môi trường internet bằng công nghệ đám mây, thay vì phụ thuộc vào hạ tầng phần cứng vật lý tại chỗ. Block storage trên đám mây mang lại khả năng mở rộng (scalability) vượt trội và là yếu tố nền tảng để xây dựng hạ tầng dựa trên đám mây.
Giải pháp lưu trữ khối dựa trên đám mây cho phép người dùng mở rộng dung lượng lưu trữ một cách dễ dàng và tiết kiệm chi phí, biến nó trở thành lựa chọn lý tưởng cho các ứng dụng yêu cầu hiệu năng cao.
Thông thường, người dùng có thể quản lý giải pháp lưu trữ khối của mình thông qua một bảng điều khiển, chẳng hạn như Giao diện dòng lệnh (CLI - Command-Line Interface) hoặc Giao diện lập trình ứng dụng (API - Application Programming Interface).
Hơn thế nữa, các nhà cung cấp dịch vụ đám mây thường cung cấp một loạt các dịch vụ bổ sung đi kèm với giải pháp lưu trữ khối của họ như dịch vụ sao lưu (backup), chụp ảnh ổ đĩa (snapshot) và các dịch vụ quản trị (managed services), nhằm ngăn ngừa mất mát dữ liệu và nâng cao hiệu quả hoạt động của doanh nghiệp.

Block storage cho phép tạo ra các phân vùng lưu trữ thô (raw storage volumes) mà các hệ điều hành trên máy chủ có thể kết nối tới. Bạn có thể coi các phân vùng thô này như những ổ đĩa cứng độc lập vật lý. Điều này giúp bạn ứng dụng block storage cho hầu hết mọi loại ứng dụng, bao gồm lưu trữ tệp (file storage), lưu trữ cơ sở dữ liệu (database storage), các phân vùng hệ thống tệp máy ảo (VMFS - Virtual Machine File System) và nhiều hơn thế nữa.
Lấy ví dụ về việc triển khai các máy ảo (VM) trong một doanh nghiệp. Với block storage, bạn có thể dễ dàng tạo và định dạng một phân vùng lưu trữ dạng khối để lưu trữ hệ thống tệp máy ảo (VMFS). Sau đó, một máy chủ vật lý có thể kết nối vào khối lưu trữ đó để khởi tạo nhiều máy ảo khác nhau.
Hơn thế nữa, việc tạo một phân vùng dạng khối, cài đặt hệ điều hành và kết nối với phân vùng đó còn cho phép người dùng chia sẻ tệp tin trực tiếp bằng chính hệ điều hành gốc đó.
Block Storage chia dữ liệu thành các khối (blocks) độc lập, gán mã định danh duy nhất và lưu phân tán trên hệ thống mạng lưu trữ (SAN). Khi có lệnh truy xuất, hệ thống sẽ dựa vào bảng tra cứu (lookup table) để tìm kiếm, thu thập và tự động hợp nhất các khối này lại thành tệp gốc ban đầu trong thời gian thực, mang lại tốc độ đọc/ghi siêu tốc và độ trễ cực thấp.
Khi một ứng dụng sử dụng block storage thực hiện ghi dữ liệu vào cơ sở dữ liệu của hệ thống lưu trữ khối, thay vì lưu trữ toàn bộ dưới dạng một tệp tin duy nhất, hệ thống sẽ chia nhỏ dữ liệu đó thành nhiều phần khác nhau – gọi là các "khối" (blocks). Các khối này không nhất thiết phải được lưu trữ theo bất kỳ một trật tự cụ thể nào.
Mỗi khối dữ liệu sẽ sở hữu một số định danh duy nhất (ID), cho phép ứng dụng có thể tìm kiếm và định vị chính xác khối đó về sau.
Các mã định danh duy nhất này được lưu trữ tập trung trong một bảng tra cứu dữ liệu (data lookup table). Cấu trúc của bảng này cho phép ứng dụng dễ dàng tìm ra vị trí chính xác của từng khối dữ liệu bất cứ khi nào cần đến.
Bất cứ khi nào có yêu cầu truy xuất dữ liệu được lưu trữ trong các khối, ứng dụng sẽ tham chiếu vào bảng tra cứu dữ liệu để tìm ra nơi các phần dữ liệu yêu cầu đang được lưu giữ. Thông thường, phần dữ liệu được yêu cầu sẽ nằm rải rác trên nhiều khối khác nhau. Ứng dụng sẽ sử dụng các mã định danh từ bảng tra cứu để thu thập lại các khối dữ liệu đó, sau đó tự động hợp nhất các khối riêng lẻ này trở về hình thức tệp tin gốc ban đầu.
Block storage mang lại sự linh hoạt trong việc quản lý và mở rộng các phân vùng lưu trữ (storage volumes), cho phép người dùng cấp phát và phân bổ lại dung lượng theo nhu cầu thực tế. Bên cạnh việc cung cấp hiệu năng cao và độ trễ thấp, giải pháp lưu trữ khối còn đem lại rất nhiều lợi ích:

Mặc dù mang lại nhiều lợi ích nhưng Block Storage cũng có vài điểm hạn chế sau:
Để tối ưu chi phí và giảm độ phức tạp, giải pháp hiệu quả nhất hiện nay là dịch chuyển sang Cloud Block Storage để tận dụng mô hình dùng tới đâu trả tới đó (Pay-as-you-go) mà không cần tự vận hành hạ tầng phần cứng, đồng thời kết hợp chiến lược lưu trữ hỗn hợp (Hybrid): chỉ giữ Block Storage cho các tác vụ cốt lõi yêu cầu hiệu năng cao như cơ sở dữ liệu hay máy ảo, còn dữ liệu ít dùng (như backup, log, media) sẽ được đẩy sang Object Storage hoặc File Storage với giá thành rẻ hơn.
Block storage là một giải pháp tối ưu cho nhiều trường hợp sử dụng khác nhau trên đa dạng ngành nghề và ứng dụng.

Sự khác nhau giữa SAN và Block Storage được phân biệt rõ ràng như sau:
SAN là "con đường", còn Block Storage là "hàng hóa" chạy trên con đường đó. Hệ thống mạng SAN được xây dựng để chuyên chở dữ liệu dưới định dạng Block Storage.
Ổ cứng SSD vật lý (bản thân nó) KHÔNG phải là Block Storage, nhưng nó HOẠT ĐỘNG theo nguyên lý Block Storage ở cấp độ phần cứng. Khi bạn thuê "Block Storage" trên Cloud (như AWS EBS hay VNPT Cloud Block Storage), nhà cung cấp đám mây thực chất đang cắt một phần dung lượng từ một mảng các ổ đĩa SSD/HDD hiệu năng cao dưới trung tâm dữ liệu và truyền cho bạn qua mạng.
Snapshot (ảnh chụp nhanh) hoạt động theo nguyên lý Copy-on-Write. Nó chỉ ghi lại trạng thái của các khối dữ liệu tại một thời điểm chính xác và chỉ lưu phần dữ liệu thay đổi (incremental) kể từ lần snapshot trước, giúp diễn ra gần như lập tức.
Snapshot phụ thuộc vào ổ đĩa gốc (nếu ổ đĩa gốc hỏng vật lý, snapshot có thể bị ảnh hưởng). Trong khi đó, Backup là một bản sao độc lập hoàn toàn, được nén và chuyển sang một phân vùng lưu trữ khác (như Object Storage) để đảm bảo an toàn tuyệt đối khi có thảm họa.
Hiểu rõ Block storage là gì cùng cơ chế vận hành của nó là chìa khóa giúp doanh nghiệp xây dựng một hạ tầng dữ liệu tối ưu, vững chắc và đạt hiệu năng tối đa. Dù tồn tại những thách thức về mặt chi phí và độ phức tạp trong triển khai, nhưng khi được kết hợp đúng cách với các giải pháp đám mây hiện đại, công nghệ này sẽ mang lại lợi thế vượt trội về tốc độ xử lý cho các hệ thống cốt lõi. Hy vọng bài viết đã cung cấp cho bạn cái nhìn toàn diện để đưa ra lựa chọn lưu trữ phù hợp nhất cho dự án của mình.
