func 대량 관리 서버 활용
Func: 전칭 Fedora Unified Network Controller: Fedora 통일 네트워크 컨트롤러는 통일 관리 모니터링 문제를 해결하기 위해 설계하고 개발한 시스템 관리 기초 프레임워크입니다. Func는 메인 컨트롤러에서 한 번에 임의의 여러 서버나 임의의 그룹을 관리하고 원격 명령을 직접 보내거나 길에서 데이터를 얻을 수 있습니다.
func 배포
시스템: CentOS 5.8 x86_64 selinux, iptables 닫기
- master.laoguang.me 192.168.1.22
- slave1.laogunag.me 192.168.1.23
- slave2.laoguang.me 192.168.1.24
하나.설치 전 준비
1.1.ip와hostname을hosts에 비추기
- echo "
- 192.168.1.22 master.laoguang.me master
- 192.168.1.23 slave1.laogunag.me slave1
- 192.168.1.24 slave2.laoguang.me slave2 " >> /etc/hosts
-
- scp /etc/hosts slave1:/etc/
- scp /etc/hosts slave2:/etc/
1.2.시간 동기화 ## 제가 동기화 카드를 하지 않아서 2시간 동안 여기 있습니다. ssl v3입니다.
서버당
- yum -y install ntp
- ntpdate ntp.api.bz
2.모든 서버에func 설치
소프트웨어 준비:
- Python-2.5.2.tgz ##func Python
- wget http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tgz
- pyOpenSSL-0.9.tar.gz ##
- wget http://jaist.dl.sourceforge.net/project/pyopenssl/pyopenssl/0.9/pyOpenSSL-0.9.tar.gz
- func-0.28.tar.gz ##func
- wget https://fedorahosted.org/releases/f/u/func/func-0.28.tar.gz
- certmaster-0.28.tar.gz ##
- wget https://fedorahosted.org/releases/c/e/certmaster/certmaster-0.28.tar.gz
2.1python2.5를 설치했는데 func와python2.4 이하의 호환성이 좋지 않다고 합니다.
python을 설치하기 전에 gdbm-devel을 설치하십시오. 그렇지 않으면func를 시작하면 오류가 발생합니다.
- yum -y install gdbm-devel
- tar xvf Python-2.5.2.tgz
- cd Python-2.5.2
- ./configure
- make && make install
2.2 pyOpenSSL-0.9 설치
- tar xvf pyOpenSSL-0.9.tar.gz
- cd pyOpenSSL-0.9
- python setup.py install
2.3 certmaster-0.28 설치
- tar xvf certmaster-0.28.tar.gz
- cd certmaster-0.28
- python setup.py install
2.4 func-0.28 설치
- tar xvf func-0.28.tar.gz
- cd func-0.28
- python setup.py install
2.5 생성된 바이너리 파일은/usr/local/bin 아래에 있고,certmaster,func의 시작 스크립트의 명령은/usr/bin 아래에 있기 때문에 소프트 링크를 만듭니다.
- ln -s /usr/local/bin/certmaster /usr/bin/certmaster
- ln -s /usr/local/bin/certmaster-request /usr/bin/certmaster-request
- ln -s /usr/local/bin/certmaster-ca /usr/bin/certmaster-ca
- ln -s /usr/local/bin/certmaster-sync /usr/bin/certmaster-sync
- ln -s /usr/local/bin/funcd /usr/bin/funcd
- ln -s /usr/local/bin/func /usr/bin/func
- ln -s /usr/local/bin/func-create-module /usr/bin/func-create-module
- ln -s /usr/local/bin/func-inventory /usr/bin/func-inventory
- ln -s /usr/local/bin/func-transmit /usr/bin/func-transmit
- ln -s /usr/local/bin/func-build-map /usr/bin/func-build-map
셋.소프트웨어 구성
3.1 마스터 사이드, 즉 서버 사이드, 프로필을 수정할 필요가 없습니다
- cat /etc/certmaster/certmaster.conf
- # configuration for certmasterd and certmaster-ca
- [main]
- autosign = no ## ,
- listen_addr =
- listen_port = 51235
- cadir = /etc/pki/certmaster/ca
- cert_dir = /etc/pki/certmaster
- certroot = /var/lib/certmaster/certmaster/certs
- csrroot = /var/lib/certmaster/certmaster/csrs
- certcert_extension = cert
- sync_certs = False
- cat /etc/certmaster/minion.conf
- # configuration for minions
- [main]
- certmastercertmaster = certmaster
- certmaster_port = 51235
- log_level = DEBUG
- cert_dir = /etc/pki/certmaster
- cat /etc/func/minion.conf
- # configuration for minions
- [main]
- log_level = INFO
- acl_dir = /etc/func/minion-acl.d
- listen_addr =
- listen_port = 51234
- minion_name =
- method_log_dir = /var/log/func/methods/
3.2 slave1, slave2 사이드 설정, 즉 클라이언트 설정
- vim /etc/certmaster/minion.conf
- [main]
- certmaster = master.laoguang.me ## master
- certmaster_port = 51235
- log_level = DEBUG
- cert_dir = /etc/pki/certmaster
3.3 서버 쪽에서certmaster를 사용하고 클라이언트가funcd를 시작합니다
- master: service certmaster start
- slave1,slave2: service funcd start
-
- netstat -tlnp | grep python ## ,51235 certmaster
- tcp 0 0 0.0.0.0:51235 0.0.0.0:* LISTEN 43613/python
- netstat -tlnp | grep python ## ,python func ,
사.테스트 및 사용
4.1 서버 쪽에서 몇 개의 클라이언트가 서명을 신청했는지 확인하십시오. 만약 프로필이 자동 서명이라면 그것들을 보지 못할 것입니다
- [root@master ~]# certmaster-ca --list
- slave1.laogunag.me
- slave2.laoguang.me
4.2 서명하기
- certmaster-ca --sign "slave1.laoguang.me"
- certmaster-ca --sign "slave2.laoguang.me"
4.3 서명된 클라이언트 보기
- [root@master ~]# certmaster-ca --list-signed
- slave1.laoguang.me
- slave2.laoguang.me
4.3 서버에 대한 서명 삭제
- certmaster-ca --clean "slave1.laoguang.me"
- ## ,slave1 /etc/pki/certmaster slave1 , funcd,
4.4 CommandModule 모듈을 사용하여 클라이언트에서 명령 실행
문법:func'hostname'call command run'command'
예: slave1에서 ifconfig eth0 실행
- func 'slave1.laoguang.me' call command run 'ifconfig eth0'
4.5 ServiceModule 모듈을 사용하여 종료 등 서비스 시작
문법:func'hostname'call 서비스 start/stop/restart'서비스name'
slave2의 sshd 다시 시작
- func 'slave2.laoguang.me' call service restart 'sshd'
4.6 NetworkTest 모듈을 사용하여 고객 호스트 테스트
문법:func'hostname'ping
예: 모든 클라이언트 상태 보기
- func '*' ping
4.7 ProcessModule 모듈 활용 테스트
문법:funchostnamecallprocess명령
예: slave1의 메모리 사용 보기
- func slave1.laoguang.me call process mem
4.8 SysctlModule을 사용하여 커널 매개변수 조정
문법:funchostnamecallsysctl명령
func hostname call sysctl get
func hostname call sysctl set
예: slave2의 커널 매개 변수 보기
- func slave2.laoguang.me call sysctl list
예: slave1의 ip_ 보기forward 값
- func slave1.laoguang.me call sysctl get net.ipv4.ip_forward
기타 모듈은 홈페이지 참조
5.0 그룹 정의
일부 호스트를 그룹으로 정의하고 대량 관리할 수 있다
- vim /etc/func/groups
- [slave]
- host = slave1.laoguang.me,slave2.laoguang.me
slave 그룹의 호스트 상태 보기
- func '@slave' ping
일단 여기까지 썼어요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
func 대량 관리 서버 활용Func 소개: Func: 전칭 Fedora Unified Network Controller: Fedora 통일 네트워크 컨트롤러는 통일 관리 모니터링 문제를 해결하기 위해 설계하고 개발한 시스템 관리 기초 프레임워...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.