ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Rocky9: Stratis
    공부합시다!/LInux 2023. 1. 26. 00:14
    728x90

    새로운 기술들이 나오면 또 따라가야겠죠!

    오늘은 따끈한 Storage 관리 기술인 Stratis 입니다.

    Red Hat과 Fedora Community 에서 공동 개발한 기술인데 Thin Provisioning과 snapshot을 지원한다고 합니다.

    1. Stratis 개요

    2. Stratis 특징

    3. Stratis 관리

    순서로 살펴보도록 하겠습니다.

     

    아래 그림은 Storage Stack 입니다. 좌측이 아래쪽, 우측이 위쪽이라 생각하세요

    Storage Stack

     

     

    Stratis Arch

     

    1. Stratis 개요

     1.1. Red Hat 과 Fedora Community에서 개발한 Local Storage Management Tool

     1.2. Storage 초기 구성, Storage 구성 변경, 고급 Storage 기능 사용 용이

     

    2. Stratis 특징

     2.1. 물리적 Storage 장치를 Pool로 관리하는 Service로 실행

     2.2. Thin Provisioning 사용하여 Disk Device를 공유 Pool 내에서 File System 생성

     2.3. File System 생성 시 물리적 Storage 공간을 할당하는 대신, File System에서 추가 Data저장 시 Pool에서 공간을 동적으로 할당

     2.4. File System의 크기가 1TiB로 표시가 되더라도 Pool에서 실제로 할당된 크기는 100GiB뿐일 수 있음.

     2.5. 다양한 Storage Device에서 여러 개의 Pool 생성, 각 Pool에서 하나 이상의 File System 생성 가능, 최대 2*24승

     2.6. stratis 관리 파일 시스템을 구성하나는 구성 요소를 표준 Linux 구성 요소에서 빌드

     2.7. 내부적으로 LVM에서 사용하는 Device Mapper Infra 사용, 파일시스템은 XFS로 포맷

     

    3. Stratis 관리

     3.1. stratis 설치 및 활성화

     

    # dnf install -y stratisd stratis-cli
    # systemctl enable --now stratisd

     

     3.2. stratis pool 생성

    # lsblk
    # stratis pool create sdkim /dev/sdb
    sdkim이라는 pool을 생성하는데 /dev/sdb 사용
    
    # stratis pool list
    pool list 확인
    
    # stratis pool add-data sdkim /dev/sdc
    sdkim이라는 pool에 /dev/sdc 추가

     

     3.3. stratis file system 생성 및 snapshot, mount

    # stratis filesystem create sdkim fs1
    sdkim pool에 fs1 파일스템 생성
    
    # stratis filesystem list
    Pool    Filesystem   Total / Used / Free             Created             Device                   UUID                                
    sdkim   fs1          1 TiB / 546 MiB / 1023.47 GiB   Jan 21 2023 00:59   /dev/stratis/sdkim/fs1   a021d9be-dcff-4998-83cc-9343e49c4a04
    파일 시스템 확인
    
    
    # mkdir /stra
    # mount /dev/stratis/sdkim/fs1 /stra
    디렉토리 생성 후 stratis 파일 시스템 마운트
    
    # echo 'stratis test' > /stra/test.txt
    # cat /stra/test.txt 
    stratis test
    # stratis filesystem snapshot sdkim fs1 snap
    fs1 파일 시스템의 snapshot을 snap라는 이름으로 생성
    
    # stratis filesystem list
    Pool    Filesystem   Total / Used / Free             Created             Device                    UUID                                
    sdkim   fs1          1 TiB / 546 MiB / 1023.47 GiB   Jan 21 2023 00:59   /dev/stratis/sdkim/fs1    a021d9be-dcff-4998-83cc-9343e49c4a04
    sdkim   snap         1 TiB / 546 MiB / 1023.47 GiB   Jan 21 2023 01:01   /dev/stratis/sdkim/snap   967cf392-db5a-43b5-8584-8cb820fa569a
    snap 파일시스템 확인
    
    # mkdir /strasnap
    # mount /dev/stratis/sdkim/snap /strasnap
    snap 파일시스템 마운트
    
    # cat /strasnap/test.txt 
    stratis test
    마운트 테스트
    
    # dd if=/dev/zero of=/stra/stra.txt bs=1MB count=500
    500+0 records in
    500+0 records out
    500000000 bytes (500 MB, 477 MiB) copied, 3.04332 s, 164 MB/s
    # stratis filesystem list
    Pool    Filesystem   Total / Used / Free              Created             Device                    UUID                                
    sdkim   fs1          1 TiB / 1023 MiB / 1023.00 GiB   Jan 21 2023 00:59   /dev/stratis/sdkim/fs1    a021d9be-dcff-4998-83cc-9343e49c4a04
    sdkim   snap         1 TiB / 546 MiB / 1023.47 GiB    Jan 21 2023 01:01   /dev/stratis/sdkim/snap   967cf392-db5a-43b5-08584-8cb820fa569a
    디스크 사용량에 따른 동적확장 확인

     

     3.4. stratis file system 영구 mount 

     

    # stratis pool create sdkim /dev/sdb
    # stratis filesystem create sdkim fs1
    # stratis filesystem list
    UUID 확인
    
    # vi /etc/fatab
    UUID=f3638957-ca1e-49fb-b8ea-6f03699e67d2       /stra   xfs     default,x-systemd.requires=stratisd.service     0 0

     

     3.5. stratis file system 및 pool 삭제

    # umount /stra /strasnap
    # stratis filesystem destroy sdkim snap
    # stratis filesystem list
    Pool    Filesystem   Total / Used / Free              Created             Device                   UUID                                
    sdkim   fs1          1 TiB / 1023 MiB / 1023.00 GiB   Jan 21 2023 00:59   /dev/stratis/sdkim/fs1   a021d9be-dcff-4998-83cc-9343e49c4a04
    
    # stratis filesystem destroy sdkim fs1
    # stratis filesystem list
    Pool   Filesystem   Total / Used / Free   Created   Device   UUID
    파일시스템 삭제
    
    # stratis pool destroy sdkim
    # stratis pool list
    Name   Total / Used / Free   Properties   UUID   Alerts
    pool 삭제
    
    # lsblk
    NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
    sda           8:0    0   50G  0 disk 
    ├─sda1        8:1    0    1G  0 part /boot
    └─sda2        8:2    0   49G  0 part 
      ├─rl-root 253:0    0   47G  0 lvm  /
      └─rl-swap 253:1    0    2G  0 lvm  [SWAP]
    sdb           8:16   0   10G  0 disk 
    sdc           8:32   0    5G  0 disk 
    sdd           8:48   0    5G  0 disk 
    sr0          11:0    1  1.4G  0 rom

     

     3.6. file system 관련 error 해결

      3.6.1. stratis pool 생성 시 이전 file system의 흔적이 남아 있으면 오류가 발생합니다. 삭제하세요.

      3.6.2. # wipefs -a /dev/sdb

    # stratis pool add-data sdkim /dev/sdd
    Execution failed:
    stratisd failed to perform the operation that you requested. 
    It returned the following information via the D-Bus: ERROR: At least one of the devices 
    specified was unsuitable for initialization: udev information indicates that 
    device /dev/sdd is a block device which appears to be owned. 
    
    [root@master ~]# wipefs -a /dev/sdd
    /dev/sdd: 8 bytes were erased at offset 0x00000200 (gpt): 45 46 49 20 50 41 52 54
    /dev/sdd: 8 bytes were erased at offset 0x13ffffe00 (gpt): 45 46 49 20 50 41 52 54
    /dev/sdd: 2 bytes were erased at offset 0x000001fe (PMBR): 55 aa
    /dev/sdd: calling ioctl to re-read partition table: Success
    
    [root@master ~]# stratis pool add-data sdkim /dev/sdd
    
    [root@master ~]# stratis pool list
    Name                Total / Used / Free    Properties                                   UUID   Alerts
    sdkim   20 GiB / 526.02 MiB / 19.49 GiB   ~Ca,~Cr, Op   02a8dae4-6d55-49c8-b4b7-56480cec58e7

     

    새로운 기술인데 아주 유연하게 동작을 합니다. 

    여러 종류의 Device를 통합해서 사용하기에 좋은 기술로 보여지네요!

    그럼 

    Have a nice day!

    728x90

    '공부합시다! > LInux' 카테고리의 다른 글

    Rocky9: Auto FS 자동 마운트(직접 맵과 간접 맵)  (0) 2023.01.30
    Rocky9: SWAP 확장 및 축소  (0) 2023.01.27
    Rocky9: SELinux  (0) 2023.01.20
    Rocky9: Network Management  (0) 2023.01.19
    Rocky9: root password reset  (0) 2023.01.17
Designed by Tistory.