Cách cài đặt Spacewalk trên CentOS

theanh

Administrator
Nhân viên
Spacewalk quản lý các bản cập nhật nội dung phần mềm cho các bản phân phối có nguồn gốc từ Red Hat như Fedora, CentOS và Scientific Linux, đằng sau tường lửa của bạn. Đây là phiên bản mã nguồn mở của RedHat satellite 5. Chúng tôi có RedHat satellite 6 và phiên bản mã nguồn mở là katello. Tôi sẽ chỉ cho bạn chi tiết cách cấu hình chi tiết đó trong hướng dẫn tiếp theo của tôi. Spacewalk là một công cụ rất mạnh mẽ khi nói đến việc quản lý cơ sở hạ tầng và thực sự ổn định và được xây dựng tốt.

Tôi sẽ hướng dẫn cài đặt Spacewalk và sẽ chỉ cho bạn chi tiết cách cấu hình để sẵn sàng cho sản xuất cùng với tất cả các tính năng chúng ta có thể sử dụng với nó. Tôi sẽ cài đặt Postgres nhúng.

Trong hướng dẫn này, tôi sẽ sử dụng 3 máy chủ:
  • 192.168.1.20 - Máy chủ spacewalk - centos 7
  • 192.168.1.21 - Máy khách spacewalk - centos 6
  • 192.168.1.22 - Máy khách spacewalk - centos 7

Yêu cầu​

CentOS 7 với cài đặt tối thiểu:
Mã:
cat /etc/redhat-release
Kết quả:
Mã:
CentOS Linux phát hành 7.3.1611 (Core)
SELinux ở chế độ bắt buộc:
Mã:
sestatus
Mã:
Trạng thái SELinux: đã bật 
SELinuxfs mount: /sys/fs/selinux
Thư mục gốc SELinux: /etc/selinux 
Tên chính sách đã tải: nhắm mục tiêu 
Chế độ hiện tại: thực thi 
Chế độ từ tệp cấu hình: thực thi 
Trạng thái MLS của chính sách: đã bật
Trạng thái deny_unknown của chính sách: được phép 
Phiên bản chính sách hạt nhân tối đa: 28
[root@spacewalk ~]#
Thêm mục nhập máy chủ/etc/hosts
Mã:
192.168.1.20 spacewalk.sunil.cc spacewalk

Cài đặt Spacewalk Server​

Cài đặt kho CentOS của Spacewalk.
Mã:
rpm -Uvh http://yum.spacewalkproject.org/2.6/RHEL/7/x86_64/spacewalk-repo-2.6-0.el7.noarch.rpm
Mã:
cat > /etc/yum.repos.d/jpackage-generic.repo ] 5.291 --.-K/giây trong 0 giây2017-03-04 21:54:17 (630 MB/giây) - /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT đã lưu [5291/5291][root@centos6 ~]#
Bây giờ chúng ta cần đăng ký bằng khóa kích hoạt mà chúng ta đã tạo trước đó, chúng ta đã tạo 1-centos6 cho centos6 và 1-centos7 cho centos7.

Centos 6
Mã:
[root@centos6 ~]# rhnreg_ks --force --activationkey="1-centos6" --serverUrl=http://spacewalk.sunil.cc/XMLRPC --sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT --profilename=$HOSTNAME
Centos 7
Mã:
[root@centos7 ~]# rhnreg_ks --force --activationkey="1-centos7" --serverUrl=http://spacewalk.sunil.cc/XMLRPC --sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT --profilename=$HOSTNAME
Đồng bộ hóa cấu hình với spacewalk, chạy nó trên cả nút centos6 và centos7.
Mã:
[root@centos7 ~]# rhn-profile-sync
Có thể sử dụng lệnh này để chạy lệnh từ xa và truyền tệp từ spacewalk và là một trong những tính năng thú vị khi sử dụng máy chủ spacewalk.
Mã:
[root@centos6 ~]# chkconfig osad on[root@centos6 ~]# service osad restartTắt osad: [ OK ]Đang khởi động osad: [ OK ][root@centos6 ~]# rhn-actions-control --enable-all[root@centos6 ~]#
Mã:
[root@centos7 ~]# systemctl enable osadĐã tạo liên kết tượng trưng từ /etc/systemd/system/multi-user.target.wants/osad.service đến /usr/lib/systemd/system/osad.service.[root@centos7 ~]# systemctl restart osad[root@centos7 ~]# rhn-actions-control --enable-all[root@centos7 ~]#
Bây giờ chúng ta có thể đồng bộ hóa cấu hình.
Mã:
[root@centos6 ~]# rhn-profile-syncĐang cập nhật cấu hình gói...Đang cập nhật cấu hình phần cứng...[root@centos6 ~]# [root@centos7 ~]# rhn-profile-syncĐang cập nhật cấu hình gói...Đang cập nhật cấu hình phần cứng...[root@centos7 ~]#
Bây giờ có thể kiểm tra tương tự trên bảng điều khiển spacewalk.



