Tuy nhiên, tôi không phải lúc nào cũng có phiên bản cập nhật mới nhất của các tệp ISO cài đặt, và tôi không thể tạo bản sao của cài đặt bare-metal theo cách tương tự. Sau khi làm hỏng quá nhiều ổ USB do cài lại các hệ điều hành khác nhau, đã đến lúc tìm một cách tốt hơn cho phòng thí nghiệm tại nhà của tôi.
Giải pháp khá tinh tế, liên quan đến việc thiết lập một máy chủ Preboot Execution Environment (PXE) lưu trữ các tệp ISO, cho phép các thiết bị khách của tôi khởi động từ chúng qua mạng. Tôi đã thử nghiệm ba biến thể khác nhau về cách xử lý điều này và giữ lại hai trong số đó, vì việc có quyền truy cập dễ dàng vào phương tiện khởi động là vô giá.
PXE server là gì và tại sao bạn nên sử dụng nó?
Hãy nghĩ về nó như một trung tâm tập trung cho các hình ảnh USD sống để cài đặt

PXE đặc tả môi trường thực thi preboot mô tả môi trường server – client được tiêu chuẩn hóa để khởi động một tổ hợp phần mềm, được truy xuất từ một mạng, trên các máy client hỗ trợ PXE. Trên máy client bắt buộc phải có card mạng PXE-capable NIC (network interface controller) và sử dụng một số giao thức chuẩn như DHCP và TFTP (Theo Wikipedia)
Hiểu một cách đơn giản PXE là cơ chế cho phép khởi động một phần mềm lấy qua mạng. Trong ngữ cảnh server vật lý để có thể khởi động PXE thì phía máy client cần NIC card mạng hỗ trợ PXE và hệ thống mạng có máy chủ DHCP và TFPT để cấp IP và phân bổ các image hệ điều hành xuống client. Đa số các thiết bị ngày này đều hỗ trợ cho chế boot PXE. Quá trình cài đặt OS xuống client hoàn toàn tự động.
Việc tìm một ổ USB để tạo phương tiện khởi động đã đủ phiền phức, nhưng điều gì sẽ xảy ra nếu thiết bị khách của bạn không có cổng USB khả dụng? Nhiều thiết bị doanh nghiệp bị khóa để bạn không thể khởi động từ phương tiện vật lý, và đó là lúc PXE phát huy tác dụng. Hãy nghĩ về nó như một kho lưu trữ trung tâm của phương tiện khởi động mà bất kỳ thiết bị nào trên mạng của bạn cũng có thể truy cập và khởi động từ đó, ngay cả khi chúng không có nhiều ổ cứng cục bộ.
Mặc dù bạn có thể thiết lập các thiết bị riêng lẻ như các khách hàng không đĩa, đó không phải là sức mạnh thực sự của PXE khi sử dụng tại nhà. Đó là việc kết hợp PXE với Proxmox, giúp việc thiết lập các máy ảo mới trở nên đơn giản, vì bạn không bao giờ phải lo lắng về vị trí của các tệp ISO; bạn chỉ cần chỉ định Proxmox sử dụng PXE như một tùy chọn khởi động và chọn các tệp khởi động bạn muốn.
Và vì tất cả các tệp ISO của tôi đều ở một nơi, tôi không bao giờ phải theo dõi các ổ USB nữa. Đó là một loạt các thứ tôi không bao giờ phải suy nghĩ, dù là đĩa cài đặt cho Linux, router, firewall, NAS hay Windows.
Mô hình PXE
PXE được phát triển bởi một số các nhà sản xuất phần mềm và phần cứng lớn. Được thiết kế ban đầu bởi Intel, cùng với sự tham gia của các nhà sản xuất như HP, 3Com, Dell, Phoenix Technologies. PXE làm việc với network card (NIC) trong client, biến NIC thành một boot device. PXE boot hệ điều hành cho các client từ network bằng cách lấy một boot image từ server. File này có thể là một OS hay pre-OS cho client. Bởi PXE làm việc cùng với NIC nên yêu cầu NIC phải có PXE-enable.
PXE bao gồm 2 thành phần: PXE client và PXE server
- PXE Server là thành phần triển khai chạy trên một thiết bị nào đó trong mạng LAN. Phần mềm này hỗ trợ các giao thức TFTP, DHCP. DHCP cấp phát địa chỉ IP để các máy client có thể liên lạc với các máy khác và với TFTP server để lấy các file boot và file cấu hình cần thiết. TFTP cung cấp dịch vụ truyền các file boot và file cấu hình cần thiết cho client.
- PXE client nằm trên card mạng. Các server, PC hầu hết đều cho phép khởi động máy tính qua mạng với PXE boot code. Các mainboard có card mạng onboard cũng hầu hết có thành phần này.
Nó không chỉ tốt cho việc khởi động
Tạo hình ảnh tùy chỉnh để thiết lập các thí nghiệm có thể lặp lại

