Điểm:0

Yêu cầu Linux/GRUB khởi động iPXE trong lần khởi động tiếp theo?

lá cờ se

Tôi vừa phát hiện ra điều kỳ diệu đó là iPXE.

Tôi đang chạy các phiên bản khác nhau của Debian trên nhiều máy tính khác nhau và muốn yêu cầu chúng khởi động lại vào iPXE từ xa và để iPXE tự động khởi động vào tệp .iso tự động triển khai clonezilla mà tôi có.

Có cách nào để yêu cầu Linux tự động khởi động vào iPXE trong lần khởi động tiếp theo và có iPXE sau đó tự động khởi động vào .iso từ máy chủ không?

Nikita Kipriyanov avatar
lá cờ za
Có một giải pháp xuất hiện: https://specialistoff.net/question/661. Trang này bằng tiếng Nga, tuy nhiên tôi nghĩ cách thức hoạt động của nó rất rõ ràng. Bạn có thể thử phương pháp này và viết (và chấp nhận) một câu trả lời thích hợp ở đây thay vì chỉ một liên kết.
Nikita Kipriyanov avatar
lá cờ za
(Tất nhiên, đây chỉ là một phần của giải pháp. Bạn cần một tác nhân nào đó sẽ tạo lại `grub.cfg` để thực sự chọn mục menu khởi động mới này.) Vì vậy, tôi đề xuất một giải pháp *đảo ngược*.
Moritz von Schweinitz avatar
lá cờ se
Cảm ơn! Trang tiếng Nga đó dường như gần như là những gì tôi muốn đạt được. Cảm ơn!
lá cờ in
Nếu bạn đang chạy kế thừa thì bạn có thể khởi động ipxe.lkrn từ grub, trong efi bạn có thể làm điều gì đó tương tự để khởi động ipxe.efi nhưng đó có thể là lỗi hoặc bạn có thể sử dụng efibootmgr để thay đổi thành netboot trong lần khởi động tiếp theo và sau đó sử dụng cấu hình proxydhcp, xem https://ipxe.org/appnote/proxydhcp làm mẫu, sau đó sử dụng http để nhận tập lệnh có thể động và sử dụng số sê-ri hoặc mac nếu bạn cần nó tự động và được định cấu hình.
Điểm:2
lá cờ za

Tôi sử dụng thiết lập tương tự, nhưng ngược lại. Cuối cùng, tôi có thể kiểm soát từ máy chủ cách các máy mục tiêu của tôi khởi động.

Tuy nhiên, tôi không dựa vào grub trên máy mục tiêu và tôi không sử dụng iPXE.

Thay vào đó, tôi đã cài đặt một máy chủ khởi động PXE. Ngày nay, cực kỳ khó để tìm thấy một máy tính có khởi động PXE không hoạt động. Vì vậy, tôi đã cấu hình tất cả các máy tính mà tôi cần điều khiển theo cách này để khởi động từ mạng qua PXE.

Nhân tiện, điều này cũng có thể xảy ra với các máy BIOS kiểu cũ và UEFI hiện đại, và chính máy chủ DHCP sẽ phân biệt giữa các trường hợp này và đề xuất bộ tải khởi động thích hợp cho máy.

Trong mọi trường hợp, máy tải một số biến thể của PXELinux. Nó có một thuộc tính gọn gàng, đó là cách nó tìm kiếm tệp cấu hình. Đầu tiên, nó yêu cầu một tệp cấu hình có tên SMBIOS UUID của máy, nếu không tìm thấy, nếu yêu cầu một tệp có tên theo địa chỉ MAC của giao diện đã được khởi động, địa chỉ IP và nếu không có gì hữu ích, nó sẽ yêu cầu một tệp mặc định.

Vì vậy, bạn có thể tạo một số "cấu hình cơ sở", cấu hình khởi động máy từ đĩa cứng cục bộ tftp/pxelinux.cfg/harddisk:

ổ cứng mặc định

nhãn đĩa cứng
    khởi động cục bộ 0

và cái kia khởi động clonezilla tftp/pxelinux.cfg/clonezilla:

clonezilla mặc định

nhãn clonezilla
# hướng dẫn khởi động clonezilla tại đây

và bạn có thể thêm một số cái khác, chẳng hạn như cái dành cho máy khách mỏng không đĩa (đây là cấu hình thực tế tôi đã từng sử dụng):

kéo dài mặc định

