홈 서버 만들기 02. 우분투 서버 18.04 LTS 설치

May 10, 2018Updated on December 8, 2018

홈 서버의 OS로 우분투 서버를 선택했다. 우분투는 워낙 다양하고 많은 사용자를 가진 덕택에 관련된 설명이나 문제 해결 게시물이 다른 리눅스 배포판보다 많아서 도움을 얻기가 수월하다. 사용자가 그만큼 많다는 것은 성능이나 안정성도 그동안 충분히 검증되었다는 의미도 될 것이다. 이런 우분투는 리눅스를 처음 접하는 사람이 쉽게 접근할 수 있는 배포판으로 꼽히기도 한다.

‘우분투’라는 단어의 뜻은 남아프리카 반투어로 ‘네가 있으니 내가 있다’라는 뜻이다. 우분투는 매년 4월과 10월에 새 버전이 배포되는데, 짝수 연도의 4월 버전이 LTS 546465(Long-Term Support: 장기간 지원) 버전이다. 현재 최신 LTS 버전은 2018년 4월에 출시된 18.04 LTS 버전이다. LTS 버전은 출시 후 5년간 사후 지원되고, LTS가 아닌 버전은 9개월간 지원된다.

우분투 서버 18.04 LTS 설치 이미지 선택

우분투 서버 18.04 LTS 버전은 설치 이미지가 2종류 있는데, 새로운 Subiquity 인스톨러가 탑재된 이미지와 기존의 데비안 인스톨러가 탑재된 이미지가 있다. 54135www.ubuntu.com 웹사이트에서 내려받을 수 있는 설치 이미지는 Subiquity 인스톨러 버전인데, Subiquity 인스톨러는 RAID나 LVM 등을 지원하지 않아서 설치 시에 디스크를 다루는 기능이 부족하다. 반면에 cdimage.ubuntu.com 웹사이트에서 내려받을 수 있는 데비안 인스톨러 이미지는 이런 제약 없이 RAID나 VLM 등을 다룰 수 있다. 나의 홈 서버 컴퓨터는 HDD 2개를 RAID 0으로 묶어서 사용할 것이므로 3264cdimage.ubuntu.com의 이미지를 선택했다.

우분투 서버 설치용 USB 메모리 만들기

윈도우 PC를 사용 중이라면 우분투 웹사이트의 설명을 참고해서 Rufus를 이용해 설치용 USB 메모리를 만들면 이상 없이 잘 작동한다. 우분투 서버를 설치할 컴퓨터가 UEFI를 지원하는 사양일 경우 메인보드의 Bios에서 UEFI로 설정하고 Rufus 메뉴 중에서 46896파티션 방식대상 시스템GPTUEFI (CSM 지원 안 됨)을 선택하면 된다.

Mac에서는 우분투 웹사이트의 macOS용 설명을 참고해서 Etcher를 이용해 설치용 USB 메모리를 만들면 이상 없이 잘 작동한다. 먼저 사용할 USB 메모리를 macOS의 디스크 유틸리티에서 GUID 파티션맵, MS-DOS (FAT)216516 형식으로 지우기 한 다음에, Etcher를 실행해서 우분투 서버 iso 파일과 USB 메모리를 선택하고 Flash! 버튼을 누르면 끝난다. 완성된 USB 메모리는 macOS에서 “삽입한 디스크는 이 컴퓨터에서 읽을 수 없습니다.” 라는 메시지를 띄우지만, 이상 없이 잘 작동하므로 추출 버튼을 눌러서 Mac에서 분리하면 된다.

메인보드 Bios 설정

나의 홈 서버 컴퓨터에 사용 중인 기가바이트 GA-B250M-DS3H 메인보드를 기준으로

Fast Boot: Disabled
Windows 8/10 Features: Other OS
Storage Boot Option Control: UEFI
Other PCI Device: UEFI

