Red Hat Training

A Red Hat training course is available for RHEL 8

24.2. 블록 장치 및 관련 메타데이터 제거

실행 중인 시스템에서 블록 장치를 안전하게 제거하려면 시스템 메모리 과부하 및 데이터 손실을 방지하려면 먼저 메타데이터에서 메타데이터를 제거해야 합니다. 파일 시스템부터 시작하여 스택의 각 계층을 처리하고 디스크를 진행합니다. 이러한 작업으로 인해 시스템이 일관되지 않은 상태가 되지 않습니다.

제거할 장치 유형에 따라 다를 수 있는 특정 명령을 사용합니다.

  • lvremove ,removepvremove 는 LVM에 따라 다릅니다.
  • 소프트웨어 RAID의 경우 mdadm 을 실행하여 배열을 제거합니다. 자세한 내용은 RAID 관리를 참조하십시오.
  • LUKS를 사용하여 암호화된 블록 장치의 경우 특정 추가 단계가 있습니다. LUKS를 사용하여 암호화된 블록 장치에는 다음 절차가 작동하지 않습니다. 자세한 내용은 LUKS를 사용하여 블록 장치 암호화를 참조하십시오.
주의

여기에 설명된 절차에 따라 I/O 시간 초과, 장치가 예기치 않게 제거되거나 데이터 손실으로 인한 지연을 초래하지 않고 SCSI 버스를 다시 스캔하거나 운영 체제의 상태를 변경하는 다른 작업을 수행할 수 있습니다.

사전 요구 사항

  • 파일 시스템, 논리 볼륨 및 볼륨 그룹이 포함된 기존 블록 장치 스택이 있습니다.
  • 다른 애플리케이션이나 서비스가 제거하려는 장치를 사용하지 않는 것을 확인했습니다.
  • 제거하려는 장치에서 데이터를 백업했습니다.
  • 선택 사항: 다중 경로 장치를 제거하고 해당 경로 장치에 액세스할 수 없는 경우 다음 명령을 실행하여 다중 경로 장치의 대기열을 비활성화합니다.

    # multipathd disablequeueing map multipath-device

    이를 통해 장치의 I/O가 실패하여 장치를 사용하는 애플리케이션을 종료할 수 있습니다.

참고

한 번에 메타데이터 하나씩 레이어로 장치를 제거하면 오래된 서명이 디스크에 남아 있지 않습니다.

절차

  1. 파일 시스템을 마운트 해제합니다.

    # umount /mnt/mount-point
  2. 파일 시스템을 제거합니다.

    # wipefs -a /dev/vg0/myvol
    참고

    파일 시스템과 마운트 지점 간의 지속적인 연결을 위해 /etc/fstab 파일에 항목을 추가한 경우 이 시점에서 /etc/fstab 도 편집하여 해당 항목을 제거해야 합니다.

    제거하려는 장치 유형에 따라 다음 단계를 계속합니다.

  3. 파일 시스템이 포함된 LV(Logical Volume)를 제거합니다.

    # lvremove vg0/myvol
  4. 볼륨 그룹(VG)에 남아 있는 다른 논리 볼륨이 없는 경우 장치가 포함된 VG를 안전하게 제거할 수 있습니다.

    # vgremove vg0
  5. PV 장치에서 PV(물리 볼륨) 메타데이터를 제거합니다.

    # pvremove /dev/sdc1
    # wipefs -a /dev/sdc1
  6. PV가 포함된 파티션을 제거합니다.

    # parted /dev/sdc rm 1
참고

장치를 완전히 초기화하려는 경우에만 다음 단계를 수행하십시오.

  1. 파티션 테이블을 제거합니다.

    # wipefs -a /dev/sdc
참고

장치를 물리적으로 제거하려는 경우에만 다음 단계를 수행하십시오.

  • 다중 경로 장치를 제거하는 경우 다음 명령을 실행합니다.

    1. 장치에 대한 모든 경로를 표시합니다.

      # multipath -l

      이 명령의 출력은 이후 단계에서 필요합니다.

      1. I/O를 플러시하고 다중 경로 장치를 제거합니다.

        # multipath -f multipath-device
  • 장치가 다중 경로 장치로 구성되지 않았거나 장치가 다중 경로 장치로 구성되어 있고 이전에 I/O를 개별 경로에 전달한 경우 사용되는 모든 장치 경로에 뛰어난 I/O를 플러시합니다.

    # blockdev --flushbufs device

    umount 또는 vgreduce 명령이 I/O를 플러시하지 않는 위치에서 직접 액세스하는 장치에 중요합니다.

  • SCSI 장치를 제거하는 경우 다음 명령을 실행합니다.

    1. /dev/sd, /dev/disk/by-path, 또는 시스템의 애플리케이션, 스크립트 또는 유틸리티에서 장치의 경로 기반 이름에 대한 참조를 제거합니다. 이렇게 하면 향후 추가되는 다른 장치가 현재 장치에 대해 실수를 하지 않습니다.
    2. SCSI 하위 시스템에서 장치에 대한 각 경로를 제거합니다.

      # echo 1 > /sys/block/device-name/device/delete

      여기에서 장치 이름이 이전에 다중 경로 장치로 사용된 경우 multipath -l 명령의 출력에서 검색됩니다.

  1. 실행 중인 시스템에서 물리적 장치를 제거합니다. 이 장치를 제거해도 다른 장치의 I/O는 중지되지 않습니다.

검증

  • 제거하려는 장치가 lsblk 명령의 출력에 표시되지 않는지 확인합니다. 다음은 출력 예제입니다.

    # lsblk
    
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda      8:0    0    5G  0 disk
    sr0     11:0    1 1024M  0 rom
    vda    252:0    0   10G  0 disk
    |-vda1 252:1    0    1M  0 part
    |-vda2 252:2    0  100M  0 part /boot/efi
    `-vda3 252:3    0  9.9G  0 part /

추가 리소스

  • multipath(8), pvremove(8),ECDHE remove(8), lvremove(8), delete fs(8), parted(8), blockdev(8)umount(8) 매뉴얼 페이지.