시스템 자체는 물론 네트워크에 연결된 다른 시스템에서 실행 중인 서비스와 리소스를 관리하는 방법은 매우 다양합니다. 각종 벤더 전용 애플리케이션부터 오랜 표준인 SSH까지 여러 선택지가 있지만, 일부 Linux 배포판에서는 Cockpit이라는 훌륭한 웹 기반 도구를 사용할 수 있습니다. Cockpit은 RHEL, CentOS, Fedora 등 Red Hat 계열 Linux 시스템을 관리할 수 있도록 설계된 확장성 높고 사용하기 쉬운 웹 애플리케이션입니다. 이 가이드에서는 Cockpit을 활용해 Linux 시스템을 관리하는 방법을 소개합니다.
참고: 이 튜토리얼은 Fedora를 기준으로 작성되었지만, 다른 배포판에서도 절차가 거의 동일하게 적용됩니다.
Cockpit 설치
먼저 시스템이 최신 상태인지 확인합니다. 터미널을 열고 다음 명령어를 입력하세요.
sudo dnf update -y
업데이트가 완료되면 DNF 패키지 관리자를 통해 Cockpit을 설치하는 명령어를 입력합니다.
sudo dnf install cockpit -y
Cockpit은 "Headless Management(헤드리스 관리)" 소프트웨어 그룹에도 포함되어 있습니다. 이 그룹을 설치하면 네트워크를 통해 Fedora 워크스테이션이나 서버를 관리하는 데 유용한 여러 도구를 함께 사용할 수 있습니다.
sudo dnf groupinstall "Headless Management" -y
Cockpit 웹 콘솔에 접속하려면 방화벽에서 Cockpit을 허용하고 서비스를 시작해야 합니다. 방화벽 허용 설정은 다음 명령어로 진행합니다.
sudo firewall-cmd --add-service=cockpit --zone=public --permanent
"success"라는 메시지가 표시되면 정상적으로 적용된 것입니다. 다음으로 systemd 서비스를 활성화하고 시작합니다.
sudo systemctl enable cockpit.socket sudo systemctl start cockpit.socket
이제 웹 브라우저를 열고 localhost:9090에 접속하면 화면에 Cockpit 웹 콘솔이 나타납니다.
Cockpit 웹 콘솔 살펴보기
평소 사용하는 사용자 이름과 비밀번호로 로그인하면 친절한 개요 화면을 만나게 됩니다. 네트워크 통신에 사용되는 호스트명, 시스템 정보, 리소스 사용량 등 다양한 정보와 함께 로그, 스토리지, 네트워킹 등으로 이동할 수 있는 내비게이션 요소도 확인할 수 있습니다.
로그(Logs)
로그 메뉴를 클릭하면 시스템의 각종 로그를 한눈에 파악할 수 있습니다. 특정 프로그램이나 하드웨어에 문제가 발생했을 때 특히 유용합니다. 예를 들어 노트북에서 Fedora를 사용하다가 Wi-Fi 연결에 문제가 생겼다면, Cockpit의 로그 페이지에서 iwlwifi 관련 커널 로그를 확인하고 문제를 해결할 수 있습니다.
스토리지(Storage)
스토리지 메뉴를 클릭하면 SATA 드라이브와 CD/DVD 드라이브를 포함해 시스템에 연결된 저장 장치를 손쉽게 모니터링할 수 있는 페이지가 열립니다. Cockpit의 스토리지 페이지는 드라이브 활동, 파티션 및 장치 목록, 스토리지 로그, NFS 마운트 관리를 하나로 통합한 것으로, 이 모든 정보를 단일 도구에서 제공하는 경우는 드뭅니다. 여러 터미널 탭을 띄워 놓고 확인할 필요 없이 이 페이지 하나로 모든 정보를 관리할 수 있습니다.
네트워킹(Networking)
네트워킹 메뉴에서는 네트워크 인터페이스와 방화벽을 손쉽게 관리할 수 있습니다. 인터페이스를 켜거나 끄고, 네트워크 본딩이나 VLAN을 구성하는 것도 가능합니다. NIC가 여러 개 장착된 서버나 워크스테이션의 네트워크를 관리할 때 모든 NIC 상태를 한곳에서 빠르게 확인하고 설정할 수 있어 매우 유용합니다.
계정(Accounts)
계정 탭은 가장 단순한 메뉴입니다. 시스템의 사용자 계정을 관리할 수 있으며, 여러 관리자나 사용자가 함께 사용하는 서버에서 권한을 관리할 때 특히 유용합니다.
서비스(Services)
서비스 탭은 Cockpit에서 다소 복잡한 편에 속하지만, 시스템의 모든 서비스를 관리할 수 있는 강력한 메뉴입니다. libvirtd, sshd, cups처럼 서버의 특정 기능을 위해 반드시 실행되어야 하는 서비스가 있다면 이곳에서 시작할 수 있습니다. 그 외에도 여러 하위 섹션이 있지만, 대부분 고급 사용 사례에 해당하므로 이 가이드의 범위를 벗어납니다.
애플리케이션(Applications)
애플리케이션 메뉴에서는 Cockpit에 추가 기능을 더하거나 제거할 수 있습니다. SELinux 관리, QEMU/KVM 가상 머신 관리, podman 컨테이너 관리 등의 모듈을 추가할 수 있습니다. 처음 접하는 복잡한 도구를 학습할 때 겪는 부담을 덜어주고 손쉽게 시작할 수 있게 해줍니다.
소프트웨어 업데이트(Software Updates)
소프트웨어 업데이트 페이지는 보안 및 소프트웨어 업데이트를 관리하는 데 매우 유용합니다. 보안 업데이트만 설치하거나, 모든 업데이트를 설치하거나, 심지어 자동 업데이트를 구성할 수도 있습니다. 비교적 잦은 업데이트가 필요한 Fedora 서버를 관리하는 사람에게 큰 도움이 되며, 보안 수정 사항만 적용하고 다른 소프트웨어는 그대로 유지하고 싶은 사용자에게도 유용합니다.
터미널(Terminal)
터미널은 Host 섹션의 마지막 탭으로, 시스템을 더 세밀하게 제어할 수 있게 해줍니다. 예를 들어 Cockpit 모듈이 없는 소프트웨어를 다룰 때에도 SSH 클라이언트나 로컬 터미널로 전환할 필요 없이 익숙한 웹 인터페이스에서 바로 관리할 수 있습니다.
대시보드(Dashboard)
마지막으로 대시보드에서는 CPU, 메모리, 네트워크 I/O, 디스크 I/O 등 주요 리소스의 사용량을 한눈에 확인할 수 있습니다. 다른 서버를 대시보드에 추가할 수도 있어, 여러 서버 중 CPU 사용량이 비정상적으로 높은 서버를 재빠르게 발견할 수 있습니다. 가상 서버 환경에서도 놀랍도록 유용한 기능입니다.
Cockpit은 Linux 시스템을 관리하는 간단하고 사용자 친화적인 방법입니다. 물리 서버든 가상 서버든 여러 대의 Linux 서버를 Cockpit을 통해 손쉽게 구성할 수 있으며, 다양한 모듈을 추가해 기능을 확장할 수도 있습니다. Cockpit의 기본 사용법을 익혔다면, 원격 시스템 관리에 관한 다른 글들도 함께 확인해 보시기 바랍니다.