VPS

Ổ NVMe trong RAID 10: đọc ghi song song hoạt động thế nào

Thanh Nguyễn Cập nhật Đăng 8 phút đọc 1 khối lệnh

Ổ NVMe trong RAID 10: đọc ghi song song hoạt động thế nào
Mục lục bài viết
  1. Giải phẫu một dàn RAID 10 bốn ổ
  2. Đường đi của lệnh đọc và ghi
  3. Ngày xấu trời: một ổ chết lúc 2h sáng
  4. Ai hưởng lợi nhất từ nền RAID 10 NVMe
  5. Ai hưởng lợi nhất từ cấu hình này
  6. Ngày một ổ chết: điều gì thật sự xảy ra
  7. Kiểm tình trạng dàn ổ
  8. Ba câu hỏi khi thuê máy chủ có cấu hình này
  9. Câu hỏi thường gặp
  10. Bài viết liên quan

Trả lời nhanh: RAID 10 ghép hai ý tưởng: mirror, mỗi khối dữ liệu có bản gương trên ổ khác (một ổ hỏng, dữ liệu còn nguyên); và stripe, dữ liệu rải qua nhiều cặp gương (đọc/ghi huy động nhiều ổ cùng lúc). Trên nền NVMe, cặp này cộng hưởng đặc biệt: hàng đợi sâu của NVMe cho phép mỗi ổ trong dàn nhận việc song song thật sự, đọc ngẫu nhiên cộng sức nhiều ổ, ghi vẫn nhanh dù nhân đôi sang gương. Kết quả: dàn 4 ổ NVMe RAID 10 vừa chịu tải cao hơn ổ đơn, vừa sống sót qua hỏng ổ mà dịch vụ không dừng.

Bài RAID 10 nhập môn (18005) đã trả lời 'nó là gì'; bài này trả lời 'nó chạy thế nào và vì sao đi với NVMe lại hợp đến vậy', mức chi tiết dành cho người muốn hiểu hạ tầng mình đang gửi dữ liệu lên, kể cả kịch bản ngày xấu trời: một ổ chết lúc 2h sáng thì chuyện gì xảy ra với website của bạn.

Giải phẫu một dàn RAID 10 bốn ổ

Bốn ổ chia hai cặp gương (mirror pair); dữ liệu rải khối (stripe) luân phiên qua hai cặp: khối 1 → cặp A (ghi cả hai ổ của A), khối 2 → cặp B, khối 3 → A... Mỗi khối luôn tồn tại ở đúng hai nơi. So với các anh em: RAID 0 chỉ stripe, nhanh mà một ổ chết là mất tất; RAID 1 chỉ mirror, an toàn mà không cộng sức; RAID 5/6 tiết kiệm ổ hơn nhưng trả giá bằng tính toán parity khi ghi và rebuild chậm rủi ro. RAID 10 là lựa chọn 'đắt ổ', hy sinh 50% dung lượng thô, đổi lấy công thức đơn giản, nhanh và phục hồi lành nhất: đúng khẩu vị hạ tầng chứa dữ liệu khách hàng.

Đường đi của lệnh đọc và ghi

Đọc: khối cần đọc nằm ở một cặp gương, controller chọn ổ đang rảnh hơn trong cặp; nhiều lệnh đọc đồng thời được rải khắp bốn ổ. Với mẫu random read QD cao (web đông khách, bài queue depth), thông lượng đọc tiến gần tổng sức bốn ổ. Ghi: mỗi khối phải xuống cả hai ổ của cặp, lệnh ghi 'tốn gấp đôi', nhưng hai lệnh chạy song song sang hai ổ: độ trễ ghi ≈ ổ chậm hơn trong cặp, không phải tổng. Trên HDD xưa, cái giá mirror này đau; trên NVMe hàng đợi sâu + PLP, nó gần như tàng hình, lý do cụm từ 'NVMe RAID 10' xuất hiện cùng nhau trong mọi bài của chuỗi này.

Ngày xấu trời: một ổ chết lúc 2h sáng

  1. Phát hiện: controller/giám sát đánh dấu ổ hỏng, cặp gương của nó chạy tiếp bằng ổ còn lại. Dịch vụ không dừng; người thuê VPS thường không nhận ra gì.
  2. Thay nóng: nhờ khay U.2 (bài U.2 vs M.2), kỹ thuật viên rút ổ hỏng cắm ổ mới khi máy đang chạy.
  3. Rebuild: chép lại bản gương sang ổ mới, chạy nền, có ăn một phần I/O; trên NVMe, rebuild nhanh hơn hẳn thời HDD (cửa sổ rủi ro, lúc cặp chỉ còn một ổ, ngắn lại tương ứng).

Ghi chú trung thực quen thuộc: RAID chống hỏng ổ, không chống xóa nhầm, ransomware, cháy nổ, backup định kỳ vẫn là lớp riêng (quy tắc 3 lớp của bài backup database).

