3.2. Ceph 블록 장치 생성 및 Linux 커널 모듈 클라이언트에서 사용

스토리지 관리자는 Red Hat Ceph Storage 대시보드에서 Linux 커널 모듈 클라이언트에 대한 Ceph 블록 장치를 생성할 수 있습니다. 시스템 관리자는 명령줄을 사용하여 Linux 클라이언트에서 해당 블록 장치를 매핑하고 파티션, 포맷, 마운트할 수 있습니다. 이렇게 하면 파일을 읽고 쓸 수 있습니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Red Hat Enterprise Linux 클라이언트.

3.2.1. 대시보드를 사용하여 Linux 커널 모듈 클라이언트용 Ceph 블록 장치 생성

필요한 기능만 활성화하여 대시보드 웹 인터페이스를 사용하여 Linux 커널 모듈 클라이언트를 위해 Ceph Block Device를 생성할 수 있습니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.

절차

  1. 대시보드에 로그인합니다.
  2. 네비게이션 바에서 Pools (풀)를 클릭합니다.

    풀을 클릭합니다.
  3. 생성 버튼을 클릭합니다.

    create를 클릭합니다.
  4. 대화 상자에서 이름을 설정합니다.

    이름 설정
  5. 풀 유형을 replicated로 설정합니다.

    replicated
  6. PG(배치 그룹) 번호를 설정합니다.

    PG 번호 설정

    PG 번호 선택에 대한 지원을 받으려면 PG 계산기 를 사용하십시오. 확실하지 않은 경우 Red Hat 기술 지원에 문의하십시오.

  7. 복제된 크기를 설정합니다.

    복제된 크기
  8. rbd 애플리케이션을 활성화합니다.

    rbd 활성화
  9. 풀 생성을 클릭합니다.

    풀 생성을 클릭합니다.
  10. 풀이 성공적으로 생성되었음을 나타내는 알림을 확인합니다.

    생성 알림
  11. Block 을 클릭합니다.

    Block을 클릭합니다.
  12. 이미지 를 클릭합니다.

    이미지를 클릭합니다.
  13. 생성 을 클릭합니다.

    생성을 클릭합니다.
  14. 1 원하는 이미지 이름, 2 풀을 이전에 생성한 로 설정하고 3 에서 원하는 이미지 크기를 설정하며, 4 계층화 및 제외 잠금 이 유일한 활성화된 기능인지 확인합니다.

    image 매개변수 설정
  15. CreateRBD:를 클릭합니다.

    clck CreateRBD
  16. 이미지가 성공적으로 생성되었음을 나타내는 알림을 확인합니다.

    이미지 생성 알림

추가 리소스

3.2.2. 명령줄을 사용하여 Linux에서 Ceph 블록 장치 매핑 및 마운트

Linux rbd 커널 모듈을 사용하여 Red Hat Enterprise Linux 클라이언트에서 Ceph 블록 장치를 매핑할 수 있습니다. 매핑 후 파티션, 포맷 및 마운트할 수 있으므로 파일을 쓸 수 있습니다.

사전 요구 사항

절차

  1. Red Hat Enterprise Linux 클라이언트 노드에서 Red Hat Ceph Storage 4 툴 리포지토리를 활성화합니다.

    Red Hat Enterprise Linux 7

    [root@client1 ~]# subscription-manager repos --enable=rhel-7-server-rhceph-4-tools-rpms

    Red Hat Enterprise Linux 8

    [root@client1 ~]# subscription-manager repos --enable=rhceph-4-tools-for-rhel-8-x86_64-rpms

  2. ceph-common RPM 패키지를 설치합니다.

    Red Hat Enterprise Linux 7

    [root@client1 ~]# yum install ceph-common

    Red Hat Enterprise Linux 8

    [root@client1 ~]# dnf install ceph-common

  3. 모니터 노드에서 클라이언트 노드로 Ceph 구성 파일을 복사합니다.

    scp root@MONITOR_NODE:/etc/ceph/ceph.conf /etc/ceph/ceph.conf

    예제

    [root@client1 ~]# scp root@cluster1-node2:/etc/ceph/ceph.conf /etc/ceph/ceph.conf
    root@192.168.0.32's password:
    ceph.conf                                                                          100%  497   724.9KB/s   00:00

  4. 모니터 노드에서 클라이언트 노드로 키 파일을 복사합니다.

    scp root@MONITOR_NODE:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring

    예제

    [root@client1 ~]# scp root@cluster1-node2:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring
    root@192.168.0.32's password:
    ceph.client.admin.keyring                                                          100%  151   265.0KB/s   00:00

  5. 이미지를 매핑합니다.

    rbd map --pool POOL_NAME IMAGE_NAME --id admin

    예제

    [root@client1 ~]# rbd map --pool block-device-pool image1 --id admin
    /dev/rbd0
    [root@client1 ~]#

  6. 블록 장치에 파티션 테이블을 만듭니다.

    parted /dev/MAPPED_BLOCK_DEVICE mklabel msdos

    예제

    [root@client1 ~]# parted /dev/rbd0 mklabel msdos
    Information: You may need to update /etc/fstab.

  7. XFS 파일 시스템의 파티션을 생성합니다.

    parted /dev/MAPPED_BLOCK_DEVICE mkpart primary xfs 0% 100%

    예제

    [root@client1 ~]# parted /dev/rbd0 mkpart primary xfs 0% 100%
    Information: You may need to update /etc/fstab.

  8. 파티션을 포맷합니다.

    mkfs.xfs /dev/MAPPED_BLOCK_DEVICE_WITH_PARTITION_NUMBER

    예제

    [root@client1 ~]# mkfs.xfs /dev/rbd0p1
    meta-data=/dev/rbd0p1            isize=512    agcount=16, agsize=163824 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=1, sparse=1, rmapbt=0
             =                       reflink=1
    data     =                       bsize=4096   blocks=2621184, imaxpct=25
             =                       sunit=16     swidth=16 blks
    naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
    log      =internal log           bsize=4096   blocks=2560, version=2
             =                       sectsz=512   sunit=16 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0

  9. 에 새 파일 시스템을 마운트할 디렉토리를 생성합니다.

    mkdir PATH_TO_DIRECTORY

    예제

    [root@client1 ~]# mkdir /mnt/ceph

  10. 파일 시스템을 마운트합니다.

    mount /dev/MAPPED_BLOCK_DEVICE_WITH_PARTITION_NUMBER PATH_TO_DIRECTORY

    예제

    [root@client1 ~]# mount /dev/rbd0p1 /mnt/ceph/

  11. 파일 시스템이 마운트되어 올바른 크기를 표시하는지 확인합니다.

    df -h PATH_TO_DIRECTORY

    예제

    [root@client1 ~]# df -h /mnt/ceph/
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/rbd0p1      10G  105M  9.9G   2% /mnt/ceph

추가 리소스