Chuyên mục
NAS Virtualization

[Proxmox] Passthrough HDD / SDD vào máy ảo XPEnology

Sau khi cài đặt thành công máy ảo XPEnology trên Proxmox, mình tiếp tục thực hiện việc passthrough ổ đĩa cứng để máy ảo XPEnology có thể truy xuất trực tiếp, không phải thông qua sự quản lý của Proxmox.

Dưới đây là hướng dẫn mình thực hiện cho máy ảo XPEnology. Bạn có thể thực hiện cho bất kỳ máy ảo KVM nào khác trên nền tảng Proxmox.

1. Passthourgh ổ cứng gắn ngoài (External HDD)

Đối với ổ cứng gắn ngoài (External HDD) cắm vào máy chủ qua cổng USB, mình thao tác y hệt như cách thiết lập USB Passthrough đã chia sẻ trong bài viết trước đây.

Ví dụ như dưới đây là ổ cứng gắn ngoài Portable HDD được cấu hình Passthrough vào máy ảo .

2. Passthourgh ổ cứng gắn trong

Đối với ổ cứng gắn trong (Interal HDD) kết nối thông qua cổng SATA / NVME, mình cần phải SSH vào console của Proxmox để thực hiện qua dòng lệnh.

Sử dụng lệnh sau để tìm các ổ cứng đang có trên máy chủ Proxmox

lsblk |awk 'NR==1{print $0" DEVICE-ID(S)"}NR>1{dev=$1;printf $0" ";system("find /dev/disk/by-id -lname \"*"dev"\" -printf \" %p\"");print "";}'|grep -v -E 'part|lvm'Code language: Nginx (nginx)

Kết quả hiện ra như dưới đây.

NAME                           MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT DEVICE-ID(S)
sda                              8:0    0 465.8G  0 disk   /dev/disk/by-id/ata-TOSHIBA_MQ01ABF050M_X66BP0UWT /dev/disk/by-id/wwn-0x5000039752682108
nvme0n1                        259:0    0 953.9G  0 disk   /dev/disk/by-id/nvme-eui.002538ba71be0f6a /dev/disk/by-id/nvme-SAMSUNG_MZVLW1T0HMLH-000L7_S35ANX0JA08970Code language: YAML (yaml)

Mình muốn Passthrough ổ cứng TOSHIBA (465.8G) vào máy ảo XPENology, ghi lại id của nó: ata-TOSHIBA_MQ01ABF050M_X66BP0UWT.

Để passthrough ổ cứng này vào máy ảo, sử dụng lệnh qm set <vmid> [OPTIONS]

root@proxmox:/mnt/pve/thuanr# qm set 126 -sata3 /dev/disk/by-id/ata-TOSHIBA_MQ01ABF050M_X66BP0UWT
update VM 126: -sata3 /dev/disk/by-id/ata-TOSHIBA_MQ01ABF050M_X66BP0UWTCode language: YAML (yaml)
  • 126: ID của máy ảo XPENology
  • -sata3: kết nối vào máy ảo thông qua chuẩn SATA
  • /dev/disk/by-id/ata-TOSHIBA_MQ01ABF050M_X66BP0UWT: id của ổ cứng cần Passthrough

Quay lại giao diện Proxmox, truy cập vào phần Hardware của máy ảo XPENology, danh sách đã hiện ra thêm Hard Disk (sata3).

Truy cập vào máy ảo, ra lệnh Shutdown tắt máy. Sau đó khởi động lại để máy ảo nhận ổ cứng mới vừa được kết nối này.

Dưới đây là thành quả của mình sau khi Passthrough HDD từ Proxmox vào máy ảo XPEnnology:1 USB HDD và 1 SATA HDD hoạt động ngon lành trên máy ảo XPEnology.

Tham khảo: https://pve.proxmox.com/wiki/Passthrough_Physical_Disk_to_Virtual_Machine_(VM)

