Email Doanh NghiệpSSLFirewall Anti DDoS

NỘI DUNG

Banner blog lễ 30.4 và 1.5

Persistent Volumes là gì? Cách tạo và sử dụng Persistent Volumes chi tiết

Hưng Nguyễn

Đã kiểm duyệt nội dung

Ngày đăng:14/11/2025
Lượt xem

Đánh giá

Speed optimizer 2

Persistent Volume (PV) là một thành phần lưu trữ cốt lõi trong Kubernetes, giúp lưu giữ dữ liệu bền vững tách biệt khỏi vòng đời của Pod. Việc sử dụng PV đảm bảo dữ liệu không bị mất khi Pod bị xóa, tái tạo hoặc di chuyển trên các node khác nhau trong cụm. Bài viết này sẽ giúp bạn hiểu rõ hơn về khái niệm, lợi ích và cách sử dụng Persistent Volume một cách hiệu quả trong môi trường Kubernetes.

Những điểm chính

  1. Persistent Volume (PV) là gì: Hiểu rõ khái niệm Persistent Volume (PV) và vai trò của nó trong việc lưu trữ dữ liệu bền vững cho Kubernetes.
  2. Tại sao Persistent Volume lại cần thiết: Nhận thức được tầm quan trọng của PV trong việc bảo vệ dữ liệu khỏi vòng đời tạm thời của container.
  3. Điểm khác biệt giữa PV và volume thông thường: Phân biệt rõ ràng sự khác biệt về vòng đời, quản lý và khả năng mở rộng giữa PV và volume thông thường.
  4. Các thành phần chính của Persistent Volume: Nắm bắt ba thành phần cốt lõi (PV, PVC, StorageClass) và cách chúng phối hợp với nhau.
  5. Cách tạo, sử dụng Persistent Volume và Persistent Volume Claim chi tiết: Nắm vững quy trình các bước để tạo và sử dụng PV, PVC trong môi trường Kubernetes.
  6. Các chế độ truy cập của Persistent Volume: Phân biệt được các chế độ truy cập khác nhau để lựa chọn phù hợp cho từng ứng dụng.
  7. Chính sách hoàn trả của Persistent Volume: Hiểu rõ các chính sách hoàn trả để quản lý vòng đời và dữ liệu của PV một cách an toàn.
  8. Một số chú ý khi sử dụng Persistent Volume: Nắm được những lưu ý quan trọng khi làm việc với PV để tránh các lỗi phổ biến.
  9. Hạ tầng lưu trữ ổn định và bảo mật, tốc độ: Khám phá giải pháp hạ tầng từ Vietnix giúp tối ưu hiệu suất và bảo mật cho hệ thống.
  10. Giải đáp thắc mắc thường gặp: Giải đáp các thắc mắc thường gặp để phân biệt rõ PV, PVC và các cơ chế liên quan.
những điểm chính

Persistent Volume là gì?

Persistent Volume (PV) trong Kubernetes là một phân vùng lưu trữ được cấp phát trước bởi quản trị viên hoặc tự động thông qua StorageClass, đóng vai trò như một tài nguyên ổn định độc lập với vòng đời của Pod. PV giúp lưu trữ dữ liệu bền vững, không bị mất khi Pod bị xóa hoặc máy chủ bị thay thế.

Persistent Volume là một phân vùng lưu trữ được cấp phát trước bởi quản trị viên hoặc tự động
Persistent Volume là một phân vùng lưu trữ được cấp phát trước bởi quản trị viên hoặc tự động

PV có thể được cấu hình dựa trên nhiều loại backend lưu trữ khác nhau như NFS, iSCSI, đám mây hoặc lưu trữ nội bộ. Nhưng điểm chung là PV tồn tại ở mức cụm và được quản lý tách biệt với các Pod sử dụng nó. Dữ liệu trên PV luôn được duy trì, hỗ trợ tác vụ như sao lưu, phục hồi hoặc di chuyển ứng dụng dễ dàng hơn trong môi trường Kubernetes.