Chạy lệnh từ xa và quản lý tệp qua spacewalk.

Trong chương này, chúng ta sẽ thấy spacewalk mạnh mẽ như thế nào khi chạy lệnh từ xa và quản lý tệp cấu hình.

Để chạy lệnh từ xa, hãy đăng nhập vào bảng điều khiển spacewalk và tìm kiếm máy chủ mà chúng ta sẽ cần chạy lệnh từ xa lệnh.



Nhấp vào lệnh từ xa và nhập các lệnh bạn sẽ cần thực thi.



Sau khi lên lịch, bạn có thể chuyển đến tab đã lên lịch và kiểm tra trạng thái.



Nhấp vào máy chủ để xem kết quả.



Chạy lệnh từ xa từ spacewalk.

Chúng ta sẽ cần cài đặt spacecmd để chạy lệnh từ xa.
Mã:
[root@spacewalk ~]# yum install spacecmd -y
Đầu tiên, chúng ta sẽ thêm hệ thống bằng ssm và trước đó, hãy đăng nhập, bạn có thể sử dụng cùng thông tin đăng nhập như giao diện người dùng.
Mã:
[root@spacewalk ~]# spacecmdChào mừng đến với spacecmd, giao diện dòng lệnh của Spacewalk.Nhập: 'trợ giúp' để biết danh sách lệnh 'trợ giúp' để biết trợ giúp cụ thể cho lệnh 'thoát' để thoátTên người dùng Spacewalk: quản trị viênMật khẩu Spacewalk:THÔNG TIN: Đã kết nối với https://spacewalk.sunil.cc/rpc/api với tư cách quản trị viênspacecmd {SSM:0}> system_listcentos6.sunil.cccentos7.sunil.cccentos7test.sunil.ccspacecmd {SSM:0}> ssm_add centos6.sunil.ccspacecmd {SSM:1}> ssm_listcentos6.sunil.ccspacecmd {SSM:1}> thoát
tạo một tập lệnh được gọi với bất kỳ tên nào ở đây, tôi đặt tên là ff.sh.
Mã:
[root@spacewalk ~]# cat ff.sh#!/bin/bashcat /etc/redhat-release[root@spacewalk ~]#
Bây giờ hãy chạy lệnh từ xa.
Mã:
[root@spacewalk ~]# spacecmd -y system_runscript "ssm -f ff.sh"THÔNG TIN: Đã kết nối với https://spacewalk.sunil.cc/rpc/api với tư cách là quản trị viênNgười dùng: rootNhóm: rootThời gian chờ: 600 giâyThời gian bắt đầu: 20170305T12:16:17pNội dung tập lệnh----------------#!/bin/bashcat /etc/redhat-releaseHệ thống-------centos6.sunil.ccTHÔNG TIN: ID hành động: 33THÔNG TIN: Đã lên lịch: 1 hệ thống[root@spacewalk ~]#
Để kiểm tra đầu ra, bạn có thể chạy lệnh bên dưới.
Mã:
[root@spacewalk ~]# spacecmd schedule_getoutput 33THÔNG TIN: Đã kết nối với https://spacewalk.sunil.cc/rpc/api với tư cách là quản trị viênHệ thống: centos6.sunil.ccThời gian bắt đầu: 20170305T12:16:19Thời gian dừng: 20170305T12:16:19Mã trả về: 0Đầu ra------CentOS phát hành 6.8 (Bản cuối)[root@spacewalk ~]#

Khắc phục sự cố​

Trong trường hợp bạn thấy các lệnh ở trạng thái chờ trong thời gian dài, bạn có thể thực hiện các bước sau để khắc phục sự cố này.

