Bài viết này là phần mở rộng của Thiết lập Môi trường Khởi động PXE trước đây của tôi trên RHEL / CentOS 7 và nó tập trung vào cách bạn có thể thực hiện Cài đặt Tự động RHEL / CentOS 7, mà không cần sự can thiệp của người dùng, trên các máy không đầu sử dụng tệp Kickstart được đọc từ một máy chủ FTP cục bộ.

Việc chuẩn bị môi trường cho kiểu cài đặt này đã được xử lý trong hướng dẫn trước về thiết lập Máy chủ PXE, khóa duy nhất còn thiếu, một tệp Kickstart, sẽ được thảo luận kỹ hơn trong hướng dẫn này.

Nhiều cài đặt RHEL / CemtOS 7 bằng Kickstart

Cách đơn giản nhất để tạo một tùy chỉnh Kickstart mà bạn có thể sử dụng thêm cho nhiều lần cài đặt là thực hiện cài đặt RHEL / CentOS 7 theo cách thủ công và sao chép, sau khi quá trình cài đặt kết thúc, tệp có tên anaconda-ks.cfgcư trú ở /root đường dẫn, đến một vị trí mạng có thể truy cập và chỉ định initrd tham số khởi động inst.ks=protocol://path/to/kickstart.fileto PXE Menu Configuration File.

Yêu cầu

  1. Thiết lập máy chủ khởi động mạng PXE trên RHEL / CentOS 7

Hướng dẫn này và cấu hình tệp Kickstart, chỉ bao gồm Cài đặt tối thiểu RHEL / CentOS 7 mà không có Cài đặt đồ họa, về cơ bản tệp Kikstart là kết quả của quy trình Cài đặt tối thiểu trước đó của RHEL / CentOS 7.

  1. Quy trình cài đặt tối thiểu CentOS 7
  2. Quy trình cài đặt tối thiểu RHEL 7

Nếu bạn cần một tệp Kickstart bao gồm GUI Cài đặt và một bảng phân vùng cụ thể, tôi khuyên bạn trước tiên nên thực hiện một
Cài đặt đồ họa của RHEL / CentOS 7 trong môi trường ảo hóa và sử dụng tệp Kickstart dẫn đến cài đặt GUI trong tương lai.

Bước 1: Tạo và sao chép tệp Kiskstart vào đường dẫn máy chủ FTP

1. Ở bước đầu tiên, hãy chuyển đến máy PXE của bạn /root và sao chép tệp có tên anaconda-ks.cfg đến Vsftpd đường dẫn máy chủ mặc định (/var/ftp/pub) – cũng là con đường cho RHEL/CentOS 7 Local Mirror Installation Source được định cấu hình trên PXE network Boot Server – Step 6 (tham khảo bài viết thiết lập PXE Server ở trên).

# cp anaconda-ks.cfg  /var/ftp/pub/
# chmod 755 /var/ftp/pub/anaconda-ks.cfg

2. Sau khi tệp đã được sao chép, hãy mở tệp bằng trình soạn thảo văn bản yêu thích của bạn và thực hiện các thay đổi tối thiểu sau đây.

# nano /var/ftp/pub/anaconda-ks.cfg
  1. Thay thế –urld với vị trí nguồn cài đặt mạng của bạn: Ví dụ: –url=ftp://192.168.1.25/pub/
  2. Thay thế network –bootproto dhcp trong trường hợp bạn đã cấu hình thủ công các giao diện mạng trong quá trình cài đặt.

Phần trích dẫn về cách tệp Kickstart có thể trông như thế nào được trình bày bên dưới.

#version=RHEL7
# System authorization information
auth --enableshadow --passalgo=sha512

# Use network installation
url --url="ftp://192.168.1.25/pub/"
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts="us"
# System language
lang en_US.UTF-8

# Network information
network  --bootproto=dhcp --device=eno16777736 --ipv6=auto --activate
network  --hostname=localhost.localdomain
# Root password
rootpw --iscrypted $6$RMPTNRo5P7zulbAR$ueRnuz70DX2Z8Pb2oCgfXv4qXOjkdZlaMnC.CoLheFrUF4BEjRIX8rF.2QpPmj2F0a7iOBM3tUL3tyZNKsDp50
# System services
services --enabled="chronyd"
# System timezone
timezone Europe/Bucharest --isUtc
# System bootloader configuration
bootloader --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --none --initlabel
# Disk partitioning information
part pv.20 --fstype="lvmpv" --ondisk=sda --size=19979
part /boot --fstype="xfs" --ondisk=sda --size=500
volgroup centos --pesize=4096 pv.20
logvol /  --fstype="xfs" --grow --maxsize=51200 --size=1024 --name=root --vgname=centos
logvol swap  --fstype="swap" --size=2048 --name=swap01 --vgname=centos

%packages
@compat-libraries
@core
wget
net-tools
chrony

