63. Use Network Block Devices (NBD)
개요
Linux의 특수 파일은 로컬 스토리지 장치를 참조합니다 (예: /dev/sda - 전체 디스크, /dev/sda1 - 파티션). NBD는 유사하게 작동하지만 네트워크를 통해 원격 스토리지 장치를 매핑합니다.
두 서버 시나리오에서 서버 1은 NBD를 통해 서버 2에 있는 세 번째 디스크에 접근할 수 있습니다. 시스템은 특수 파일(예: /dev/nbd0)을 생성하고, 애플리케이션은 이를 표준 블록 장치로 취급하며, 모든 작업은 실제 원격 장치로 투명하게 전달됩니다.
NBD 서버 설정
-
NBD 서버 패키지 설치:
sudo apt install nbd-server -
설정 파일 편집:
sudo vim /etc/nbd-server/configNBD 데몬은 기본적으로
nbd사용자로 실행됩니다. 블록 장치에 접근이 필요하면 root로 실행하도록 설정합니다. 내보내기(exports) 정의:[partition2]
exportname=/dev/sda1 -
서비스 재시작:
sudo systemctl restart nbd-server.service
NBD 클라이언트 설정
-
NBD 클라이언트 유틸리티 설치:
sudo apt install nbd-client -
커널 모듈 로드:
sudo modprobe nbd부팅 시 자동 로드를 위해
/etc/modules-load.d/modules.conf에nbd추가. -
원격 장치 연결:
sudo nbd-client 127.0.0.1 -N partition2원격 블록 장치를 나타내는
/dev/nbd0가 생성됩니다. -
원격 장치 마운트:
sudo mount /dev/nbd0 /mnt
ls /mnt -
사용 후 연결 해제:
sudo umount /mnt
sudo nbd-client -d /dev/nbd0 -
사용 가능한 내보내기 목록:
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 |