Cobbler là một dịch vụ khởi động hệ thống thông qua mạng (boot server), hỗ trợ việc cài đặt và tái cài đặt nhanh chóng các máy chủ vật lý và máy ảo, tương thích với nhiều bản phân phối Linux và Windows. Được viết bằng Python, Cobbler nhẹ nhàng (chỉ 15.000 dòng mã) và dễ dàng cấu hình thông qua các lệnh đơn giản, đồng thời quản lý DHCP, DNS và kho gói yum.
Cobbler hỗ trợ quản lý thông qua giao diện dòng lệnh cũng như giao diện web (cobbler-web) và cung cấp API cho việc phát triển mở rộng.
Dịch vụ tích hợp của Cobbler bao gồm:
- Hỗ trợ dịch vụ PXE
- Quản lý DHCP
- Quản lý DNS (có thể sử dụng bind hoặc dnsmasq)
- Quản lý nguồn điện
- Hỗ trợ dịch vụ Kickstart
- Quản lý kho yum
- TFTP (cần thiết cho PXE)
- Apache (cung cấp nguồn cài đặt kickstart và cấu hình kickstart tùy chỉnh)
Cobbler tích hợp sâu với Apache, cho phép triển khai nhanh chóng các hệ thống RedHat/CentOS/Fedora, cũng như hỗ trợ SUSE và Debian/Ubuntu.
Cobbler cải tiến từ kickstart, ưu điểm là dễ cấu hình và có giao diện web dễ quản lý, nhược điểm là thiếu tài liệu tiếng Việt. So với Kickstart, Cobbler không gây ra sự cố khởi động do DHCP mặc định trong mạng nội bộ.
Bằng cách cấu hình Cobbler tự động hóa DHCP, TFTP, HTTP và tải tệp cấu hình kickstart không người can thiệp, quá trình cài đặt có thể được thực hiện tự động. Máy khách sử dụng chế độ khởi động PXE để bắt đầu quá trình cài đặt.
Môi trường thử nghiệm Cobbler và mục tiêu
Hệ điều hành máy chủ Cobbler: CentOS 6.5 64-bit
Địa chỉ IP: 192.168.21.128
Hệ điều hành Linux cần cài đặt:
- eth0 (giao diện mạng thứ nhất, dùng cho mạng ngoài): dải địa chỉ IP: 192.168.21.160-192.168.21.200
- eth1 (giao diện mạng thứ hai, dùng cho mạng nội bộ): dải địa chỉ IP: 10.0.0.160-10.0.0.200
Mặt nạ mạng: 255.255.255.0
Cổng thông tin: 192.168.21.2
DNS: 8.8.8.8 8.8.4.4
Tất cả các máy đều hỗ trợ khởi động qua mạng PXE
Mục tiêu: Cấu hình máy chủ Cobbler để tự động hóa quá trình cài đặt và triển khai hệ thống Linux
Cài đặt và cấu hình Cobbler
Chuẩn bị môi trường cài đặt Cobbler
Yêu cầu trước khi sử dụng
- Bạn có một DVD hoặc tệp ISO của hệ điều hành.
- Máy chủ có đủ không gian đĩa trống trên /var/www/cobbler để giải nén DVD/ISO.
- Máy chủ và máy khách đều ở cùng một mạng IP.
- Có duy nhất một máy chủ DHCP trên mạng này.
- Máy khách hỗ trợ khởi động qua mạng PXE.
Xác định nguồn Yum
Chọn nguồn Yum gần bạn nhất, ví dụ như mirrors.163.com hoặc mirrors.sohu.com.
Tệp cấu hình: /etc/yum.repos.d/CentOS-Base.repo
Sử dụng nguồn của网易:
cd /etc/yum.repos.d/
mkdir backup
mv *.repo ./backup
wget -c -O CentOS-Base.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo
yum list
Cài đặt nguồn EPEL
Cobbler không nằm trong nguồn cơ bản của CentOS, cần thêm nguồn EPEL để nâng cấp gói phần mềm. Đảm bảo rằng phiên bản của gói epel-release là mới nhất, hiện tại là 6-8.
yum -y install 'http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm'
yum update
yum upgrade
yum list|grep -E "^epel"
rpm -qa |grep -i epel
Tắt SELinux và tường lửa
Tắt SELINUX:
sed -i '/^SELINUX=/ s/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
sestatus
Tắt tường lửa:
chkconfig ip6tables off
chkconfig iptables off
/etc/init.d/ip6tables stop
/etc/init.d/iptables stop
reboot
Cài đặt và cấu hình Cobbler
Cài đặt Cobbler
yum -y install cobbler
rpm -qa |grep -i cobbler
yum install tftp-server xinetd dhcp httpd rsync
yum install pykickstart debmirror python-ctypes cman
Mở các cổng cần thiết:
sed -i '/disable/c disable = no' /etc/xinetd.d/tftp
sed -i -e 's/= yes/= no/g' /etc/xinetd.d/rsync
service xinetd restart
Khởi động dịch vụ Cobbler:
/etc/init.d/cobblerd start
Cấu hình Cobbler
Cấu hình dịch vụ HTTP
vi /etc/httpd/conf/httpd.conf
ServerName 127.0.0.1:80
yum -y install mod_wsgi
sed -i 's*#LoadModule*LoadModule*g' /etc/httpd/conf.d/wsgi.conf
Cấu hình Cobbler chính
sed -i 's/server: 127.0.0.1/server: 192.168.21.128/g' /etc/cobbler/settings
sed -i 's/next_server: 127.0.0.1/next_server: 192.168.21.128 /g' /etc/cobbler/settings
sed -i 's/pxe_just_once: 0/pxe_just_once: 1/g' /etc/cobbler/settings
openssl passwd -1 -salt 'random-phrase-here' '111111'
vi /etc/cobbler/settings
default_password_crypted: "$1$random-p$WbZ3JxhRzCS/1Ne4S9g4Z."
sed -i 's/manage_rsync: 0/manage_rsync: 1/g' /etc/cobbler/settings
sed -i 's/manage_dhcp: 0/manage_dhcp: 1/g' /etc/cobbler/settings
cp /etc/cobbler/dhcp.template{,.bak}
vi /etc/cobbler/dhcp.template
subnet 192.168.21.0 netmask 255.255.255.0 {
option routers 192.168.21.1;
option domain-name-servers 8.8.8.8;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.21.160 192.168.21.200;
filename "/pxelinux.0";
default-lease-time 21600;
max-lease-time 43200;
next-server $next_server;
}
vi /etc/sysconfig/dhcpd
DHCPDARGS=eth0
dhcpd
cobbler check
Khởi động dịch vụ liên quan và thiết lập khởi động tự động
chkconfig httpd on
chkconfig xinetd on
chkconfig cobblerd on
chkconfig dhcpd on
/etc/init.d/httpd restart
/etc/init.d/xinetd restart
/etc/init.d/cobblerd restart
/etc/init.d/dhcpd restart
Cài đặt và cấu hình giao diện web Cobbler
yum -y install cobbler_web
htdigest /etc/cobbler/users.digest "Cobbler" cobbler
vi /etc/cobbler/modules.conf
module = authn_configfile
sed -i 's/authn_denyall/authn_configfile/g' /etc/cobbler/modules.conf
cobbler sync
/etc/init.d/httpd restart
/etc/init.d/cobblerd restart
Truy cập trang web: https://192.168.21.128/cobbler_web