Hiệu suất của backend lưu trữ mà Persistent Volume sử dụng, đặc biệt với các giải pháp lưu trữ nội bộ, quyết định trực tiếp đến hiệu năng ứng dụng, do đó việc triển khai các node Kubernetes trên nền tảng hạ tầng mạnh mẽ là yêu cầu cốt lõi. Dịch vụ cho thuê VPS NVMe từ Vietnix đáp ứng nhu cầu này bằng cách cung cấp một VPS máy chủ ảo tích hợp ổ cứng NVMe và CPU AMD EPYC, tạo ra môi trường lý tưởng để vận hành các ứng dụng đòi hỏi độ trễ thấp, được củng cố bởi cơ chế backup tự động và hỗ trợ kỹ thuật chuyên nghiệp.

col vps nmve 2

VPS NVME – Ổ CỨNG VÀ CPU THẾ HỆ MỚI

Khả năng xử lý siêu khủng với ổ cứng NVMe và CPU Platinum

Tại sao Persistent Volume lại cần thiết trong môi trường container?

Trong môi trường container, dữ liệu lưu trong các Pod (container) mặc định chỉ tồn tại nhất thời trên host và sẽ bị mất khi Pod được xóa, khởi động lại hoặc di chuyển sang node khác. Điều này làm cho việc lưu trữ dữ liệu lâu dài hoặc cần chia sẻ cho nhiều phiên bản ứng dụng trở nên bất khả thi nếu chỉ dùng volume tạm thời. Persistent Volume (PV) khắc phục hoàn toàn vấn đề này bằng cách cung cấp giải pháp lưu trữ độc lập với vòng đời của Pod.

PV giúp đảm bảo dữ liệu ứng dụng không bị mất kể cả khi hệ thống thực hiện cập nhật, scaling hoặc di chuyển workload. Nhờ đó, những ứng dụng như cơ sở dữ liệu, lưu trữ file, hoặc ứng dụng cần ghi nhận trạng thái đều hoạt động ổn định và bảo toàn dữ liệu giữa các lần khởi động lại hay nâng cấp Pod. Việc kiểm soát dữ liệu tập trung cũng giúp tăng tính linh hoạt quản lý lưu trữ, backup và phục hồi dữ liệu dễ dàng hơn, phù hợp với đặc điểm động và phân tán của Kubernetes.

Persistent Volumes giúp đảm bảo dữ liệu ứng dụng luôn an toàn
Persistent Volumes giúp đảm bảo dữ liệu ứng dụng luôn an toàn

Điểm khác biệt giữa Persistent Volumes và volume thông thường

Tiêu chíPersistent Volume (PV)Volume thông thường
Vòng đờiĐộc lập với vòng đời Pod, tồn tại lâu dài trong cụm KubernetesGắn trực tiếp với Pod, mất khi Pod kết thúc
Quản lýĐược quản trị viên hoặc tự động cấp phát thông qua StorageClassTạo và quản lý cùng Pod
Mục đích sử dụngLưu trữ dữ liệu bền vững, chia sẻ giữa nhiều Pod hoặc phiên bảnLưu trữ dữ liệu tạm thời, thường dùng cho dữ liệu ngắn hạn
Tính trừu tượngTrừu tượng hóa đối tượng lưu trữ bên ngoài, nhiều loại backendRàng buộc trực tiếp với node hoặc host chứa Pod
Khả năng mở rộngHỗ trợ mở rộng và tái sử dụng, có chính sách tái sử dụng rõ ràngKhông hỗ trợ mở rộng, volume mất khi Pod xóa
Khả năng chia sẻ dữ liệuCó thể chia sẻ cho nhiều Pod thông qua PersistentVolumeClaimThường dành cho một Pod duy nhất, chia sẻ hạn chế hoặc không có
Tích hợp với StorageClassCó thể sử dụng StorageClass để tự động cấp phát hoặc định cấu hìnhKhông có tính năng StorageClass, phải cấu hình thủ công

Các thành phần chính của Persistent Volume