정도를 설정하고, 사용하지 않는 Serial 포트, Parallel 포트, Audio Controller를 Disabled 했고, 내장 그래픽만 사용하므로 Internal Graphics을 Enables로 두고 Initial Display Output을 IGFX로 설정했다. 우분투 18.04 버전은 USB 3.0을 지원하므로 XHCI Hand-off를 Disabled로 두었다. 이외의 나머지 항목은 54656기본값으로 두었다.

/home 디렉토리와 Btrfs 스냅샷

리눅스의 디렉토리 구조 중에서 /home 디렉토리는 사용자의 데이터가 담기는 곳으로 각종 파일을 저장하기에 알맞은 디렉토리이다. 그리고 리눅스의 파일 시스템 중에서 Btrfs는 자신의 서브볼륨 구조를 이용해서 9341513파일을 예전 상태로 되돌릴 수 있는 스냅샷 기능을 제공한다. 또한 우분투 서버는 설치 시에 /와 /home에 마운트 되는 볼륨이 Btrfs로 포맷되어 있으면 /와 /home의 서브볼륨을 자동으로 생성한다. 따라서 스냅샷 기능을 사용할 생각이라면, 데이터 저장용으로 사용할 디스크를 우분투 서버를 설치하는 과정에서 Btrfs로 포맷하고 마운트 포인트를 /home으로 지정하는 것이 좋다.

우분투 서버 설치 과정

우분투 서버 설치 이미지가 담긴 USB 메모리로 부팅하면 아래와 같은 화면이 나타난다. 아래는 우분투 서버 18.04 LTS 버전의397643 설치 화면이며, 화면을 캡쳐하기 위해서 Vmware 가상 컴퓨터상에서 진행했고, 가상 컴퓨터는 UEFI 시스템으로 설정했다. 실제로 나의 홈 서버 컴퓨터에는 OS 설치용 SSD 1개, 데이터 저장용 HDD 2개가 장착되어 있는데, 이와 비슷하게 세팅하기 위해서 Vmware에서 가상 HDD 3개를 생성했다. 대략적인 설치 시나리오는: 3개의 가상 HDD 중 1번째 HDD에 우분투 서버 OS를 설치하고, 2번째와 3번째 HDD는 RAID 0으로 묶어서 9v63543d스냅샷 기능을 사용하기 위해 btrfs 파일 시스템으로 포맷하고 데이터 저장용으로 /home 디렉토리에 마운트할 것이다.

 

Install Ubuntu Server를 선택해서 설치를 시작한다.

 

언어는 영어로 지정한다. 한국어를 선택해도 되지만 몇몇 메시지가 한글로 출력될 뿐 큰 의미는 없다. 오히려 그런 메시지에 대해 웹에서 검색할 때는 영어로 검색하는 것이 결과물이 풍부하므로 메시지 자체가 영어로 출력되는 것이 편리하다.
(화살표 방향키로 선택 표시를 이동하고, 엔터키로 결정한다.)

 

리눅스는 소프트웨어를 하나씩 개별적으로 찾아서 설치하는 것이 아니라 각종 소프트웨어가 모여있는 ‘패키지 저장소’를 통해서 설치하고 또 한 번에 업그레이드하는 방식을 사용한다. 이 패키지 저장소 서버는 전 세계에 분포되어 있는데, 여기서 선택하는 지역의 서버를 기본으로 사용하게 된다. 한국을 선택해도 되지만, 한국 서버가 종종 뻗어있는 경우를 경험해서 미국을 선택했다. 미국이라고 해도 크게 느리다는 느낌은 없었다.

 

키보드 레이아웃은 수동으로 선택하는 것이 편리하므로 No를 선택한다.
(Tab 키를 누르면 빨간색 선택 표시가 이동한다.)

 

영어로 설치하고 사용하므로 English (US) 를 선택하고,

 

키보드 레이아웃도 English (US) 를 선택한다.

 

