1. Tổng quan
Trong quá trình vận hành hạ tầng server có sử dụng RAID controller (nhất là dòng Dell PERC H7xx trở lên), kỹ sư hệ thống rất dễ gặp các tình huống như:
- Không tạo được RAID mới vì controller báo có “Preserved Cache”.
- Gắn ổ đĩa cũ vào node mới thì bị “Foreign Configuration Detected”.
Hai khái niệm tưởng chừng giống nhau, nhưng thực chất lại hoàn toàn khác nhau: Foreign Configuration và Preserved Cache. Việc hiểu rõ vai trò và cách xử lý từng loại giúp bạn tránh thao tác sai, gây mất dữ liệu hoặc không thể triển khai RAID như mong muốn.
2. Khái niệm chi tiết
2.1. Foreign Configuration là gì?
Foreign Configuration (Cấu hình lạ) là metadata RAID được ghi sẵn trên ổ đĩa từ một hệ thống khác, nhưng không thuộc về RAID controller hiện tại.
🧠 Ví dụ thực tế:
Bạn tháo một ổ đĩa ra từ node A (đang chạy RAID 5), rồi gắn vào node B để tái sử dụng. Ngay khi khởi động node B, RAID controller sẽ phát hiện RAID metadata trên ổ này và đánh dấu là foreign.
✨ Ưu điểm:
- Cho phép bạn nhập lại cấu hình RAID cũ nếu muốn phục hồi.
⚠️ Nhược điểm:
- Nếu không xóa, bạn không thể tạo RAID mới từ ổ đĩa đó.
✅ Cách xử lý:
- Xóa foreign config nếu không cần giữ RAID cũ:
omconfig storage controller action=clearforeignconfig controller=0
2.2. Preserved Cache là gì?
Preserved Cache (bộ đệm tạm giữ) là dữ liệu cache chưa kịp ghi xuống đĩa do RAID controller gặp lỗi hoặc sự cố mất điện, crash hệ thống.
Cache này lưu trên controller, không nằm trên đĩa.
🧠 Ví dụ thực tế:
Một VD (Virtual Disk) RAID bị lỗi, controller giữ lại dữ liệu cache (trong RAM hoặc NVRAM). Mục tiêu là khi bạn sửa RAID (gắn lại ổ bị lỗi chẳng hạn), controller có thể khôi phục toàn bộ trạng thái trước đó.
⚠️ Nếu bạn không sửa RAID, cache đó sẽ không có ích và:
- Bạn không thể tạo VD mới được vì controller sợ mất dữ liệu đang giữ.
✅ Cách xử lý:
- Phải dùng
perccli
để xóa cache:./perccli64 /c0 show preservedcache ./perccli64 /c0/v5 delete preservedcache
🔍 So sánh chi tiết
Tiêu chí | Foreign Configuration | Preserved Cache |
---|---|---|
Lưu ở đâu | Trên ổ đĩa | Trên controller RAID |
Khi nào xuất hiện | Gắn ổ đĩa từ node khác có RAID | RAID bị lỗi, chưa flush cache |
Có thể tạo RAID mới? | ❌ (nếu chưa xóa foreign) | ❌ (nếu chưa xóa preserved cache) |
Công cụ xử lý | omconfig hoặc perccli | Chỉ dùng perccli mới xử lý được |
Mục đích chính | Nhận diện RAID cũ từ hệ khác | Bảo vệ dữ liệu chưa ghi |
🧪 Ví dụ thực tế
Trường hợp: Tạo RAID mới trên một ổ cũ → lỗi
omconfig storage controller action=createvdisk controller=0 raid=r0 size=max pdisk=0:1:6
→ Lỗi: “A new virtual disk cannot be created while preserved cache exists.”
Giải pháp:
# Bước 1: Xóa foreign config (nếu có)
omconfig storage controller action=clearforeignconfig controller=0
# Bước 2: Kiểm tra preserved cache
./perccli64 /c0 show preservedcache
# Bước 3: Xóa preserved cache
./perccli64 /c0/v5 delete preservedcache
# Bước 4: Tạo lại RAID
omconfig storage controller action=createvdisk controller=0 raid=r0 size=max pdisk=0:1:6
🔧 Sơ đồ ASCII mô tả đơn giản
┌────────────┐ ┌──────────────┐
│ Ổ đĩa A │────Foreign────▶ Controller B │
│ (từ Node A)│ │ │
└────────────┘ └──────────────┘
│ │
▼ ▼
RAID cũ Preserved Cache
(metadata RAID) (Dữ liệu cache chưa flush)
⇒ Không tạo được RAID mới nếu không xử lý!
💡 Lời khuyên thực tế
- Khi xử lý RAID trên Dell server:
- ❗ Không chỉ dùng
omconfig
– hãy càiperccli
để xử lý cache, VD lỗi. - ❗ Kiểm tra cả hai:
foreign config
vàpreserved cache
trước khi tạo RAID mới.
- ❗ Không chỉ dùng
- Luôn backup dữ liệu trước khi thao tác RAID!
- Tránh cắm lộn ổ từ node khác vào hệ thống đang hoạt động nếu chưa xóa RAID metadata.
🧾 Kết luận
Foreign Configuration
và Preserved Cache
là hai cơ chế hoàn toàn khác nhau nhưng cùng có thể ngăn cản việc tạo RAID mới trên server Dell. Nắm rõ sự khác biệt, công cụ xử lý và luồng thao tác sẽ giúp bạn:
- Tránh mất thời gian tìm lỗi mơ hồ.
- Tránh thao tác sai gây mất RAID hoặc mất dữ liệu.
- Xử lý sự cố RAID trong production nhanh và an toàn hơn.
Nếu bạn thấy bài viết hữu ích, hãy chia sẻ lại cho đồng nghiệp hoặc bookmark lại khi cần xử lý RAID khẩn cấp nhé!