본문 바로가기
LINUX

loop device 란

by Rainbound-IT 2022. 3. 18.
반응형

목차

    1. Loop Device란?

    리눅스에서 loop device(루프 디바이스)일반 파일을 블록 디바이스처럼 취급할 수 있도록 해주는 가상 장치입니다.
    쉽게 말해, "하드디스크나 USB처럼 동작하는 파일"을 만들 수 있는 기능입니다.

    이 기능은 커널 모듈 loop에 의해 제공되며, 파일 시스템을 직접 디스크 이미지 위에 만들거나 마운트할 때 자주 사용됩니다.


    2. 왜 필요할까?

    Loop device는 다음과 같은 상황에서 매우 유용합니다.

    • ISO, IMG 파일 마운트
      예: ubuntu.iso 안의 내용을 직접 확인할 때
    • 디스크 이미지 테스트
      예: 새로운 파일시스템 포맷 테스트
    • 암호화된 컨테이너
      예: LUKS 암호화 볼륨
    • 백업 및 복원 테스트
      예: 블록 단위 스냅샷 복원

    3. 기본 개념 구조

    [일반 파일]  →  [Loop Device (/dev/loopX)]  →  [커널 블록 레이어]  →  [파일시스템 드라이버]
    • /dev/loop0, /dev/loop1, … 이런 식으로 번호가 붙습니다.
    • 하나의 loop device는 하나의 파일과 연결됩니다.

    4. 기본 사용 예제

    4.1 빈 파일 생성

    # 100MB 크기의 빈 파일 생성
    dd if=/dev/zero of=disk.img bs=1M count=100

    4.2 loop device에 연결

    sudo losetup /dev/loop0 disk.img

    이제 /dev/loop0가 disk.img를 실제 디스크처럼 인식합니다.

    4.3 파일 시스템 생성

    sudo mkfs.ext4 /dev/loop0

    4.4 마운트

    mkdir /mnt/loopdisk
    sudo mount /dev/loop0 /mnt/loopdisk

    4.5 사용 확인

    df -h /mnt/loopdisk

    4.6 해제

    sudo umount /mnt/loopdisk
    sudo losetup -d /dev/loop0

    5. 자주 쓰는 명령어 정리


     

    명령어 설명
    losetup loop device 연결/해제/조회
    losetup -f 사용 가능한 첫 번째 loop device 표시
    losetup -a 현재 연결된 loop device 목록
    losetup /dev/loopX file.img 파일을 loop device에 연결
    losetup -d /dev/loopX loop device 해제
     

    6. ISO 파일 마운트 예시

    sudo mount -o loop ubuntu-22.04.iso /mnt/iso
    여기서 -o loop 옵션은 자동으로 loop device를 할당합니다.

    7. 고급 사용 – loop device + LUKS 암호화

    # 1. 빈 파일 생성
    dd if=/dev/zero of=secret.img bs=1M count=50
    
    # 2. loop device 연결
    sudo losetup /dev/loop1 secret.img
    
    # 3. LUKS 암호화 설정
    sudo cryptsetup luksFormat /dev/loop1
    sudo cryptsetup open /dev/loop1 secret_vol
    
    # 4. 파일 시스템 생성 후 마운트
    sudo mkfs.ext4 /dev/mapper/secret_vol
    sudo mount /dev/mapper/secret_vol /mnt/secure
    
    # 5. 해제
    sudo umount /mnt/secure
    sudo cryptsetup close secret_vol
    sudo losetup -d /dev/loop1

    8. 주의사항

    • loop device는 RAM 디스크가 아닙니다.
      파일이 저장된 실제 스토리지(SSD/HDD)에 I/O가 발생합니다.
    • 대용량 loop device를 생성할 경우 디스크 용량을 초과하지 않도록 주의하세요.
    • 다중 사용자 환경에서는 loop device 사용 시 권한 관리가 중요합니다.

     

    💡 Tip:
    losetup 명령어 대신 mount -o loop만으로도 대부분의 간단한 작업이 가능합니다.
    다만, 세밀한 제어가 필요하다면 losetup을 직접 사용하는 것이 좋습니다.

    반응형

    'LINUX' 카테고리의 다른 글

    우분투 desktop vs server 차이  (0) 2022.03.25
    failed to fech 우분투  (0) 2022.03.24
    Ubuntu 네임서버, 게이트웨이 설정하기  (0) 2022.03.04
    Ubuntu에 java 설치  (0) 2022.01.28
    Ubuntu gateway 설정(vm 인터넷 안됨)  (0) 2022.01.27

    댓글