%end
Cấu hình CentOS Kickstart
Cấu hình Kickstart

Để có thêm tùy chọn tệp Kickstart nâng cao và cú pháp, vui lòng đọc Tài liệu về RHEL 7 Kickstart.

3. Trước khi cố gắng sử dụng tệp này cho các quy trình cài đặt, điều quan trọng là bạn phải xác minh tệp bằng cách sử dụng ksvalidator bao gồm trên Pykickstart, đặc biệt nếu các tùy chỉnh thủ công đã được thực hiện. Cài đặt Pykickstart và xác minh tệp Kickstart của bạn bằng cách đưa ra các lệnh sau.

# yum install pykickstart
# ksvalidator /var/ftp/pub/anaconda-ks.cfg
Cài đặt Pykickstart trong CentOS
Cài đặt gói Pykickstart
Xác minh cấu hình Kickstart
Xác minh tệp Kickstart

4. Xác minh cuối cùng là để đảm bảo rằng tệp Kickstart có thể truy cập được từ vị trí mạng được chỉ định của bạn – trong trường hợp này FTP Local Mirror Installation Source được xác định bằng Địa chỉ URL sau.

ftp://192.168.1.25/pub/
Xác minh FTP Mirror
Xác minh FTP Mirror

Bước 2: Thêm Nhãn Cài đặt Kikstart vào Cấu hình Máy chủ PXE

5. Để truy cập Automatic Installation of RHEL/CentOS 7 từ PXE Menu thêm nhãn sau vào cấu hình tệp mặc định PXE.

# nano /var/lib/tftpboot/pxelinux.cfg/default

Đoạn trích nhãn menu PXE.

Đối với RHEL 7
label 5
menu label ^5) Install RHEL 7 x64 with Local Repo using Kickstart
kernel vmlinuz
append initrd=initrd.img inst.ks=ftp://192.168.1.25/pub/anaconda-ks.cfg inst.vnc inst.vncpassword=password
Đối với CentOS 7
label 5
menu label ^5) Install CentOS 7 x64 with Local Repo using Kickstart
kernel vmlinuz
append initrd=initrd.img inst.ks=ftp://192.168.1.25/pub/anaconda-ks.cfg inst.vnc inst.vncpassword=password
Thêm Kickstart vào menu PXE
Thêm Kickstart vào menu PXE

Như bạn có thể thấy từ ví dụ này, quá trình cài đặt tự động có thể được giám sát thông qua VNC mật khẩu (thay thế mật khẩu VNC cho phù hợp) và tệp Kickstart được đặt cục bộ trên máy chủ PXE và được chỉ định bởi initrd tham số khởi động inst.ks= Vị trí mạng FTP (thay thế giao thức và vị trí mạng cho phù hợp nếu bạn đang sử dụng các phương pháp cài đặt khác như HTTP, HTTPS, NFS hoặc các nguồn Cài đặt từ xa và tệp Kickstart).

Bước 3: Định cấu hình khách hàng để tự động cài đặt RHEL / CentOS 7 bằng Kickstart

6. Để tự động cài đặt RHEL / CentOS 7 và giám sát toàn bộ quá trình cài đặt, đặc biệt là trên các máy chủ không đầu, hãy hướng dẫn máy khách của bạn từ BIOS
để khởi động từ mạng, hãy đợi vài giây rồi nhấn F8Enters, sau đó chọn Kickstart từ menu PXE.

Trình đơn khởi động PXE
Trình đơn khởi động PXE

7. Sau kernelramdisk tải và phát hiện tệp Kickstart, quá trình cài đặt tự động bắt đầu mà không cần bất kỳ sự can thiệp nào từ phía người dùng. Nếu bạn muốn xem quá trình cài đặt, hãy kết nối với VNC khách hàng từ một máy tính khác sử dụng địa chỉ mà trình cài đặt cung cấp cho bạn và tận hưởng chế độ xem.

Cài đặt CentOS 7 tự động
Cài đặt hệ điều hành tự động
Cài đặt VNC Remote CentOs
Kết nối với VNC
Kickstart Cài đặt CentOS tự động
Khởi động cài đặt hệ điều hành tự động

8. Sau khi quá trình cài đặt kết thúc, đăng nhập vào hệ thống mới được cài đặt bằng root tài khoản và mật khẩu được sử dụng trên cài đặt trước đó (
một mà bạn đã sao chép tệp Kickstart) và thay đổi mật khẩu gốc máy khách của bạn bằng cách chạy passwd.

Kết nối với máy chủ được cài đặt mới
Kết nối với máy chủ được cài đặt mới

Đó là tất cả! Automatic Kickstart cài đặt mang lại rất nhiều lợi ích cho người quản trị hệ thống trong môi trường mà họ phải thực hiện cài đặt hệ thống trên nhiều máy cùng một lúc, trong một khoảng thời gian ngắn mà không cần phải can thiệp thủ công vào quá trình cài đặt.