서버의 호스트 네임을 결정한다. 호스트 네임은 이 홈 서버 컴퓨터의 기본 이름이다. 여기서는 myserver로 입력했다.
(Tab 키를 누르면 빨간색 선택 표시가 이동한다.)

 

사용자의 실제 이름을 입력하는데, 별다른 의미는 없다.

 

서버의 사용자 계정 이름 (유저네임) 을 결정한다. 로그인할 때 쓰는 이름이고, 이 계정으로 서버를 운영하게 된다. 여기서는 varins로 입력했다.

 

이 계정의 비밀번호를 결정한다.
(Show Password in Clear는 스페이스 바를 누르면 선택된다.)

 

비밀번호를 한 번 더 입력한다.

 

네트워크를 통해 현재 시간대를 받아오는데, Asia/Seoul 이 맞는지 확인한다.

 

이제 컴퓨터에 장착된 디스크를 설정하는 단계이다. RAID 설정을 할 것이므로 Manual을 선택해서 직접 설정을 시작한다.

 

컴퓨터에 장착된 3개의 HDD가 보인다. 차례대로 (sda), (sdb), (sdc)라고 지정되어 있는 것이 보인다. 3개의 HDD 중에서 첫 번째 HDD인 sda에 우분투 서버를 설치하고, sdb와 sdc는 RAID 0으로 묶어서 데이터 저장용으로 /home 디렉토리에 마운트 할 것이다.

우분투 서버를 설치할 첫 번째 HDD인 sda를 선택한다.

 

파티션 테이블을 생성한다.

 

생성된 파티션 테이블을 선택한다.

 

이 파티션 테이블을 통째로 우분투 서버 공간으로 사용할 것이다. Automatically partition the free space를 선택하면 자동으로 설정해준다.

 

이제 sda에 자동으로 생성된 파티션 내역이 나타난다. 디스크의 시작과 끝에 약간의 FREE SPACE가 생성되고, UEFI 컴퓨터에서는 ESP, ext4 파티션이 생성된다. ESP 파티션은 UEFI가 사용하는 공간이고, ext4 파티션은 오른쪽에 보면 / (루트) 에 마운트되어 우분투 서버가 설치될 공간이다. ext4는 리눅스에서 사용하는 파일 시스템 중 하나인데 리눅스를 설치할 공간으로 적합한 파일 시스템이다.

그다음, 나머지 두 개의 HDD를 RAID 0으로 묶기 위해서, 먼저 나머지 두 개 중 첫 번째 HDD인 sdb를 선택한다.

 

파티션 테이블을 생성한다.

 

그다음, 나머지 두 개 중 두 번째 HDD인 sdc를 선택한다.

 

마찬가지로 파티션 테이블을 생성한다.

 

이제 RAID를 설정하기 위해서 위쪽의 Configure software RAID 를 선택한다.

 

RAID 작업을 하기 전에 지금까지 설정한 디스크 정보를 저장하겠냐고 물어오는데 YES를 선택해서 저장한다.

 

RAID를 생성하기 위해서 Create MD device 를 선택한다.

 

RAID 0으로 묶을 것이므로 RAID0을 선택한다.

 

RAID 0으로 만들 디스크인 sdb와 sdc를 선택한다.
(스페이스 바를 누르면 선택된다.)

 

파티션 정보를 저장하겠냐고 물어오면 Yes를 선택해서 저장한다.

 

Finish를 선택해서 RAID 설정을 마친다.

 

이제 위쪽에 RAID0 device 항목이 보인다. 하나로 묶인 이 RAID 0 볼륨을 btrfs 파일 시스템으로 포맷하고 /home 디렉토리에 마운트할 것이다.

생성된 RAID 0 볼륨을 선택한다.

 

Use as: do not use 를 선택하고 들어간다.

 

스냅샷 기능을 지원하는 btrfs journaling file system을 선택한다.

 

