Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[정리] 2022-07-19 Device Mapper 적용 #9

Open
Kim0914 opened this issue Jul 19, 2022 · 1 comment
Open

[정리] 2022-07-19 Device Mapper 적용 #9

Kim0914 opened this issue Jul 19, 2022 · 1 comment
Labels
bug Something isn't working documentation Improvements or additions to documentation trouble shooting resolve bug

Comments

@Kim0914
Copy link
Contributor

Kim0914 commented Jul 19, 2022

image

목표

  1. User space가 Lagacy Application인 시스템에서 device mapper를 이용해 ZNS ssd에 write.
  2. device mapper를 이용해 리눅스 컨테이너(LxC)에서 발생하는 I/O를 zns ssd에 write.

1. 현지 시스템 상에 파일 시스템이 갖춰지지 않고 마운트 되지 않은 ssd 하나를 준비.

  • 방법 1: 우분투를 설치하는 단계에서 custom storage를 선택하여 파티션을 나눈다
  • 방법 2: dd 명령어를 이용해 nvme ssd를 qemu에 추가한다.

2. dmzadm (dm-zoned) 설치

  • https://github.com/westerndigitalcorporation/dm-zoned-tools
  • sudo dmzamd --format regular block device zone based device 명령어를 통해 device mapper를 formatting.
    • 여기서 device들이 마운트 되어있거나, 파일시스템 포맷을 갖추고 있으면 device 에러가 발생한다.

3. dmzadm start

  • dmzadm --start <<regular block device>> <<zone based device>> 명령어를 통해 device mapper를 start.
  • dmesg를 이용해 정상적으로 실행되었는지 커널 메세지를 확인한다.
  • Trouble Shooting
    • No such device or address 에러 발생 -> dm-zoned는 반드시 zone capacity가 zone size보다 작으면 안된다. 그러므로 qemu를 실행하는 과정에서 zone capacity 값과 zone size 값을 같게한다. (zone capacity는 zone size보다 클 수 없음)
      KakaoTalk_Photo_2022-07-19-14-01-21

4. dm-zoned mount

  • dmzadm가 start 되었으면 device mapping된 regular block device의 File System을 설정한다.
  • mkfs.ext4 /dev/dm-0를 입력하면 ext4 File System이 적용되고, 다른 File System을 적용하고 싶으면 해당 파일 시스템에 맞도록 설정하면 된다.
  • File System이 갖춰진 regular block device를 sudo mount /dev/dm-0 /mnt를 이용해 원하는 마운트 위치에 마운트한다.
  • df -hT를 이용해 정상적으로 마운트 되었는지 확인할 수 있다.

image


Reference

https://zonedstorage.io/docs/linux/dm#dm-zoned
https://github.com/westerndigitalcorporation/dm-zoned-tools

@Kim0914 Kim0914 added the documentation Improvements or additions to documentation label Jul 19, 2022
@KIJUNG-CHAE
Copy link

dmzadm start trouble shooting 추가 설명

zone capacity 개념은 는 미디어의 특성에 맞게 2의 제곱수를 고려하여 최적화된 logical mapping을 하기 위한 특성(성능 측면)
그러나 현재 dm-zoned version에서는 zone capacity특성을 제공하고 있지 않다.

@KIJUNG-CHAE KIJUNG-CHAE added trouble shooting resolve bug bug Something isn't working labels Jul 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working documentation Improvements or additions to documentation trouble shooting resolve bug
Projects
None yet
Development

No branches or pull requests

2 participants