Aller au contenu principal

63. Use Network Block Devices (NBD)


개요

Linux의 특수 파일은 로컬 스토리지 장치를 참조합니다 (예: /dev/sda - 전체 디스크, /dev/sda1 - 파티션). NBD는 유사하게 작동하지만 네트워크를 통해 원격 스토리지 장치를 매핑합니다.

두 서버 시나리오에서 서버 1은 NBD를 통해 서버 2에 있는 세 번째 디스크에 접근할 수 있습니다. 시스템은 특수 파일(예: /dev/nbd0)을 생성하고, 애플리케이션은 이를 표준 블록 장치로 취급하며, 모든 작업은 실제 원격 장치로 투명하게 전달됩니다.

NBD 서버 설정

  1. NBD 서버 패키지 설치:

    sudo apt install nbd-server
  2. 설정 파일 편집:

    sudo vim /etc/nbd-server/config

    NBD 데몬은 기본적으로 nbd 사용자로 실행됩니다. 블록 장치에 접근이 필요하면 root로 실행하도록 설정합니다. 내보내기(exports) 정의:

    [partition2]
    exportname=/dev/sda1
  3. 서비스 재시작:

    sudo systemctl restart nbd-server.service

NBD 클라이언트 설정

  1. NBD 클라이언트 유틸리티 설치:

    sudo apt install nbd-client
  2. 커널 모듈 로드:

    sudo modprobe nbd

    부팅 시 자동 로드를 위해 /etc/modules-load.d/modules.confnbd 추가.

  3. 원격 장치 연결:

    sudo nbd-client 127.0.0.1 -N partition2

    원격 블록 장치를 나타내는 /dev/nbd0가 생성됩니다.

  4. 원격 장치 마운트:

    sudo mount /dev/nbd0 /mnt
    ls /mnt
  5. 사용 후 연결 해제:

    sudo umount /mnt
    sudo nbd-client -d /dev/nbd0
  6. 사용 가능한 내보내기 목록:

    sudo nbd-client -l 127.0.0.1

빠른 참조

단계명령어
NBD 서버 설치sudo apt install nbd-server
설정 파일 편집sudo vim /etc/nbd-server/config
데몬 재시작sudo systemctl restart nbd-server.service
NBD 클라이언트 설치sudo apt install nbd-client
커널 모듈 로드sudo modprobe nbd
원격 장치 연결sudo nbd-client 127.0.0.1 -N partition2
장치 마운트sudo mount /dev/nbd0 /mnt
장치 연결 해제sudo nbd-client -d /dev/nbd0
내보내기 목록sudo nbd-client -l 127.0.0.1