본문 바로가기

개발노트/LINUX

리눅스 설치 시행착오 (DL380 G4, Smart Array 6i)

개요

  • 목적 : 2차 DNS를 구성하기 위한 리눅스를 설치하고 설정하는 것

  • 하드웨어

    • HP DL380 G4 서버

    • HP Smart Array 6i RAID Controller 내장

CentOS 7.3(1611)

  • 설치는 Centos ISO파일을 구운 DVD를 외장 DVD 리더를 연결하여 진행하였다.

  • 가장 처음 발생한 문제는 부팅 순서를 바꿔주었는데도 DVD를 읽지 못하는 것이었다.

    • DL380 서버는 구형이라 내장 DVD 리더기가 장착되어있지 않고 CD 리더기가 장착되어 있었다.

    • 외장 DVD 리더를 활용하여 문제 해결

  • 두번째 문제는 모니터에 화면이 안 나오는 것이었다. 디스플레이 해상도 문제로서 “Install CentOS...” 를 실행하면 검은 화면만 나오고 인스톨 GUI가 안 나오는 문제였다.

    • “Install CentOS...” 를 실행하기 전에 TAB 키를 눌러, 실행 옵션을 보이게 한 후 vga=791(792도 된다.) 를 마지막에 추가하고 ENTER 키를 눌러 실행함으로서 해결.

  • 설치화면에서 Local Disk를 탐색하지 못했다.

    • CentOS 는 6버전에서 7버전으로 넘어가면서 공식적으로 cciss 지원을 하지 않게 되었다. 그런데 구형인 HP Smart Array 6i Raid Controller 에서는 cciss 로만 디스크를 탐색하도록 되어있어서 설치화면에서 Local Disk를 잡지 못했다.

    • “Install CentOS...” 의 실행 옵션에서

hpsa.hpsa_simple_mode=1 hpsa.hpsa_allow_any=1 cciss.cciss_allow_hpsa=1 를 추가하고 실행하면 된다는 레퍼런스를 확인하고 시도해봤으나 실패였다.

    • kmod-cciss를 이용하는 방법으로 DUP ISO를 구하여 HP Smart Array 6i RAID Controller가 로컬 디스크를 인식할 수 있도록 하는 방법을 사용해봤으나 실패하였다.


결론 : HP DL380 서버에는 CentOS 7.3을 설치하는 것은 거의 불가능하다. 만약 DL380 에 CentOS를 올려야 한다면 CentOS 6.5버전을 설치하면 문제가 없을것이라는 사용자 포럼에 의견이 있으니 CentOS 6.5버전을 설치해보는 것이 좋을 것 같다.

Ubuntu Server 16.04(LTS)

  • CentOS 설치를 실패하고 우분투를 설치하기로 결정하였다.

  • 우분투 데스크탑 버전이 아니라 우분투 서버 버전을 설치하였다.

  • 설치는 UUI(Universal USB Installer) 프로그램을 이용하여 Ubuntu Server ISO 파일을 USB에 담아서 진행하였다.

  • 설치 과정은 평범하게 진행되었다. 하지만 설치가 끝나고 재부팅이 되는데 화면 해상도가 바뀌면서 모니터에 아무것도 뜨지 않았다.

    • 부팅 시, GRUB 부트로더도 나오지 않길래 부팅될 때 Shift 키를 눌러서 강제로 GRUB 부트로더가 나오게 하였다.

    • GRUB 부트로더에서 Recovery Mode 로 부팅해보니 화면에 잘 출력되며 부팅이 잘 되는 것을 확인하였다.

    • 다시 부팅하여 GRUB 부트로더에서 e 키를 눌러 GRUB 설정을 보이도록 하였고 거기서 ” gfxmode $linux_gfx_mode “ 라는 부분을 삭제하고 부팅하니 화면에 잘 출력 되는 것을 확인할 수 있었다.

    • 이후 GRUB 부트로더에서 e 키를 누르고 Ctrl+C 를 눌러 grub> 모드로 진입하여 “ set “ 명령어를 입력하여 $linux_gfx_mode 가 무슨 값인지 확인하였다.

      • $linux_gfx_mode=keep 으로 확인되었고, 이후 몇번 확인해봤는데 어떨 땐 $linux_gfx_mode=text 로 나와있을 때도 있었다.

    • GRUB 부트로더에서 e 키를 눌러 GRUB 설정을 보이도록 한 상태에서 “ gfxmode $linux_gfx_mode “ 라는 부분을 삭제하지 않고 “ gfxmode 640x480 “ 으로 변경하고 부팅해보니 문제없이 부팅에 성공하였다.

    • 일단 부팅을 한 후 /etc/default/grub 파일과 /etc/grub.d/10_linux 파일, /boot/grub/grub.cfg 파일을 훑어보고 원인을 찾아보았는데 이상하게 /etc/grub.d/10_linux 파일을 변경하고 ” $ sudo update-grub “ 을 실행해줘도 /boot/grub/grub.cfg 에 반영이 되지 않았다.

    • 최종적으로 시도한 방법은 /boot/grub/grub.cfg 파일 자체를 직접 수정하기로 했고 vi 편집기에서 linux_gfx_mode 를 검색하면 여러개의 if문으로 분기되어 linux_gfx_mode 의 값을 keep 인지 text인지 나누어주고 있음을 확인한 후, if문에 상관없이 “ gfxmode 640x480 “ 으로 변경하고 저장한 후 “ $ sudo update-grub “을 실행하였다.

    • 이제 reboot 될 때 매번 shift를 눌러 GRUB에서 gfxmode 를 바꿔주지 않아도 자동으로 해상도가 640x480 으로 부팅이 되어 문제가 없다.

  • SSH 접속이 되지 않았다. Putty로 시도하였다.

    • 분명 ubuntu server 설치 시 openSSH 도 같이 설치를 했었는데 xxx.xxx.xxx.109번 자리에서 SSH 접속이 안 되는 것이었다.

    • 방화벽 문제인 것 같아서 efw 를 확인하고 22/tcp 를 열어주었는데도 안 되었다.

    • openSSH-server 를 재설치하고, key (rsa, dsa) 를 새로 생성해주고 시도해봤지만 잘 되지 않았다.

    • 특이점은 그냥 안 되는 게 아니라 어떨 땐 접속에 성공을 하는데 성공 이후 몇초 뒤에 “Network Error : Software caused connection abort” 라는 메세지가 뜨면서 연결이 끊기는 것이었다.

    • 그러다 xxx.xxx.xxx.104번 자리에서 접속을 시도해봤는데 문제없이 계속 세션이 유지 되는 것을 확인하였다.

    • xxx.xxx.xxx.104 번과 xxx.xxx.xxx.109 번의 차이가 무엇인지 네트워크 설정부터 살펴보니 109번은 서브넷마스크가 255.255.255.128로 되어있었고 104번은 서브넷마스크가 255.255.255.192로 되어 있었다. 그리고 DNS를 설정할 DL380 서버의 서브넷마스크도 255.255.255.192로 되어있었다. 109번의 서브넷마스크를 26(255.255.255.192)로 변경하였더니 문제가 해결되었다.

    • 예전에 터미널 서비스(원격 데스크톱)를 사용하는 것에서도 어떤 자리에서는 되고, 어떤 자리에서는 안 되는 비슷한 문제가 일어났었는데 그 때도 서브넷마스크가 문제였었다.




여기 적혀있는 방법 말고도 여러가지 시도해본 것이 많으나 기억나는 대로 정리했음. 약 80개의 웹브라우저 Tab을 띄어놓고 해봤음...