Ai hưởng lợi nhất từ nền RAID 10 NVMe

  • Database ghi liên tục: fsync xuống dàn có PLP + mirror = commit vừa nhanh vừa hai bản, web bán hàng ghi đơn là khách VIP số một.
  • Máy nhiều dịch vụ chen vai (mô hình cả stack một VPS): các dòng I/O song song được rải bốn ổ, cộng hưởng với kiến trúc hàng đợi NVMe.
  • Tải đọc cao đột biến: viral, chiến dịch quảng cáo, random read scale theo dàn chính là 'đệm' cho những ngày đẹp trời bất ngờ.
  • Người ghét downtime: chuỗi hỏng-thay-rebuild không dừng dịch vụ, số 9 uptime của bạn được hạ tầng gánh một phần từ tầng vật lý.

Ai hưởng lợi nhất từ cấu hình này

Loại tảiHưởng lợi mức nàoVì sao
Cơ sở dữ liệu có nhiều kết nối đồng thờiRất caoĐọc song song từ nhiều ổ, ghi vẫn an toàn
Máy chủ ảo hóa chạy nhiều máy ảoRất caoMỗi máy ảo đọc ghi độc lập
Trang web nhiều khách đồng thờiCaoĐộ trễ giữ ổn định khi tải tăng
Kho lưu trữ tệp ít truy cậpThấpKhông cần trả thêm
Máy chạy một việc tuần tựThấpKhông tận dụng được đọc song song

Ngày một ổ chết: điều gì thật sự xảy ra

  • Hệ thống vẫn chạy, vì mỗi cặp ổ giữ hai bản giống nhau. Đây là giá trị chính của cấu hình này.
  • Hiệu năng giảm trong lúc dựng lại, vì dàn ổ phải sao chép lại toàn bộ dữ liệu sang ổ mới. Với ổ dung lượng lớn, việc này mất nhiều giờ.
  • Giai đoạn dựng lại là giai đoạn rủi ro nhất: nếu ổ còn lại trong cùng cặp cũng chết lúc đó thì mất dữ liệu. Đây là lý do vẫn phải có sao lưu.
  • Cấu hình này không thay được sao lưu. Nó chống hỏng ổ, không chống xóa nhầm, không chống mã độc mã hóa dữ liệu, không chống hỏng cả máy chủ.

Kiểm tình trạng dàn ổ

TerminalKiểm tình trạng dàn ổbash
# Voi RAID phan mem tren Linuxcat /proc/mdstatmdadm --detail /dev/md0 # Kiem suc khoe tung ofor d in /dev/nvme0n1 /dev/nvme1n1 /dev/nvme2n1 /dev/nvme3n1; do  echo "--- $d"; smartctl -a $d 2>/dev/null | grep -i "percentage used\|media errors\|critical warning"done # Dat canh bao khi mot o chet, dung doi den luc phat hien bang tay# mdadm da co co che gui thong bao, phai cau hinh dia chi nhan # Do hieu nang thuc te cua dan ofio --name=t --ioengine=libaio --direct=1 --bs=4k --rw=randread \    --iodepth=32 --numjobs=8 --size=4G --runtime=300 --time_based --group_reporting

Ba câu hỏi khi thuê máy chủ có cấu hình này

  • Có cảnh báo tự động khi một ổ chết không, và ai nhận cảnh báo đó?
  • Thời gian thay ổ và dựng lại là bao lâu, và trong lúc đó hiệu năng giảm bao nhiêu?
  • Có sao lưu tách khỏi dàn ổ này không? Nếu câu trả lời là dàn ổ đã đủ an toàn thì đó là câu trả lời sai.

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

RAID 10 phần cứng hay phần mềm tốt hơn?

Cả hai đều trưởng thành (mdadm/ZFS phần mềm rất đáng tin trên NVMe). Với người thuê VPS, câu hỏi thực dụng hơn là: nhà cung cấp có chạy RAID không và giám sát/thay ổ quy trình nào, hỏi thẳng, nhà tử tế trả lời rõ.

VPS của tôi có 'thấy' RAID không?

Không, ảo hóa trình bày một ổ ảo; RAID nằm dưới tầng bạn nhìn. Bạn 'thấy' nó qua hệ quả: hiệu năng tổng, độ ổn định, và việc một sự cố ổ vật lý trôi qua mà máy bạn không sập.

RAID 10 có làm chậm ghi không như lời đồn?

Trên HDD xưa: có cảm nhận được. Trên NVMe: ghi song song sang gương khiến chi phí gần như biến mất trong hàng đợi, số fio bài 2 (random write) trên dàn tốt vẫn hàng chục nghìn IOPS.

Vì sao không dùng RAID 5/6 cho tiết kiệm?

Parity của 5/6 bắt mỗi lần ghi nhỏ phải đọc-tính-ghi lại nhiều nơi (write penalty) và rebuild khi hỏng ổ rất dài, trên dữ liệu giao dịch, RAID 10 mua đứt hai nhược điểm đó bằng dung lượng. Kho lưu trữ lớn ít ghi mới là đất của 5/6.

Chia sẻ:Facebook

Thanh Nguyễn

TND

Tư vấn bản quyền, VPS và máy chủ kèm hóa đơn VAT, hợp đồng đầy đủ cho doanh nghiệp.