Persistent Volume (PV) trong Kubernetes được cấu thành bởi các thành phần quan trọng:

  • Persistent Volume (PV): Là đối tượng lưu trữ được thiết lập và tồn tại ở cấp độ cụm. PV xác định các thuộc tính như loại backend, dung lượng, và chế độ truy cập, giúp quản lý lưu trữ tách biệt với vòng đời của Pod.
  • Persistent Volume Claim (PVC): Là một yêu cầu tài nguyên lưu trữ do người dùng hoặc ứng dụng đặt ra, xác định dung lượng và các yêu cầu truy cập cho dữ liệu cần được lưu trữ. PVC sẽ tự động tìm và gắn kết với một PV phù hợp.
  • StorageClass: Định nghĩa các lớp lưu trữ khác nhau, hỗ trợ tự động cấp phát PV với các cấu hình backend, tốc độ, hay mức độ sao lưu khác nhau, phù hợp với nhu cầu cụ thể của từng ứng dụng.

Ba thành phần trên phối hợp với nhau để đảm bảo quá trình cấp phát, sử dụng, và quản lý không gian lưu trữ của ứng dụng trên Kubernetes luôn linh hoạt, nhất quán và an toàn.

Việc quản lý các Persistent Volume và vòng đời dữ liệu chỉ là một phần trong bài toán lớn hơn là vận hành và mở rộng toàn bộ cụm Kubernetes, đòi hỏi một nền tảng hạ tầng đủ mạnh mẽ và linh hoạt để đáp ứng các yêu cầu kiến trúc phức tạp. Giải pháp Enterprise Cloud của Vietnix được thiết kế để giải quyết thách thức này bằng cách cung cấp một cụm tài nguyên CPU, RAM, và Storage hoàn toàn riêng biệt, trên đó người dùng có toàn quyền khởi tạo, mở rộng và quản lý các cụm Kubernetes ngay từ giao diện quản trị, giúp đơn giản hóa đáng kể quá trình triển khai các ứng dụng container hóa.

Bước 1: Tạo Persistent Volume (PV)

Trong ví dụ này, ta sẽ tạo một Persistent Volume sử dụng kiểu hostPath – đây là loại lưu trữ phù hợp để phát triển, demo trên hệ thống Kubernetes có một node duy nhất do nó tận dụng thư mục vật lý ngay trên node.

Ví dụ file cấu hình PV (pv-hostpath.yaml):

apiVersion: v1
kind: PersistentVolume
metadata:
  name: my-hostpath-pv
  labels:
    usage: dev
spec:
  storageClassName: hostpath
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/data-storage"

Thực hiện tạo PV với lệnh sau:

kubectl apply -f pv-hostpath.yaml

Kiểm tra PV vừa tạo:

kubectl get pv my-hostpath-pv

Bước 2: Tạo Persistent Volume Claim (PVC)

Tiếp theo, bạn xây dựng một file PVC (pvc-hostpath.yaml) để yêu cầu sử dụng từ PV đã tạo ở trên:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-pvc-hostpath
spec:
  storageClassName: hostpath
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 4Gi

Tạo PVC với câu lệnh:

kubectl apply -f pvc-hostpath.yaml

Sau khi apply, Kubernetes sẽ tự động ghép nối PVC này với PV phù hợp (có cùng storageClassName và đủ dung lượng). Kiểm tra trạng thái:

kubectl get pv my-hostpath-pv

Nếu PV đã được pvc nhận, cột STATUS sẽ hiện là Bound và cột CLAIM sẽ ghi tên PVC vừa tạo.

Bước 3: Tạo Pod sử dụng PVC

Bây giờ, bạn tạo một Pod và gắn volume sử dụng claim vừa khai báo. Ví dụ file cấu hình Pod (pod-with-pvc.yaml):

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pvc-pod
spec:
  containers:
    - name: nginx-container
      image: nginx
      ports:
        - containerPort: 80
      volumeMounts:
        - mountPath: "/usr/share/nginx/html"
          name: shared-storage
  volumes:
    - name: shared-storage
      persistentVolumeClaim:
        claimName: my-pvc-hostpath

Tạo Pod với lệnh:

kubectl apply -f pod-with-pvc.yaml

Sau khi hoàn tất, Pod đã sẵn sàng sử dụng không gian lưu trữ lâu dài được cung cấp qua Persistent Volume (hostPath) nhờ Persistent Volume Claim.

iconLưu ý

