서버 설정 · 3 min read · Oct 09, 2025

고가용성 NFS 서버 설정

이것은 “복사 및 붙여넣기” 방법입니다!

이 튜토리얼을 따르는 가장 쉬운 방법은 명령줄 클라이언트/SSH 클라이언트(예: Windows의 PuTTY)를 사용하고 명령어를 복사하여 붙여넣는 것입니다(자신의 정보(IP 주소, 호스트 이름, 비밀번호 등)를 제공해야 하는 경우를 제외하고). 이렇게 하면 오타를 피할 수 있습니다.

고가용성 NFS 서버 설정

버전 1.0
저자: Falko Timme
마지막 수정: 2006년 3월 7일

이 튜토리얼에서는 다른 고가용성 서비스(예: 로드 밸런싱되는 웹 서버 클러스터)의 저장 솔루션으로 사용할 수 있는 고가용성 NFS 서버를 설정하는 방법을 설명합니다. 동일한 웹 사이트를 제공하는 두 개 이상의 노드로 구성된 웹 서버 클러스터가 있는 경우, 이러한 노드는 동일한 데이터 풀에 접근해야 하며, 로드 밸런서가 사용자를 노드 1 또는 노드 n으로 안내하더라도 모든 노드가 동일한 데이터를 제공해야 합니다. 이는 모든 웹 서버 노드(NFS 클라이언트)가 접근할 수 있는 NFS 서버의 NFS 공유를 통해 달성할 수 있습니다.

NFS 서버가 또 다른 “단일 실패 지점”이 되지 않도록 하려면 고가용성을 유지해야 합니다. 사실, 이 튜토리얼에서는 DRBD를 사용하여 서로의 데이터를 실시간으로 미러링하고 heartbeat를 사용하여 서로를 모니터링하는 두 개의 NFS 서버를 생성하며, 하나의 NFS 서버가 실패하면 다른 서버가 조용히 인계받도록 합니다. 외부(예: 웹 서버 노드)에서는 이 두 NFS 서버가 단일 NFS 서버로 나타납니다.

이 설정에서는 두 NFS 서버와 NFS 클라이언트(웹 서버 클러스터의 노드를 나타냄)로 Debian Sarge(3.1)를 사용합니다.

먼저 말씀드리고 싶은 것은 이러한 시스템을 설정하는 방법이 이것만이 아니라는 것입니다. 이 목표를 달성하는 방법은 여러 가지가 있지만, 제가 선택한 방법입니다. 이것이 여러분에게 작동할 것이라는 보장은 하지 않습니다!

1 내 설정

이 문서에서는 다음 시스템을 사용합니다:

  • NFS 서버 1: server1.example.com, IP 주소: 192.168.0.172; 이 서버를 server1이라고 부르겠습니다.
  • NFS 서버 2: server2.example.com, IP 주소: 192.168.0.173; 이 서버를 server2라고 부르겠습니다.
  • 가상 IP 주소: NFS 클러스터를 외부에 나타내는 가상 IP 주소로 192.168.0.174를 사용합니다.
  • NFS 클라이언트(예: 웹 서버 클러스터의 노드): client.example.com, IP 주소: 192.168.0.100; NFS 클라이언트를 client이라고 부르겠습니다.
  • /data 디렉토리는 server1server2 간에 DRBD에 의해 미러링됩니다. 이 디렉토리는 NFS 공유 /data/export를 포함합니다.

2 server1 및 server2의 기본 설치

먼저 server1server2에 대해 두 개의 기본 Debian 시스템을 설정합니다. 이 튜토리얼의 첫 두 페이지에 설명된 대로 진행할 수 있습니다: https://www.howtoforge.com/perfect_setup_debian_sarge. 호스트 이름으로 각각 server1server2를 입력하고, 도메인으로 example.com을 입력합니다.

파티셔닝에 관해서는 다음과 같은 파티션 스킴을 사용합니다:

/dev/sda1 – 100 MB /boot (primary, ext3, Bootable flag: on)
/dev/sda5 – 5000 MB / (logical, ext3)
/dev/sda6 – 1000 MB swap (logical)
/dev/sda7 – 150 MB unmounted (logical, ext3)
(DRBD의 메타 데이터가 포함됨)
/dev/sda8 – 26 GB unmounted (logical, ext3)
(/data 디렉토리가 포함됨)

하드 디스크 크기에 따라 파티션 크기를 조정할 수 있으며, 하드웨어에 따라 파티션 이름이 다를 수 있습니다(예: /dev/hda1 대신 /dev/sda1일 수 있음). 그러나 /dev/sda7 는 128 MB보다 약간 더 커야 합니다. 왜냐하면 이 파티션은 128 MB를 사용하는 DRBD의 메타 데이터에 사용될 것이기 때문입니다. 또한, server1server2에서 /dev/sda7/dev/sda8 의 크기가 동일해야 하며, 마운트하지 마십시오 (설치 프로그램이 다음과 같이 묻는 경우:

No mount point is assigned for the ext3 file system in partition #7 of SCSI1 (0,0,0) (sda).
Do you want to return to the partitioning menu?

아니오라고 대답하십시오)! /dev/sda8은 우리의 데이터 파티션(즉, 우리의 NFS 공유)이 될 것입니다.

기본 설치 후, server1server2에 정적 IP 주소(server1: 192.168.0.172, server2: 192.168.0.173)를 부여해야 합니다. 이는 https://www.howtoforge.com/perfect_setup_debian_sarge_p3) 의 시작 부분에 설명되어 있습니다.

그 후, 두 시스템 모두에서 /etc/fstab를 확인해야 합니다. 내 시스템의 /etc/fstab는 다음과 같습니다:

| # /etc/fstab: static file system information. # # proc /proc proc defaults 0 0 /dev/sda5 / ext3 defaults,errors=remount-ro 0 1 /dev/sda1 /boot ext3 defaults 0 2 /dev/sda6 none swap sw 0 0 /dev/hdc /media/cdrom0 iso9660 ro,user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0 |

만약 여러분의 /etc/fstab가 다음과 같다면:

| # /etc/fstab: static file system information. # # proc /proc proc defaults 0 0 /dev/hda5 / ext3 defaults,errors=remount-ro 0 1 /dev/hda1 /boot ext3 defaults 0 2 /dev/hda6 none swap sw 0 0 /dev/hdc /media/cdrom0 iso9660 ro,user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0 |

그렇다면 다음 구성 파일에서 /dev/hda 대신 /dev/sda를 사용해야 합니다. 또한 /dev/sda7 (또는 /dev/hda7) 및 /dev/sda8 (또는 /dev/hda8…)가 /etc/fstab에 나열되지 않도록 하십시오!

3 시스템 시간 동기화

서버 1과 서버 2가 동일한 시스템 시간을 가지는 것이 중요합니다. 따라서 두 서버에 NTP 클라이언트를 설치합니다:

server1/server2:

apt-get install ntp ntpdate

그 후, 다음 명령어를 실행하여 두 서버의 시간이 동일한지 확인할 수 있습니다:

server1/server2:

date

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.