현재 작업중인 곳에서는 서버 팜의 Linux 부분 인 300 개가 넘는 Linux 서버를 관리해야합니다. 여기에는 대부분 HP Proliants와 IBM 3850, 일부 IBM 블레이드, VMware ESX 및 내부 관리 서버용 KVM이 포함됩니다.
구두 수선공
우리는 cobbler를 보았지만 cobbler는 매우 RHEL / Red Hat과 관련이 있다는 문제가있었습니다. 우리는 최소한 RHEL과 SLES를 지원해야하며 우분투는 다음 단계입니다.
인형
우리는 꼭두각시를 고려했지만 루비에 따라 루비를 업그레이드 할 경우 관리 시스템이 손상 될 수 있음을 나중에 결정했습니다.
열선
Hotwire는 우리가 사용하는 (내부적으로 개발되었지만 오픈 소스입니다) 지난 몇 년 동안 그렇게 해왔습니다. 먼저 구축 할 시스템을 인벤토리 화합니다. 즉, 데이터 센터, 랙, 하드웨어, 운영 체제, 네트워크 등의 인벤토리를 작성하고 두 번째로 빠른 구축 및 배포를 수행합니다. 시스템이 구축되면 hotwire의 자동 인벤토리는 인벤토리를 동기화 상태로 유지하고 cfengine은이를 유지합니다. Hotwire는 python-dmidecode 를 통해 Bios의 SMBIOS / DMI 데이터와 통신하여 서버 하드웨어에 대해 알고 있습니다.
보너스 포인트는 인벤토리와 빌드 프로세스를 하나로 결합하여 관리하는 것이 적으며, 실제 인벤토리 기능이 옳지 않다는 것을 알기 때문에 실재 기능입니다.
단점은 사용자 인터페이스가 여전히 연마가 필요하고 여기 저기 버그가 있지만 개발은 여전히 뜨겁고보고 된 버그는 비교적 빠르게 수정된다는 것입니다.
cfengine
우리는 cfengine을 사용합니다. 꼭두각시 외에 다른 것은 없기 때문입니다. 실제로 는 좋은 도구이지만 정책이 얼마나 좋은지에 따라 "좋은"것입니다. 위험한 정책을 설정하면 작은 실수로 인해 많은 피해가 발생할 수 있습니다. 예를 들어, 정책에 따라 파일을 "수정"하지 않고 파일을 바꾸거나 바꾸지 않습니다. 또한 교체 된 모든 파일에는 편집하는 사람이 다음에 실행될 때 교체 될 것임을 알 수있는 헤더가 있습니다 (cron을 통해 매시간 실행됩니다).
cfengine에 의해 서버로 푸시 된 구성 및 모든 파일도 SCM에 보관되며, 커밋 후 후크를 사용하여 가능한 경우 구문을 확인하고 실패하면 커밋이 거부됩니다. 이것은 Apache와 같은 멋진 응용 프로그램에는 쉽지만 대부분의 엔터프라이즈 응용 프로그램에는 쉽지 않습니다.