Trong spec của Pod, chỉ cần tham chiếu đến PVC và PVC sẽ tự động được liên kết với PV bên dưới giúp việc quản lý storage của Pod chủ động, linh hoạt và tách biệt khỏi định danh vật lý PV.

Các chế độ truy cập của Persistent Volume

Mỗi Persistent Volume trong Kubernetes có thể được cấu hình với nhiều chế độ truy cập khác nhau, quy định cách mount ổ lưu trữ này cho các node và pod trong cụm:

  • ReadWriteOnce (RWO): Chế độ cho phép volume được gắn với quyền đọc-ghi nhưng chỉ trên một node duy nhất. Toàn bộ các Pod chạy trên node đó đều có thể truy cập, đọc và ghi dữ liệu vào volume này.
  • ReadOnlyMany (ROX): Ở chế độ này, volume có thể đồng thời được gắn lên nhiều node khác nhau nhưng chỉ với quyền đọc, tức là mọi Pod ở bất kỳ node nào đều có thể truy cập dữ liệu nhưng không thể chỉnh sửa.
  • ReadWriteMany (RWX): Cho phép tất cả các Pod trên nhiều node cùng lúc vừa đọc vừa ghi dữ liệu trên volume, phù hợp cho ứng dụng cần chia sẻ dữ liệu động giữa nhiều thành phần.
  • ReadWriteOncePod (RWOP): Đây là chế độ mới, cho phép volume chỉ có thể được gắn với quyền đọc-ghi duy nhất cho một Pod trên toàn bộ cụm – không Pod nào khác được truy cập đồng thời.

Mỗi backend lưu trữ sẽ hỗ trợ các chế độ truy cập khác nhau: ví dụ hostPath chỉ hỗ trợ RWO, trong khi NFS hỗ trợ cùng lúc RWO, ROX và RWX. Với các loại lưu trữ tích hợp chuẩn CSI, quyền truy cập sẽ phụ thuộc vào driver của nhà cung cấp lưu trữ.

Các chế độ truy cập của Persistent Volume
Các chế độ truy cập của Persistent Volume

Chính sách hoàn trả của Persistent Volume

Khi làm việc với Persistent Volume trong Kubernetes, bạn cần chú ý lựa chọn chính sách hoàn trả phù hợp để kiểm soát cách xử lý dữ liệu sau khi tài nguyên không còn được sử dụng:

  • Retain: Khi PVC bị xóa, dữ liệu trên volume vẫn được giữ nguyên. Quản trị viên cần thực hiện thao tác dọn dẹp thủ công để giải phóng hoặc tái sử dụng tài nguyên, đảm bảo dữ liệu không bị thất lạc ngoài ý muốn.
  • Delete: Volume sẽ tự động bị xóa hoàn toàn khỏi hệ thống khi PVC tương ứng bị xóa. Phù hợp với các trường hợp muốn dữ liệu tự động dọn sạch mà không cần can thiệp thủ công.
  • Recycle: Khi PVC bị xóa, nội dung bên trong volume sẽ được xóa sạch, nhưng volume vật lý/đối tượng PV vẫn còn tồn tại để có thể tái sử dụng, tuy nhiên hình thức này đã bị loại bỏ khỏi các bản Kubernetes mới.
Chính sách hoàn trả của Persistent Volume
Chính sách hoàn trả của Persistent Volume

Một số chú ý khi sử dụng Persistent Volume

Dưới đây là một số lưu ý quan trọng bạn cần nhớ khi làm việc với Persistent Volume và Persistent Volume Claim trong môi trường Kubernetes:

  • Pre – Binding: Khi muốn chỉ định rõ PVC sẽ gắn với PV nào, sử dụng trường claimRef để kết nối chính xác, tránh tài nguyên bị lấy nhầm.
  • Quản lý vòng đời: Bạn cần chọn policy Reclaim (Retain/Recycle/Delete) phù hợp. Hãy luôn kiểm tra/trích xuất dữ liệu quan trọng trước khi xóa PVC hoặc PV để tránh mất mát, đảm bảo quá trình backup và khôi phục an toàn.
Lưu ý khi sử dụng Persistent Volume
Lưu ý khi sử dụng Persistent Volume