Nếu bài viết của mình mang đến thông tin, kiến thức hữu ích cho bạn, đừng ngại mời mình ly bia để có thêm động lực chia sẻ nhiều hơn nữa. Cám ơn bạn!

Lưu ý: Nếu bạn cần hỗ trợ kỹ thuật, vui lòng gửi câu hỏi trực tiếp ở phần Thảo luận bên dưới, mình sẽ trả lời sớm. Đừng mò vào hỏi trong fanpage Yêu Chạy Bộ, sẽ không có phản hồi đâu!

Bởi Thuận Bùi

Runner at Yêu Chạy Bộ. Blogger at Ba Lô & Dép Lào. Web Developer at TB's Blog.
Follow me: Facebook / Instagram

17 trả lời trong “[Proxmox] Passthrough HDD / SDD vào máy ảo XPEnology”

Passthrough theo cách này thì giống như việc sử dụng 1 ổ ảo trên cả 1 ổ vật lý. Khi có lỗi thì không thể lấy lại được dữ liệu. Để có thể đọc lại dữ liệu nếu máy lỗi thì phải passthrough cả chipset quản lý.

Cách này mình làm theo hướng dẫn chính thức từ Proxmox: https://pve.proxmox.com/wiki/Passthrough_Physical_Disk_to_Virtual_Machine_(VM) : By adding the raw physical device to the Virtual machine, you can test installers and other disk repair tools that work with disk controllers like ddrescue, Clonezilla or Ubuntu Rescue Remix.
Bạn cho xin cái nguồn hay bài viết nào nói rằng làm cách này thì giống như việc sử dụng 1 ổ ảo trên cả 1 ổ vật lý và khi có lỗi thì không thể lấy lại được dữ liệu để mình tham khảo thêm với. Biết đâu Proxmox nó chỉ tầm bậy.

Mình không có nguồn tài liệu cũng như không biết Proxmox có chỉ bậy hay không. Nhưng đây là trải nghiệm thực tế của mình.
1. Trong Xpen không thấy được thông tin của ổ HDD đã passthough.
2. Khi mình tạo 1 máy ảo xpen mới, mình passthough theo hướng dẫn của Proxmox thì máy ảo bắt phải tạo lại Pool mới mà không cho sử dụng pool cũ.

Đây là list HDD của mình khi mình passthough cả Card PCIE to 6 sata.(https://upanh.tv/image/iupFu3)

Nhiều khả năng bạn làm sai gì đó chứ không phải Proxmox chỉ sai.
1. Xpen không thấy được thông tin ổ HDD có thể do hạn chế gì đó bên Proxmox
2. Mình đã tạo thử 1 máy ảo Xpen mới, và passthrough lại đĩa cứng từ Xpen cũ qua Xpen mới và thấy bên Xpen mới vẫn nhận ra Pool đã tạo trước đó, và có thể thực hiện Online Assemble để phục hồi lại: https://img.upanh.tv/2023/05/11/NNN-Synology-NAS.png

Mình đang có 1 con server vật lý, chạy Proxmox, giờ muốn tìm giải pháp backup VM (khoảng 6 con), trong trường hợp chét Raid chẳng hạn thì vẫn còn bản backup VPS) admin có thể tư vấn đc ko?

Trên proxmox pass through thành công thì nó vẫn hiện lalf QEMU Harddisk nhé. Chừng nào bạn passthrough nguyên cái PCI Controller Card thì nó mới hiện tên hard drive. Vẫn xài bình thường.

Nếu như pass through trên Proxmox mà vẫn hiện là QEMU Harddisk, mình đọc ghi dữ liệu trong đó, đến khi mình muốn chuyển sang làm ổ lưu trữ trên bare metal (cài mới hoàn toàn), cắm lại nguyên (giả sử 2 ổ RAID SHR trên VM Xpen) thì dữ liệu trên Xpen mới có được nhận diện và Assemble không ?
Cảm ơn bác

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *