Hôm nay thảo luận ba cách đơn giản truy cập dữ liệu lưu trữ trên VMFS datastore của host ESXi (file cấu hình, file dữ liệu và snapshot máy ảo) từ Linux, Windows và ESXi. Bài viết dựa trên trường hợp thực tế của khách hàng khi server duy nhất chạy VMware ESXi hypervisor bất ngờ ngừng hoạt động.
Nếu host ESXi bị sập nhưng ổ cục bộ của server vẫn hoạt động, luôn có thể copy file máy ảo (cả ổ dữ liệu và file cấu hình) từ VMFS datastore và chạy VM trên server khác (thậm chí trên VMware Workstation hoặc Hyper-V). Vấn đề chính: hệ điều hành phổ biến (Windows và Linux) mặc định không nhận diện phân vùng với hệ thống file VMFS, vì không có driver VMFS. Bài viết xem cách truy cập file máy ảo trên ổ với hệ thống file VMFS.
Vấn đề: backup VMware VM chưa được cấu hình và không có thời gian chẩn đoán/sửa lỗi boot ESXi host. Do đó quyết định thủ công copy file VM quan trọng từ VMFS storage và chạy trên host khác với ESXi cài gấp.
Xem ba kịch bản truy cập dữ liệu trên VMFS datastore.
Cách mount hệ thống file VMFS trên Linux (Ubuntu)
Có thể mount phân vùng VMFS trên máy cài Ubuntu (Ubuntu Live CD không phù hợp trường hợp này).
Trước hết, kết nối ổ vật lý với VMFS vào máy (server) cài Ubuntu. Để truy cập dữ liệu trên volume VMFS, phải cài gói thứ ba vmfs-tools. Gói này cho phép truy cập VMFS từ host non-ESXi. Chỉ truy cập dữ liệu ở chế độ read-only. Hạn chế thứ hai: nhà phát triển vmfs-tools chính thức hỗ trợ VMFS lên đến phiên bản 5.0. Khả năng kết nối phân vùng VMFS 6 (vSphere 6.0 và 6.5) không được đảm bảo.
Cài gói:
1 | apt-get install vmfs-tools |
Lưu ý. Trong kho Ubuntu chỉ có vmfs-tools 0.2.1, nhược điểm chính là chỉ làm việc với VMFS v3. Nếu cần mount datastore VMFS 5, phải tải và cài vmfs-tools 0.2.5 trở lên, ví dụ:
- https://mirrors.kernel.org/ubuntu/pool/universe/v/vmfs-tools/vmfs-tools_0.2.5-1_amd64.deb – gói cho hệ thống 32-bit.
- https://mirrors.kernel.org/ubuntu/pool/universe/v/vmfs-tools/vmfs-tools_0.2.5-1_i386.deb – gói cho hệ thống 64-bit.
Tải gói phù hợp:
1 | #wget https://mirrors.kernel.org/ubuntu/pool/universe/v/vmfs-tools/vmfs-tools_0.2.5-1_amd64.deb |
Cài đặt:
1 | #dpkg -i vmfs-tools_0.2.5-1_amd64.deb |
Cài phụ thuộc:
1 | #apt-get install vmfs-tools |
Sau khi cài, tạo mount point cho phân vùng VMFS:
1 | #mkdir /mnt/vmfs |
Xem phân vùng trên ổ đĩa. ESXi tạo nhiều phân vùng dịch vụ ngoài phân vùng file máy ảo (VMFS partition).
Nếu phiên bản ESXi 4 trở về trước, hoặc VMFS storage cập nhật từ VMFS 3 lên VMFS 5 và dung lượng không vượt 2TB, hiển thị danh sách ổ và phân vùng:
1 | #fdisk -l |
Như thấy, phân vùng VMFS là /dev/sdb3 (nhãn VMware VMFS).
Quan trọng. Từ ESXi 5 trở đi, VMFS v5 dùng bảng phân vùng GPT. GUID Partition Table cho phép tạo storage lớn hơn (lớn hơn 2TB), cũng như kết nối RDM-drives ở chế độ tương thích vật lý. Do đó để xem bảng phân vùng phải dùng lệnh parted thay vì fdisk.
Hiển thị thông tin phân vùng:
1 | #parted -l |
Giờ chỉ cần mount phân vùng VMFS storage:
1 | #vmfs-fuse /dev/sdb3 /mnt/vmfs |
Liệt kê nội dung phân vùng đã mount:
1 | #ls -all /mnt/vmfs |
Giờ thấy tất cả file máy ảo trên VMFS storage khả dụng ở chế độ read-only. Nghĩa là có thể copy thư mục và/hoặc file riêng lẻ của VM cần thiết sang ổ riêng và chạy trên host ESXi khác.
Truy cập VMFS Volume từ Windows
Để kết nối VMFS volume và truy cập file máy ảo từ Windows, cần driver Java đặc biệt — Open Source VMFS Driver. Driver này yêu cầu Java phiên bản 6 trở lên và cho phép mount VMFS volume ở chế độ read-only.
Tải Open Source VMFS Driver tại: https://code.google.com/archive/p/vmfs/. Hiện dự án chưa cập nhật từ 2010 và phiên bản driver mới nhất là VMFS Driver r95, chỉ hỗ trợ VMFS 3 (< ESXi 5).
Lưu ý. Nếu thử kết nối phiên bản VMFS mới hơn, sẽ nhận lỗi: No VMware File System detected.
- Tải Open Source VMFS Driver (fvmfs_r95_dist.zip) giải nén vào thư mục bất kỳ (ví dụ C:\vmfs).
- Kiểm tra hoạt động java-app fvmfs.jar:
1 2
cd \vmfs java -jar fvmfs.jar
- Xác định số HDD chứa VMFS storage kết nối vào máy Windows. Tìm số disk trong Disk Management Console hoặc diskpart (ví dụ disk index 1 – Disk1. Đối với driver fvmfs, disk tên: \\.\PhysicalDrive1).
- Lấy thông tin disk này:
1
java -jar fvmfs.jar \\.\PhysicalDrive1 info
- Chia sẻ disk qua WebDAV:
1
java -jar fvmfs.jar \\.\PhysicalDrive1 webdav
- Đảm bảo dịch vụ WebClient đã chạy. Nếu bị disable, hãy chạy.
- Mount disk chia sẻ:
1
net use * https://localhost:50080/vmfs
- Ổ mới chứa VMFS datastore khả dụng đọc sẽ xuất hiện trong hệ thống.
- Không đóng cửa sổ console khi làm việc với file trên VMFS storage.
Mount VMFS Datastore hiện có lên host ESXi mới
Như thấy, cả hai trường hợp trên, driver VMFS thứ ba cho Linux và Windows không cho phép làm việc với VMFS 6.0. Do đó, cách phổ quát nhất truy cập dữ liệu trên phân vùng VMFS của server bị sập là kết nối ổ đĩa của nó lên server ESXi mới (có thể cài ESXi trên host mới trong chưa đầy một giờ). Đây là cách dễ nhất. Cách này cho phép kết nối lại cả ổ cứng vật lý và LUN từ thiết bị lưu trữ (qua FC hoặc iSCSI).
Host ESXi mới phải nhận diện đúng VMFS datastore gắn kèm và bạn sẽ truy cập được file trên nó.
Các bước kết nối VMFS storage hiện có lên host ESXi mới mà không format:
- Kết nối đến server ESXi mới dùng vSphere Web Client;
- Kết nối ổ đĩa vào server mới và chạy Storage rescan;
- Vào Configure → Datastores chọn Create a new datastore;
- Chọn loại storage: Disk hoặc LUN;
- Trong danh sách thiết bị có sẵn, chọn ổ đĩa (LUN) đã kết nối với VMFS storage;
- Chọn chế độ kết nối. Chọn Keep the existing signature;
- Nhấn Finish;
- Vào phần storage của host. Chọn storage đã kết nối. Nội dung hiển thị bằng nút Datastore browser;
- Giờ có thể tìm file vmx cần thiết, đăng ký trên host và ngay lập tức khởi động các máy ảo quan trọng.