Làm cách nào tôi có thể cài đặt máy ảo Ubuntu bằng máy chủ khởi động PXE?
Tôi cần tất cả các chi tiết cấu hình và những gì cần thay đổi trong các tập tin cấu hình.
Làm cách nào tôi có thể cài đặt máy ảo Ubuntu bằng máy chủ khởi động PXE?
Tôi cần tất cả các chi tiết cấu hình và những gì cần thay đổi trong các tập tin cấu hình.
Câu trả lời:
Xem Wikipedia: PXE
Đây là sự hiểu biết của tôi!
PXE (phía khách hàng) phát yêu cầu IP. Máy chủ DHCP trả lời với các thông tin bắt buộc: IP, IP máy chủ tiếp theo (IP máy chủ TFTP), pxelinux.0
(tên tệp trình tải bootstrap PXE), ... vv
PXE (phía máy khách) yêu cầu pxelinux.0
tệp từ máy chủ TFTP, tải nó vào RAM sau đó chuyển điều khiển tới pxelinux.0
.
pxelinux.0
lấy tệp cấu hình khởi động từ máy chủ TFTP với tên là:
(nếu nó không tồn tại, nó sẽ thử với cái tiếp theo)
default
tập tinLựa chọn người dùng hoặc mục menu mặc định. pxelinux.0
yêu cầu kernel và RAMDisk tương ứng từ máy chủ TFTP và tải chúng vào RAM.
Sau đó chuyển tham số khởi động và điều khiển đến kernel đã tải.
Kernel tải các phần còn lại từ máy chủ TFTP hoặc bất kỳ máy chủ giao thức nào khác tùy thuộc vào tính năng / thuộc tính của nó.
Có nhiều cách để thiết lập máy chủ PXE, đây là một trong số đó.
Các hướng dẫn này đã được thử nghiệm trên Ubuntu 9.10 & Ubuntu 10.04 trên máy thật. Chúng vẫn còn hiệu lực với chỉ một vài thay đổi có thể. (Đã cập nhật & thử nghiệm cho Ubuntu 14.04 trên VirtualBox, kiểm tra chỉnh sửa các bản phát hành cũ)
Mục tiêu của tôi là PartedMagic 4.5 , nó tương tự như Ubuntu hoặc bất kỳ bản phân phối Linux nào.
Cài đặt gói DHCP & TFTP
sudo apt-get install isc-dhcp-server openbsd-inetd lftp tftpd-hpa syslinux
Cài đặt DHCP
Chỉnh sửa /etc/default/isc-dhcp-server
, giao diện Ethernet cho dịch vụ DHCP
INTERFACES="eth0"
Chỉnh sửa /etc/dhcp/dhcpd.conf
hoặc /etc/ltsp/dhcpd.conf
nó tồn tại, cấu hình dịch vụ DHCP
Cấu hình cụ thể của PXE: filename
&next-server
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.50 192.168.10.100;
option subnet-mask 255.255.255.0;
option routers 192.168.10.123;
option broadcast-address 192.168.10.255;
filename "pxelinux.0";
next-server 192.168.10.123;
}
Thiết lập IP tĩnh cho eth0
, 192.168.10.123
trong trường hợp của tôi bằng trình quản lý mạng cho phiên bản Máy tính để bàn hoặc /etc/network/interfaces
cho phiên bản Máy chủ.
auto eth0
iface eth0 inet static
address 192.168.10.123
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255
Tái khởi động lại giao diện mạng:
sudo ifdown eth0
sudo ifup eth0
Khởi động lại dịch vụ
sudo service isc-dhcp-server restart
Kiểm tra trạng thái
netstat -lu
Đầu ra
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 *:bootpc *:*
Thiết lập TFTP
Chỉnh sửa /etc/inetd.conf
, xóa #<off>#
từ đầu tftp
dòng hoặc thêm nếu nó không ở dưới #:BOOT:
bình luận. (Bỏ qua phần này với systemd, 15.10 trở lên)
tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
Kích hoạt dịch vụ khởi động cho inetd
sudo update-inetd --enable BOOT
Bắt đầu dịch vụ
sudo service openbsd-inetd restart
sudo service tftpd-hpa restart
Kiểm tra trạng thái
netstat -lu
Đầu ra
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 *:tftp *:*
Thiết lập tập tin khởi động PXE
Giải nén pmagic-pxe-4.5.zip
. Nếu pxelinux.0
không có, hãy lấy nó từ sysliux-common
gói được cài đặt tại /usr/lib/syslinux/pxelinux.0
, Syslinux Project hoặc Ubuntu Netboot Image .
Đặt chúng trong cấu trúc tương tự.
/var/lib/tftpboot/
|-- pxelinux.0
|-- pxelinux.cfg/
| `-- default
`-- pmagic/
|-- bzimage
`-- initramfs
Chỉnh sửa /var/lib/tftpboot/pxelinux.cfg/default
, nếu cần đường dẫn ví dụ: pmagic/bzimage
&pmagic/initramfs
DEFAULT partmagic
LABEL partmagic
MENU LABEL PartMagic 4.5
KERNEL pmagic/bzimage
APPEND initrd=pmagic/initramfs edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=10 loglevel=0 keymap=us livemedia
Thiết lập quyền chính xác
sudo find /var/lib/tftpboot -type f -exec chmod 644 {} \;
sudo find /var/lib/tftpboot -type d -exec chmod 755 {} \;
Thay đổi thứ tự khởi động BIOS một lần bằng cách sử dụng F9hoặc F12, để thiết lập vĩnh viễn từ cấu hình BIOS DEL, F2hoặc F12. (Tùy thuộc vào thương hiệu máy)
Di chuyển lên đầu : [PXE | NIC | LAN | Ethernet | Network]
.
inetutils-inetd
hoặc xinetd
có thể được sử dụng thay vì openbsd-inetd
, một số inetd
bước khác nhau.
Thư mục gốc TFTP có thể được thay đổi từ /etc/default/tftpd-hpa
. Nhớ cập nhật /etc/inetd.conf
quá.
Nhiều phân phối hỗ trợ tải RAMDisk thông qua nhiều giao thức: SSH (SFTP), SMB, NFS ... Ví dụ Ubuntu hỗ trợ NFS.
Một số card mạng cũ không hỗ trợ PXE, iPXE ( ví dụ gPXE hoặc Etherboot ) có thể được sử dụng, trên đĩa mềm, ổ USB, Harddisk ( /boot
phân vùng) hoặc thậm chí flash nó vào ROM (chỉ hỗ trợ vài NIC). GRUB2 có mô-đun để hỗ trợ khởi động bằng PXE.
Xem thêm Wikipedia: gPXE và ROM-O-matic .
Ubuntu Netboot Image từ cdimage.ubfox.com/netboot/ cung cấp cài đặt Ubuntu từ mạng và nó sẽ yêu cầu tải xuống tất cả các gói cần thiết từ máy nhân bản chính thức hoặc máy cục bộ nếu bạn có.
Hầu hết người dùng đang tìm kiếm để khởi động hình ảnh trực tiếp thông qua PXE. Câu hỏi này chỉ để thiết lập một máy chủ PXE. Xem Ubuntu Wiki: Cài đặt - LocalNet
Menu PXE có thể được tùy chỉnh, mẫu tốt nhất để tìm hiểu là Ubuntu NetBoot . Xem nhiều hình ảnh Pxeboot
memdisk
có thể được sử dụng để tải trực tiếp ISO hoặc hình ảnh đĩa mềm thông qua PXE. syslinux-common
gói có một bản sao. Máy khách phải có đủ RAM để giữ hình ảnh cộng với một phần để chạy HĐH đã tải.
Ví dụ cấu hình:
/var/lib/tftpboot/
|-- FDSTD.144
|-- memdisk
|-- pxelinux.0
|-- slitaz-cooking.iso
|-- pxelinux.cfg
| `-- default
`-- pmagic/
|-- bzimage
`-- initramfs
/pxelinux.cfg/default
DEFAULT partmagic
LABEL partmagic
MENU LABEL PartMagic 4.5
KERNEL pmagic/bzimage
APPEND initrd=pmagic/initramfs edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=10 loglevel=0 keymap=us livemedia
LABEL slitaz
MENU LABEL ^Slitaz.iso
TEXT HELP
Testing boot from iso.
ENDTEXT
KERNEL memdisk
APPEND initrd=slitaz-cooking.iso
LABEL freedos_std
MENU LABEL ^FreeDOS STD
TEXT HELP
Testing boot from Floppy IMG.
ENDTEXT
KERNEL memdisk
APPEND initrd=FDSTD.144
Các gói PartedMagic đã bị loại bỏ khỏi trang web chính thức sau khi nhà phát triển ban đầu quyết định biến nó thành thương mại, một số bản phát hành có thể được tìm thấy thông qua mạng torrent. Câu trả lời của tôi ở đây là sơ yếu lý lịch thiết lập PXE đầu tiên phù hợp với tôi. Ubuntu Netboot Image nên hoạt động với cùng một hướng dẫn.
netstat -lu | grep tftp
hiển thị nó trong chế độ nghe. Thư mục / tftpboot là 777, tuy nhiên nếu tôi thử tftp> get pxelinux.0
nó từ máy khách, tôi luôn nhận được một tftp: pxelinux.0: Lỗi từ chối cấp phép . Bạn có một ý tưởng để gỡ lỗi nó? Cảm ơn trước.
/var/lib/tftpboot/
với 755 (mặc định) sẽ ổn. Kiểm tra nếu pxelinux.0
có 644 hoặc chạy sudo chmod -R +r /var/lib/tftpboot/
để làm cho tất cả nội dung của nó có thể đọc được.
filename "pxelinux.0";
... không bình luận; P ... cảm ơn câu trả lời của bạn và cho câu trả lời tuyệt vời (và đầy đủ) này. Chúc mừng