Đảm bảo osa-dispatcher đang chạy trên spacewalk máy chủ.
Mã:
[root@spacewalk ~]# systemctl status osa-dispatcher? osa-dispatcher.service - daemon OSA Dispatcher Đã tải: đã tải (/usr/lib/systemd/system/osa-dispatcher.service; đã bật; cài đặt trước của nhà cung cấp: đã tắt) Đang hoạt động: đang hoạt động (đang chạy) kể từ CN 2017-03-05 09:59:55 CET; 2 giờ 21 phút trước Tiến trình: 3470 ExecStart=/usr/sbin/osa-dispatcher --pid-file /var/run/osa-dispatcher.pid (code=exited, status=0/SUCCESS) Tiến trình: 3469 ExecStartPre=/bin/rm -f /var/run/osa-dispatcher.pid (code=exited, status=0/SUCCESS) PID chính: 3474 (osa-dispatcher) CGroup: /system.slice/osa-dispatcher.service ??3474 /usr/bin/python -s /usr/sbin/osa-dispatcher --pid-file /var/run/osa-dispatcher.pid05-03 09:59:55 spacewalk.sunil.cc systemd[1]: Đang khởi động daemon OSA Dispatcher...05-03 09:59:55 spacewalk.sunil.cc systemd[1]: Tệp PID /var/run/osa-dispatcher.pid không thể đọc được (chưa?) sau khi khởi động.05/03 09:59:55 spacewalk.sunil.cc systemd[1]: Đã khởi động trình nền OSA Dispatcher.[root@spacewalk ~]#
Trong trường hợp không chạy, vui lòng khởi động lại dịch vụ spacewalk.
Mã:
[root@spacewalk ~]# spacewalk-service restart
Đảm bảo cổng tường lửa được mở cho 5222.

Vui lòng thực hiện các bước sau ở phía máy khách.
Mã:
[root@centos7test ~]# systemctl stop osad [root@centos7test ~]# rm -rf /etc/sysconfig/rhn/osad-auth.conf [root@centos7test ~]# rhn_check -vvv[root@centos7test ~]# systemctl start osad[root@centos7test ~]# systemctl status osad? osad.service - daemon OSAD Đã tải: đã tải (/usr/lib/systemd/system/osad.service; đã bật; cài đặt trước của nhà cung cấp: đã tắt) Đang hoạt động: đang hoạt động (đang chạy) kể từ CN 2017-03-05 13:54:46 CET; 26 giây trước Tiến trình: 18696 ExecStart=/usr/sbin/osad --pid-file /var/run/osad.pid (code=exited, status=0/SUCCESS) PID chính: 18697 (osad) CGroup: /system.slice/osad.service ??18697 /usr/bin/python -s /usr/sbin/osad --pid-file /var/run/osad.pid05-03 13:54:46 centos7test.sunil.cc systemd[1]: Đang khởi động daemon OSAD...05-03 13:54:46 centos7test.sunil.cc systemd[1]: Tệp PID /var/run/osad.pid không thể đọc được (chưa?) sau khi khởi động.05-03 13:54:46 centos7test.sunil.cc systemd[1]: Đã khởi động daemon OSAD.[root@centos7test ~]# netstat -aunltp|grep 5222tcp 1698 0 192.168.1.23:48127 192.168.1.20:5222 ESTABLISHED 18697/python[root@centos7test ~]#
Triển khai tệp thông qua spacewalk.

Trong ví dụ này, tôi sẽ thay đổi motd của máy chủ centos 6.

Đầu tiên, tôi sẽ tạo một kênh cấu hình.





Tạo một tệp có nội dung bên dưới.



Bây giờ chúng ta cần đăng ký kênh mà tệp cần được triển khai tới.




Tệp có thể được kéo từ máy khách.
Mã:
[root@centos6 ~]# rhncfg-client channelsSử dụng tên máy chủ spacewalk.sunil.ccCấu hình kênh:Tên nhãn--- ----motd-change motd[root@centos6 ~]#[root@centos6 ~]# rhncfg-client getSử dụng tên máy chủ spacewalk.sunil.ccTriển khai /etc/motd[root@centos6 ~]#[root@centos6 ~]# ls -l /etc/motd-rw-r--r-- 1 root root 760 5 tháng 3 14:29 /etc/motd[root@centos6 ~]# cat /etc/motd************************************************************************* ** Hệ thống này chỉ dành cho người dùng được ủy quyền sử dụng. Việc sử dụng ** hệ thống này có thể được nhân viên hệ thống theo dõi và ghi lại. ** ** Bất kỳ ai sử dụng hệ thống này đều đồng ý rõ ràng với việc giám sát như vậy ** và được khuyến cáo rằng nếu việc giám sát đó tiết lộ bằng chứng có thể có về hoạt động tội phạm, nhân viên hệ thống có thể cung cấp ** bằng chứng từ việc giám sát đó cho các viên chức thực thi pháp luật. ** **********************************************************************[root@centos6 ~]#
 
Back
Bên trên