căng nhãn
    Linux thinclient/vmlinuz-4.9.0-7-AMD64
    initrd thinclient/initrd.img-4.9.0-7-AMD64
    nối thêm ISCSI_INITIATOR=iqn.1993-08.org.debian:01:a4c444f2b735 ISCSI_TARGET_NAME=iqn.2018-10.ru.rterm.office.test-storage:thinclient.lvm ISCSI_TARGET_IP=192.168.168.113 ISCSI_TARGET_PORT=32604 root=0ID -8ea2-437f-9550-a5503d0e7b21 ip=dhcp im lặng

Sau đó, bạn tạo các liên kết tượng trưng trỏ đến các mẫu này:

cd tftp/pxelinux.cfg
ln -s clonezilla 01-10-32-54-76-98-ba
ln -s clonezilla 01-dc-fe-10-32-54-76
ln -s ổ cứng 01-98-ba-dc-fe-10-32
ổ cứng ln -s 01-54-76-98-ba-dc-fe
ln -s ổ cứng mặc định
ln -s thinclient 00801536-e3ee-1610-9957-d68a52030736  

Trong ví dụ này, các máy có địa chỉ MAC 10:32:54:76:98:badc:fe:10:32:54:76 sẽ khởi động một nhân bản tập tin cấu hình (01 ở đầu tên tệp ở đây có nghĩa là "Ethernet"), máy có UUID 00801536-e3ee-1610-9957-d68a52030736 sẽ khởi động một mỏng khách config và các máy khác sẽ khởi động ổ đĩa cứng, nhưng hai máy có MAC được chỉ định sẽ thực hiện việc này yên tĩnh hơn (ít nhật ký "không tìm thấy tệp" trên máy chủ hơn và khởi động nhanh hơn một chút vì nỗ lực tải xuống sẽ thành công sớm hơn).

Bây giờ, nếu bạn cần một số máy để khởi động, chẳng hạn như clonezilla, bạn tạo hoặc thay đổi liên kết tượng trưng của nó trên máy chủ tftp đến nhân bản. Sau khi nó được khởi động, bạn có thể hoàn nguyên thay đổi (ví dụ: thay đổi thành ổ đĩa cứng hoặc bất cứ điều gì bạn muốn).Bạn có thể tạo cấu hình cho cài đặt mạng Linux â Tôi thậm chí không nhớ lần cuối cùng tôi khởi động trình cài đặt từ USB là khi nào, vì tôi luôn cài đặt theo cách này trong vài năm. Bạn có thể sử dụng PXELinux bao gồm và tạo một menu chung gọn gàng với tất cả các tùy chọn này để chọn bằng tay và thay vào đó sử dụng nó làm mặc định. Về mặt kỹ thuật, ngay cả việc cài đặt Windows cũng có thể thực hiện được theo cách này. Sơ đồ này rất linh hoạt và điều duy nhất nó phụ thuộc vào máy khách là nó khởi động từ mạng trước.

Moritz von Schweinitz avatar
lá cờ se
Vấn đề chính của tôi là tôi không thực sự có quyền kiểm soát máy chủ DHCP của mạng và thực sự không thể gửi thông tin PXE qua DHCP. Đó là lý do tại sao tôi đang xem xét iPXE, để máy biết lấy hình ảnh từ đâu.
lá cờ in
iPXE là một NBP có nhiều khả năng hơn PXELinux là gì và có thể tạo ra một thiết lập nhanh hơn và sạch hơn nhiều so với điều này.
Nikita Kipriyanov avatar
lá cờ za
Tôi không phiền đâu. Tôi đã mô tả những gì tôi đã xây dựng khoảng mười năm trước. Nó vẫn phục vụ rất tốt nhu cầu của tôi (cũng hoạt động với máy ảo). Bây giờ nó không quá quan trọng, vì tôi đang làm việc từ xa. Nếu (khi nào) tôi quay lại xây dựng lại cái này, tôi có thể thử hoặc tôi cũng có thể sử dụng GRUB được khởi động qua mạng hiệu quả hơn.
Điểm:0
lá cờ se

Tôi chỉ cần thêm một mục nhập iPXE (với 'tập lệnh' iPXE trong tệp initrd) vào /etc/grub.d/ (bắt đầu bằng '99' để nó ở cuối danh sách), sau đó chạy cập nhật-grub, sau đó chạy

khởi động lại grub `egrep '^menuen' /boot/grub/grub.cfg |wc -l`; khởi động lại;

điều này chỉ đơn giản là đếm thực đơn trong tệp grub.cfg và yêu cầu grub-reboot khởi động vào tùy chọn cuối cùng trong lần khởi động lại tiếp theo.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.