Mặc dù ý tưởng chung cho các máy chủ PXE là lưu trữ các tệp ISO đã được cấu hình sẵn, một số, như Dự án Fog, có thể tạo hình ảnh từ các thiết bị đang chạy để sử dụng chúng như các hình ảnh khởi động PXE. Nếu bạn đã cảm thấy hứng thú, xin chúc mừng, bạn đã bị cuốn hút bởi phòng thí nghiệm tại nhà. Đây là tất cả về việc tìm ra quy trình làm việc phù hợp với nhu cầu của bạn, và đôi khi việc cài đặt, cập nhật và thêm công cụ vào hệ điều hành thủ công dễ dàng hơn là chỉnh sửa tệp ISO hoặc dựa vào script cài đặt.
Đôi khi tôi không biết mình muốn cài đặt gì cho đến khi hệ thống đang chạy, và khả năng tạo hình ảnh sau khi thực tế, nhưng trước khi tôi bắt đầu thử nghiệm, tạo ra sự khác biệt lớn. Tôi vẫn chưa có cách tự động hóa cài đặt OPNsense đáng tin cậy, vì các bộ điều hợp mạng gây khó khăn cho tôi, nhưng tôi có thể thực hiện quy trình thủ công dài trước khi tạo một hình ảnh.
Dù bạn sử dụng phần mềm máy chủ PXE nào, router của bạn cũng cần được thiết lập để chuyển tiếp các yêu cầu khởi động PXE đến máy chủ PXE, và cũng đến máy chủ TFTP chứa các hình ảnh. Nó phụ thuộc vào router của bạn, nhưng bạn có thể tìm thấy thông tin cần thiết trong các tùy chọn DHCP. Để kích hoạt Khởi động Mạng và Máy chủ TFTP, bạn phải chỉ định chúng đến địa chỉ IP của máy chủ PXE, và đó là tất cả.
Hoặc sử dụng PXE qua internet
Mặc dù truyền thống, các máy chủ PXE thường nằm tại chỗ, điều đó không nhất thiết phải như vậy. Netboot.xyz cung cấp một môi trường khởi động với một bộ sưu tập các tệp ISO, tất cả đều có thể truy cập qua HTTP. Đúng vậy, bạn không cần phải thiết lập một máy chủ PXE, mặc dù bạn có thể thiết lập một container Docker địa phương để bắt chước trang web được lưu trữ, hoặc thiết lập Ansible và tùy chỉnh playbook được cung cấp để thêm các mục của bạn vào menu khởi động. Đây thực sự là một trong những cách dễ nhất để cài đặt các máy ảo mới trong phòng thí nghiệm tại nhà, vì bạn không phải theo dõi các tệp phân phối, chỉ cần tệp ISO netboot.xyz.
Khởi động PXE là một công cụ quý giá cho phòng thí nghiệm tại nhà

Tôi vẫn giữ dự án Fog được cài đặt, vì vậy tôi có thể tổ chức các hình ảnh cài đặt của mình để dễ dàng truy xuất trong Proxmox. Tôi không phải trải qua quá trình tải xuống các tệp ISO mới cho mỗi dự án, hoặc lo lắng liệu chúng có được cập nhật hay không. Tôi có thể khởi động vào hình ảnh, cài đặt nhanh chóng và cập nhật mọi thứ theo các gói phần mềm hiện tại. Điều đó cũng có nghĩa là không còn ổ USB để làm hỏng, và tôi có thể giải phóng hàng terabyte dữ liệu trên PC chính của mình, nơi hiện đang lưu trữ tất cả các hình ảnh cài đặt của tôi.
Nguồn: xda-developers.com