Vietnix – cung cấp hạ tầng lưu trữ bảo mật, ổn định tốc độ cho doanh nghiệp

Vietnix là nhà cung cấp các giải pháp hạ tầng lưu trữ website chuyên nghiệp tại Việt Nam, tập trung vào dịch vụ thuê máy chủ, máy chủ ảo (VPS) và hosting hiệu năng cao. Các giải pháp được thiết kế nhằm đáp ứng nhu cầu đa dạng của nhiều đối tượng, từ các doanh nghiệp yêu cầu hệ thống vận hành ổn định, các nhà phát triển website cá nhân, cho đến những startup trong giai đoạn tăng trưởng.

Nền tảng dịch vụ được xây dựng dựa trên cam kết về một hệ thống mạnh mẽ và uy tín, đi kèm với đội ngũ hỗ trợ kỹ thuật chuyên môn cao hoạt động 24/7 để đảm bảo hoạt động liên tục cho khách hàng.

Với chính sách chi phí hợp lý và các chương trình tối ưu hóa giá trị, Vietnix giúp các tổ chức và cá nhân dễ dàng tiếp cận công nghệ tiên tiến, tạo điều kiện thuận lợi để phát triển và mở rộng sự hiện diện trên không gian mạng.

Thông tin liên hệ:

  • Website: https://vietnix.vn/
  • Hotline: 1800 1093
  • Email: sales@vietnix.com.vn
  • Địa chỉ: 265 Hồng Lạc, Phường Bảy Hiền, Thành Phố Hồ Chí Minh

Câu hỏi thường gặp

Persistent Volume và Persistent Volume Claim khác nhau như thế nào?

Persistent Volume (PV) là tài nguyên lưu trữ vật lý hoặc ảo được tạo và quản lý bởi cụm Kubernetes, còn Persistent Volume Claim (PVC) là yêu cầu truy cập và sử dụng tài nguyên đó từ phía người dùng hoặc Pod.

Làm thế nào để Kubernetes tự động cấp phát Persistent Volume cho Pod?

Kubernetes sử dụng StorageClass để hỗ trợ dynamic provisioning, qua đó khi tạo PVC, hệ thống sẽ tự động tạo PV phù hợp mà không cần quản trị viên tạo thủ công.

Chính sách hoàn trả (Reclaim Policy) của Persistent Volume là gì?

Chính sách này xác định hành động khi một PV được giải phóng: giữ nguyên dữ liệu (Retain), xóa volume (Delete) hoặc làm sạch nội dung để tái sử dụng (Recycle)

Persistent Volume là thành phần không thể thiếu để đảm bảo lưu trữ dữ liệu bền vững và ổn định trong môi trường Kubernetes. Việc hiểu và áp dụng đúng cách PV cùng các cơ chế liên quan sẽ giúp ứng dụng luôn hoạt động hiệu quả, tránh mất dữ liệu khi Pod bị gián đoạn hay di chuyển. Hãy tận dụng tối đa công nghệ Persistent Volume để xây dựng hệ thống container bền vững, linh hoạt và dễ quản lý.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Đánh giá mức độ hữu ích của bài viết

icon 1 sao

Thất vọng

icon 2 sao

Chưa hữu ích

icon 3 sao

Bình thường

icon 4 sao

Hữu ích

icon 5 sao

Rất hữu ích

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

Icon tab

MAXSPEED HOSTING

TĂNG TỐC WEBSITE TOÀN DIỆN

CÔNG NGHỆ ĐỘC QUYỀN

Vector

PHẦN CỨNG MẠNH MẼ

Vector

HỖ TRỢ 24/7

Vector
ĐĂNG KÝ NGAYGroup icon
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

icon popup single post

CẢM ƠN BẠN ĐÃ ĐÁNH GIÁ BÀI VIẾT

Vietnix sẽ luôn cố gắng cải thiện chất lượng dịch vụ mỗi ngày

ĐÓNG

Đánh giá mức độ hữu ích của bài viết

icon 1 sao

Thất vọng

icon 2 sao

Chưa hữu ích

icon 3 sao

Bình thường

icon 4 sao

Hữu ích

icon 5 sao

Rất hữu ích

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG