Thật đơn giản để bạn có thể triển khai một PXE server trên môi trường Linux mà không cần phải sử dụng tới một server với cấu hình đồ sộ. Chỉ một máy ảo vớ cấu hình vừa phải bạn có thể triển khai cobbler server đáp dứng đầy đủ như một môi trường PXE, cho phép tự động triển khai cài đặt hệ điều hành cho lớn số lượng client mà các thao tác hoàn toàn là tự động.

Những hướng dẫn cơ bản dưới đây sẽ giúp bạn triển khai và cài đặt cobbler server trên CentOS7.

Mục lục

  1. Mô hình triển khai
  2. Thiết lập ban đầu
  3. Cài đặt cobbler server
  4. Cấu hình cobbler server

1. Mô hình triển khai

Bài viết được thực hiện dựa trên các bước thao tác trên server cài đặt ảo hóa KVM. Bạn phải tắt DHCP server của mạng đóng vai trò PXE 10.10.14.0/24

  • Cấu hình cobbler server:
    + CPU: 4 cores
    + RAM: 4 GB
    + Disk: 50GB
    + OS: CentOS7
    + NIC: 2 NIC

2. Thiết lập ban đầu

  • Cấu hình IP

nmcli c modify eth0 ipv4.addresses 10.10.10.34/24
nmcli c modify eth0 ipv4.gateway 10.10.10.1
nmcli c modify eth0 ipv4.dns 8.8.8.8
nmcli c modify eth0 ipv4.method manual
nmcli con mod eth0 connection.autoconnect yes
nmcli c modify eth1 ipv4.addresses 10.10.14.34/24
nmcli c modify eth1 ipv4.method manual
nmcli con mod eth1 connection.autoconnect yes
sudo systemctl disable firewalld
sudo systemctl stop firewalld
sudo systemctl disable NetworkManager
sudo systemctl stop NetworkManager
sudo systemctl enable network
sudo systemctl start network
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

  • Update

yum install epel-release -y
yum update -y

  • Cài đặt đồng bộ thời gian

yum install chrony -y
systemctl start chronyd
systemctl enable chronyd
systemctl restart chronyd
chronyc sources -v

  • Cài đặt CMD log

curl -Lso- https://raw.githubusercontent.com/nhanhoadocs/ghichep-cmdlog/master/cmdlog.sh | bash

3. Cài đặt cobbler server

  • Cài các package cần thiết cho cobbler

yum install cobbler cobbler-web dnsmasq syslinux xinetd bind bind-utils dhcp debmirror pykickstart fence-agents-all -y

+ cobbler, cobbler-web: Các package cài đặt chạy service cobbler và giao diện web của cobbler.
+ dnsmasq, bind, bind-utils, dhcp: Các package chạy dịch vụ quản lý DNS và quản lý DHCP cho các máy client boot OS từ cobbler.
+ syslinux: Chương trình bootloader và tiện ích cho phép đẩy vào client cho phép client boot OS qua mạng.
+ xinetd: Tạo socket kết nối với máy client. Được sử dụng để quản lý và tạo socket cho TFTP server truyền file boot cho client.
+ debmirror: Package cài đặt cho phép tạo một mirror server chứa các gói phần mềm cài đặt của các distro trên một server local.
+ pykickstart: thư viện python cho phép đọc và chỉnh sửa nội dung file kickstart, hỗ trợ cobbler chỉnh sửa file kickstart thông qua giao diện web.

  • Khởi động services

systemctl start cobblerd
systemctl enable cobblerd
systemctl start httpd
systemctl enable httpd

4. Cấu hình cobbler server

  • Thực hiện sửa file cấu hình của cobbler, file cấu hình cobbler /etc/cobbler/settings

+ Cấu hình password, sử dụng openssl để sinh ra mật khẩu đã được mã hóa:

openssl passwd -1

Ví dụ:

[root@cobbler~] # openssl passwd -1
Password:
Verifying - Password:
$1$LZPjRqrT$1Co2OVdHMuNluneJkDPex.

password này được sử dụng để làm password mặc định cho client khi được cấu hình trong file kickstart sử dụng với tùy chọn –iscrypted

  • Sửa file /etc/cobbler/settings với các thông số default_password_crypted (dòng 101)với password đã được mã hóa vừa sinh ra ở trên, và cập nhật các thông số của DHCP, DNS, PXE từ 0 thành 1

sed -i 's/manage_dhcp: 0/manage_dhcp: 1/g' /etc/cobbler/settings
sed -i 's/manage_dns: 0/manage_dns: 1/g' /etc/cobbler/settings

  • Kích hoạt cho phép boot các file cấu hình cài đặt OS qua card mạng

sed -i 's/pxe_just_once: 0/pxe_just_once: 1/g' /etc/cobbler/settings

  • Chỉnh sửa IP của TFTP server (next_server) và IP của Cobbler (server).

sed -i 's/next_server: 127.0.0.1/next_server: 10.10.14.34/g' /etc/cobbler/settings
sed -i 's/server: 127.0.0.1/server: 10.10.14.34/g' /etc/cobbler/settings

server là địa chỉ IP của cobbler server (không nên sử dụng địa chỉ 0.0.0.0, nên sử dụng địa chỉ IP mà bạn muốn các client sử dụng để liên lạc với cobbler server với các giao thức như http, tftp), next_server là địa chỉ IP của TFTP server mà các file boot (kernel, initrd) được lấy về. Ở hướng dẫn này cài tất cả trên cobbler server nên khai báo là địa chỉ dải PXE cobbler server.

  • Cập nhật file cấu hình DHCP và DNSMASQ

+ Cấu hình dải DHCP cho phép Cobbler cấp phát cho Client, và thông tin về các file pxelinux.0 gửi về cho client. cho phép trong dải từ 10.10.14.210 tới 10.10.14.220

Sửa trong file /etc/cobbler/dhcp.template như sau:

+ Cập nhật dải địa chỉ IP được cấp phát cho client trong file /etc/cobbler/dnsmasq.template

dhcp-range=10.10.14.210,10.10.14.220

+ Sửa disable = yes thành disable = no trong file /etc/xinetd.d/tftp

+ Comment @dists="sid"; và @arches="i386"; trong file /etc/debmirror.conf để hỗ trợ các distro debian (dòng 28, 30)

  • Khởi động lại một số services

systemctl enable rsyncd.service
systemctl restart rsyncd.service
systemctl restart cobblerd
systemctl restart xinetd
systemctl enable xinetd
cobbler get-loaders
cobbler check
cobbler sync
systemctl enable dhcpd

  • Truy cập vào giao diện Web cobbler

https://ip_cobbler_server/cobbler_web

Tài khoản truy cập mặc định là cobbler/cobbler

Hướng dẫn trên là các bước triển khai, cài đặt, cấu hình cobbler server trên CentOS7, hy vọng sẽ giúp các bạn áp dụng vào hệ thống của mình.