[Linux] 1. vSSD, Loopback Device기반

임채진·2024년 12월 9일

Linux System Programming

목록 보기
1/2

1.1. 가상 디스크 이미지 생성

Loopback Device는 가상 디스크 이미지를 사용해 실제 디스크처럼 동작합니다.
이를 위해 1GB 크기의 가상 디스크 이미지를 생성합니다. (virtual_ssd.img는 1GB 크기의 가상 디스크 이미지 파일)

   $ dd if=/dev/zero of=virtual_ssd.img bs=1M count=1024
  root@ubuntu-20:~# dd if=/dev/zero of=virtual_ssd.img bs=1M count=1024
  1024+0 records in
  1024+0 records out
  1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.572803 s, 1.9 GB/s

1.2. Loopback 장치에 연결

(1) 생성한 디스크 이미지를 Loopback Device에 연결합니다.

   $ sudo losetup /dev/loop14 virtual_ssd.img
  root@ubuntu-20:~# losetup /dev/loop14 virtual_ssd.img
  losetup: virtual_ssd.img: failed to set up loop device: Device or resource busy

(+) 연결된 Loopback Device를 확인하려면 다음 명령을 실행합니다.

	$ losetup -a
  root@ubuntu-20:~# losetup -a
  /dev/loop1: [2053]:2133381 (/var/lib/snapd/snaps/chromium_3002.snap)
  /dev/loop8: [2053]:2129558 (/var/lib/snapd/snaps/gtk-common-themes_1535.snap)
  /dev/loop6: [2053]:2126332 (/var/lib/snapd/snaps/code_176.snap)
  /dev/loop13: [2053]:2133387 (/var/lib/snapd/snaps/gnome-42-2204_176.snap)
  /dev/loop4: [2053]:2129556 (/var/lib/snapd/snaps/core20_1828.snap)
  /dev/loop11: [2053]:2129559 (/var/lib/snapd/snaps/snap-store_638.snap)
  /dev/loop2: [2053]:2121495 (/var/lib/snapd/snaps/core20_2434.snap)
  /dev/loop0: [2053]:2129555 (/var/lib/snapd/snaps/bare_5.snap)
  /dev/loop9: [2053]:2129560 (/var/lib/snapd/snaps/snapd_18357.snap)
  /dev/loop7: [2053]:2129557 (/var/lib/snapd/snaps/gnome-3-38-2004_119.snap)
  /dev/loop5: [2053]:2126318 (/var/lib/snapd/snaps/gnome-3-38-2004_143.snap)
  /dev/loop12: [2053]:2121375 (/var/lib/snapd/snaps/snapd_23258.snap)
  /dev/loop3: [2053]:2126290 (/var/lib/snapd/snaps/core22_1722.snap)
  /dev/loop10: [2053]:2133386 (/var/lib/snapd/snaps/cups_1067.snap)
  root@ubuntu-20:~# losetup /dev/loop14 virtual_ssd.img

1.3 파일 시스템 생성 및 마운트

(1) 파일 시스템 생성

   $ sudo mkfs.ext4 /dev/loop14

(2) 마운트

   $ sudo mount /dev/loop14 /mnt/virtual_ssd

(3) 테스트

Loopback Device가 정상적으로 동작하는지 확인합니다.

  $ echo "Hello, vSSD!" > /mnt/virtual_ssd/testfile
  $ cat /mnt/virtual_ssd/testfile

(4) 마운트 해제 및 Loopback Device 연결 해제

Loopback Device는 실제로 커널 드라이버를 테스트하기 위해 임시로 사용한 것입니다. 마운트를 해제하고 Loopback Device를 정리한 뒤, vSSD Driver를 사용합니다.

  $ sudo umount /mnt/virtual_ssd
  $ sudo losetup -d /dev/loop14

이 작업으로 첫 번째 실습에서 만든 가상 디스크 이미지와 Loopback Device를 정리합니다.

0개의 댓글