Hướng dẫn cài đặt centos 7 qua network PXE

PXE (Preboot eXecution Environment) Server cho phép cài đặt OS qua network, có thể thiết lập tự động chọn các cấu hình ban đầu khi cài đặt OS. Lợi ích chính của việc này đó là chúng ta có thể cài đặt server 1 lần, sau đó sử dụng để cài đặt một cách tự động cho hàng chục, thậm chí hàng trăm máy khác nhau mà không cần phải mất công burn file ISO sang USB hay DVD như trước đây.

Trong bài viết dưới đây chúng ta sẽ cài đặt 1 PXE server, phục vụ cài centos 7 cho máy khác.

Chi tiết:

  • Server IP = 192.168.150.11
  • Host name = pxe.example.com
  • OS = CentOS 7.x
  • SELinux = enabled
  • Firewall = disabled

Step:1 Cài đặt các gói cần thiết cho PXE

Các gói cần thiết: “dhcp, tftp-server, ftp server(vsftpd), xinted”.

[root@pxe ~]# yum install dhcp tftp tftp-server syslinux vsftpd xinetd vim -y

Step:2 Cấu hình DHCP

Sau khi cài đặt gói dhcp ở trên, chúng ta tạo file cấu hình cho  nó có nội dung dưới đây, các bạn có thể thay thế IP tương ứng vủa nhà mình vào.

 

Step:3 Cấu hình tftp server (/etc/xinetd.d/tftp)

TFTP (Trivial File Transfer Protocol ) is được sử dụng để tranfer file qua network mà không cần xác thực. Với PXE server, tftp được sử dụng cho bootstrap loading. Để cấu hình tftp server, sửa file ‘ /etc/xinetd.d/tftp’, thay đổi thông số ‘disable = yes‘ -> ‘disable = no’ và để nguyên đám còn lại mặc định, nội dung của nó sẽ tương tự như sau:

Toàn bộ các file phục vụ cho việc boot qua network được đặt trong thư mục tftp root “/var/lib/tftpboot

Chạy các câu lênh sau để chép các file cần thiết vào ‘/var/lib/tftpboot/’

Step:4 Mount ISO Centos 7 và copy tới thực mụcftp

Download file iso trên mạng, mount vào và copy cả folder vào thư mục sau ‘/var/ftp/pub

Copy Kernel file (vmlimz) và initrd file từ thư mục đã mount ở trên vào thư mục ‘/var/lib/tftpboot/networkboot/

Step:5 Create kickStart & PXE menu file.

Tạo 1 password được mã hoá, sẽ sử dụng sau này bằng lệnh dưới, thay cái 123@123a bằng pass của mình. Xong copy output lại, có việc cần tới.

Default kickstart file được đặt tại /root với tên ‘anaconda-ks.cfg’. chúng ta sẽ tạo file kickstart mới tại  /var/ftp/pub với tên ‘centos7.cfg

Copy nội dung dưới ném vào file /var/ftp/pub/centos7.cfg

Thay thế cấu hình dòng rootpw –iscrypted bằng chuỗi pass mã hoá đã thực hiện ở trên.

Tạo PXE menu file (/var/lib/tftpboot/pxelinux.cfg/default), Copy nội dung bên dưới bỏ vào

[root@pxe ~]# vi /var/lib/tftpboot/pxelinux.cfg/default

Step:6 Bật các dịch vụ

Sử dụng các lệnh dưới đây

 

Mở port cho firewall

 

Nếu lười quá, thì cứ stop firewall lại là xong, cho đỡ rách việc

Step:7 Boot the clients with pxe boot option.

Dưới đây là video hướng dẫn thực hiện