※ tcp6으로 열려있는데 왜 ipv4로 통신 하나요? - tcp6는 ipv4와 ipv6를 모두 지원 합니다. 참고자료 : https://unix.stackexchange.com/questions/237731/why-are-ipv4-tcp-connections-showing-as-tcp6
웹 브라우저에 https://[서버ip]:9090을 입력하여 접속하면 로그인 화면은 아래와 같이 상당히 깔끔하게 되어 있습니다. 콘솔 계정을 그대로 입력하여 로그인 하시면 됩니다.
1) 대쉬보드
대쉬보드는 다음과 같이 되어 있습니다. 따로 크롬 번역기가 작동한것도 아닌데 한글화는 되어 있는 것 같습니다만, 번역체로 되어 있네요.
메뉴 : 메뉴에 대한 기능은 이따 살펴 보겠습니다.
건강 : 서비스의 상태에 대한 내용으로 보입니다. 서비스 실패를 눌러보니 "서비스" 매뉴로 이동 되네요. "참고 1-2"를 확인 해주세요.
사용량 : 서버의 리소스 사용량에 대한 내용 입니다. "세부 정보 및 내역 보기"를 클릭하면 개요 → 성능 메트릭 으로 이동 됩니다. 소메뉴 같은데 웹상에서는 보이지 않네요. 어떤 서비스가 메모리를 사용중인지, 디스크 용량과 쓰기, 네트워크 인터페이스와 인/아웃 패킷이 추가적으로 보입니다. "참고 1-3"에서 확인할 수 있습니다. cokpit-pcp가 누락되었다고 뜨는데, 모니터링 기능이 추가되는걸로 보입니다.
시스템 정보 : 하드웨어에 대한 정보가 표시 됩니다. 스크린샷에서는 짤려있지만 아래에 "하드웨어 세부사항 보기"가 있지만 클릭하면 빈 페이지로 이동 되네요.
설정 : 호스트 이름과 시스템 시간, 도메인, 성능 프로파일, 보안 쉘 키가 표시 됩니다. 각각을 클릭하여 수정하거나 정보를 볼 수 있습니다.
재부팅 : 재부팅 / 종료 버튼 입니다. 버튼을 눌럿을 때 바로 적용되지는 않습니다. "참고 1-4"를 확인 해주세요.
사용자 설정 : 표시 언어 / SSH 키 / 로그아웃을 할 수 있습니다.
2) 메뉴 알아보기
첫번째로 "로그" 메뉴 입니다. 이 로그들은 journalctl 명령어 기반으로 작동하는것으로 보입니다.
두번째로 "네트워킹" 메뉴 입니다. 트래픽과 방화벽, 인터페이스, 네트워크 로그에 대한 내용이 있네요.
방화벽에서 "규칙 및 영역편집 (참고 2-2)"을 누르면 firewall 기반으로 관리할 수 있는 페이지가 있습니다. 여기서 방화벽을 추가할 경우 바로 로드되어 적용 됩니다. firewall에 익숙하지 않으신분은 유용하게 사용할 수 있을 것 같네요.
인터페이스 메뉴에서는 본딩,VLAN 등을 설정할 수 있네요.
세번째로 "계정" 메뉴 입니다. 웹에서 편하게 만들 수 있도록 되어 있네요.
네번째로 "서비스" 메뉴 입니다. 필요 없는 서비스들을 확인하고 관리할 수 있게끔 되어 있네요. 서버를 운영 하면서 이렇게 관리하기가 쉽지 않은데, 이 기능을 사용하면 필요한 서비스들만 관리할 수 있을 것 같네요. 유용해 보입니다.
아래 메뉴들이 남았지만 이 메뉴들은 간단히 설명만 하고 패스하려 합니다.
진단 보고서 : 보고서를 만드는 메뉴 같은데, 따로 툴이 필요한건지 보고서 생성 버튼이 비활성화 되어 있습니다(...)
커널 덤프 : kdump 설정에 대한 내용 입니다. "구성 테스트" 버튼을 클릭해 커널을 크래쉬하여 테스트해볼 수 있으나, 특정 서비스들이 재시작될 수 있으니 테스트 서버에서 해보시는걸 추천 드립니다.
터미널 : putty, xhsell 같이 리눅스 서버를 제어할 수 있는 콘솔창이 나옵니다. 신기하게 pts, tty등으로 나오지 않고 "web console"로 출력 되네요. (아래 터미널 스크린샷 참고)
SELinux : SELinux 정책에 대한 내용을 보여주는 것 같습니다. setroubleshoot-server를 설치하면 SELinux 이벤트에 대한 내용도 나오는 것 같은데, 저는 항상 SELinux를 꺼둬서 패스 하였습니다.
사용 후기
록키뿐만 아니라 다른 리눅스에서도 cockpit을 사용하여 웹 콘솔을 쓸 수 있지만, 리눅스를 사용할 줄 아시는 분이라면 굳이 사용 해야할 필요성은 느껴지지 않았습니다. 만약 여기서 파일 시스템 관리에 대한 기능이 생긴다면 리눅스를 잘 모르시는 분들이 사용하기에 꾀 유용할꺼라고 생각 됩니다. 레드햇 계열 8 버전부터 밀어주는(?) 만큼 앞으로 다양한 기능들이 생기지 않을까 싶습니다만, 바로 터미널에 붙어 사용할 수 있는 만큼 보안 취약점에 대한 대응 능력이 뛰어날지는 미지수 같네요.
우분투 nvidia driver, cuda 11.0, cudnn 8.0 설치 (Ubuntu nvidia driver install, Ubuntu cuda 11.0 install, cudnn 8.0 install)
1. 우분투 nvidia driver 확인 및 설치
ubuntu-drivers-cmmon 패키지를 설치하면 그래픽 카드 드라이버를 추천 해줍니다. 아래 명령어를 사용해 패키지를 설치 해주세요
apt update
apt install -y ubuntu-drivers-common
아래 명령어를 입력하여 driver 라인을 보면 어떤 드라이버를 설치하면 좋을지 확인 하시면 됩니다. 저는 vmware를 통해 설치했기 때문에 open-vm-tools-desktop으로 나오지만, 호스트OS에 직접 설치한 경우 nvidia-driver-460처럼 nvidia-driver로 시작하는 내용이 나옵니다.
ubuntu-drivers devices
위에서 확인한 드라이버를 apt 명령어로 설치를 진행 해주세요.
# 확인한 드라이버가 nvidia-driver-460일 경우
apt install -y nvidia-driver-460
# 확인한 드라이버가 nvidia-driver-450일 경우
apt install -y nvidia-driver-450
※ 드라이버 설치 후 nvidia-smi 명령어를 입력하면 드라이버 버전을 확인하실 수 있습니다.
2-1. cuda 11.0 설치
우선 cuda 11.0을 설치하기 전, nvida-smi에서 cuda 파일을 같이 가져와 설치하는걸로 보입니다. 아래 명령어를 입력해 기존 cuda를 삭제 해주세요.
※ CLI 환경일 경우 인터넷이 되는 PC에서 다운로드 링크(아래 스크린샷의 wget 라인)를 확인 후 진행 하시면 됩니다.
아래 스크린샷처럼 환경에 맞춰 선택한 뒤 아래 스크린샷의 가장 하단에 있는 명령어를 그대로 입력 해주시면 됩니다. 또는 11.0을 설치 하신다면 아래 코드 명령을 그대로 복붙 하셔도 됩니다.
wget http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run
sudo sh cuda_11.0.2_450.51.05_linux.run
sudo sh cuda_11.0.2_450.51.05_linux.run를 입력하시고 잠시 기다리시면 인스톨 창이 나옵니다. 현재 vm환경이므로 텍스트로 대신 합니다. 스크린샷은 없지만 아래 내용을 그대로 따라하시면 됩니다.
Continue 선택 후 엔터
accept 입력 후 엔터 (nividia 라이센스에 관련된 내용 입니다)
Driver 선택 후 엔터 입력하여 체크 해제 (1번에서 드라이버를 이미 설치했기 때문에 cuda에서 자동으로 드라이버를 잡지 않도록 하는 설정 입니다.)
Install 선택 후 엔터
※ "A symlink already exists at /usr/local/cuda. Update to this installation?" 가 출력된다면 기존에 cuda를 사용중이였거나, nvidia-smi를 설치하며 같이 설치된 cuda가 있는 경우 입니다. 필요 없을 경우 No를 선택 해주시면 됩니다. (No가 선택이 안된다면 nstall)
cuda 설치가 완료된 후 nvcc -V 명령어를 입력하여 설치된 버전을 확인할 수 있습니다.
2-2. cuda 11.0 PATH 설정
vi /etc/profile을 입력한 후 아래 내용을 가장 하단에 붙여넣어 주세요.
※ 참고로 아래 명령중 cuda-11.0 부분은 cuda의 버전에 따라 변경될 수 있습니다. ls -lh /usr/local | grep cuda 명령을 통해 어떤 디렉토리 이름으로 사용중인지 확인 후 변경하여 쓰시면 됩니다.
이제 아래에서 원하는 버전을 클릭하여 설치를 진행 하시면 됩니다. 저의 경우 cuda 11버전을 설치한 상태이고 cuDNN 8.0 버전을 설치할 예정이기 때문에 "Download cuDNN v8.0.5 (November 9th, 2020), for CUDA 11.0"를 설치 했습니다.
※ CLI환경일 경우 다른PC에서 다운로드 받은 후 USB 또는 SCP 등을 통해 우분투 서버로 옮겨 주시면 됩니다.
cudnn 파일을 압축 해제 후 경로 이동, 설정, 링크 설정을 해줍니다. 저와 다른 버전을 설치한 경우 압축 파일명과 /usr/local/cuda-11.0 폴더가 맞는지 확인 후 진행 해주세요.
재대로 설치되었을 경우 "#define CUDNN_MAJOR 8"을 확인하실 수 있습니다.
3. 설치 확인 방법 정리
nvidia 드라이버 설치 확인 방법 : nvidia-smi
cuda 설치 확인 방법 : nvcc -V
cudnn 설치 확인 방법 : ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn
※ nvidia-smi와 nvcc -V 에서 cuda 버전이 다르게 나올 수 있습니다. nvidia-smi에서의 cuda 버전은 지원 가능한 cuda 버전을 보여주기 때문에 nvcc -V에서 나오는 버전과는 상관이 없습니다. 일반적으로 nvidia-smi에서 나오는 cuda 버전이 nvcc -V에서 나오는 버전보다 같거나 높다면 문제가 되지 않는다고 합니다.
ex) nvidia-smi CUDA 버전 : 11.1 / nvcc -V CUDA 버전 : 11.0 = 문제되지 않음