이제 Use as: 에 btrfs journaling file system이 선택된 것이 보인다.
그다음, /home 디렉토리에 마운트하기 위해 Mount point: none 을 선택하고 들어간다.

 

/home – user home directories 를 선택한다.

 

이제 Mount point: 에 /home 이 선택된 것이 보인다. Done setting up the partition을 선택해서 설정을 마친다.

 

RAID0 device 항목을 다시 보면 RAID 0 볼륨이 btrfs 파일 시스템으로 포맷되고 /home 디렉토리에 마운트 되는 것이 보인다. 우분투 서버는 이렇게 설치 시에 /home 디렉토리에 마운트 되는 볼륨이 btrfs이면 /home의 서브볼륨을 자동으로 생성한다.

Finish Partitioning and write changes to disk를 선택해서 디스크 설정 과정을 마무리한다.

 

설정 내용을 저장하겠냐고 물어오면 Yes를 선택해서 저장한다.

디스크 설정이 끝나면 이제 우분투 서버의 실제 설치 과정이 진행된다.

 

HTTP 프록시를 사용한다면 설정하고, 그렇지 않을 경우 공란으로 놔두고 Continue를 선택한다.

 

자동 업데이트 여부를 결정한다. 수동 업데이트를 선호하면 No automatic updates 를 선택한다.

 

추가로 설치할 소프트웨어를 선택하는데, 원격에서 서버에 접속할 때 등에 사용하는 OpenSSH server는 필수이므로 선택했고, 나머지는 원하는 것을 개별적으로 설치하기 위해서 선택하지 않았다.

 

설치가 끝나면 설치 이미지가 들어있는 USB 메모리를 컴퓨터에서 제거하고 Continue를 선택해서 전체 과정을 모두 마친다.

 

우분투 서버 실행

컴퓨터가 시동되면 이런 옵션 화면이 잠깐 나타난 뒤에 부팅이 진행된다.

 

로그인 화면이 나타나면 설치 과정 중에 결정한 사용자 계정 이름을 입력하고 (여기서는 varins), 비밀번호를 입력한다.

 

이제 우분투 서버가 실행되었다.

 

본 글의 저작권은 작성자 Varins에게 있습니다.
Varins의 사전 서면 동의 없이는 본 글의 전부 또는 일부를 무단으로 전재, 게시, 배포하는 것을 금지합니다.

 

홈 서버 만들기 목차 
https://varins.com/category/server

01. 하드웨어 구성과 전기 요금
02. 우분투 서버 18.04 LTS 설치
03. 우분투 서버 18.04 LTS 기본 설정
04. 파일 복원: Btrfs 스냅샷
05. 네트워크 파일 공유: Samba (SMB)
06. Dynamic DNS: 구글 도메인 + ddclient
07. SSL/TLS 인증서: Let's Encrypt (Wildcard)
08. 웹 서버: Nginx, 서버 블록, https 보안연결
09. 웹사이트: php + MariaDB + WordPress
10. 서버 모니터링: Monitorix + Nginx Proxy
11. FTPS: vsftpd
12. VPN: IKEv2 (strongSwan)
13. Torrent: Transmission
14. 클라우드 스토리지: Nextcloud (Nginx, MariaDB)
15. 온라인 오피스: 온리오피스 (Docker, Nginx)
16. 트랜스코딩: Plex
17. VNC RDP 클라이언트: Guacamole (Docker, Nginx)
18. 가상 머신: QEMU-KVM + libvirt + virt-install
19. 시스템 업그레이드: i3 8300T, 970 EVO 전력 사용량
20. 서버 모니터링: netdata + Nginx Proxy
21. Dynamic DNS: CloudFlare + ddclient
22. SSL/TLS 인증서: Let's Encrypt + CloudFlare (Wildcard + 자동갱신)

Leave a comment

댓글은 관리자의 승인 이후에 게시됩니다.

Prev Post Next Post