Skip to content
시스템

마운트 지점을 찾기 위해 findmnt를 확인하세요 드라이브 작업 전에

Avatar illustré de Julien Macé 2 min read
Dossier relié à un disque local et un stockage réseau pour illustrer la vérification d’un point de montage Linux
Identifier le stockage réellement associé à un dossier avant une opération disque.
로컬 디스크와 네트워크 스토리지에 연결된 폴더로 Linux의 마운트 검사 작업을 설명합니다.
디스크 작업 전에 폴더에 실제로 연결된 스토리지를 식별합니다.

청소할 디렉터리를 발견했습니다. /srv/app/data를 수정하기 전에 어떤 파일 시스템을 변경할 것인가요? Linux에서는 findmnt가 이 경로를 현재 활성화된 마운트와 연결합니다.

예상되는 볼륨이 누락된 경우, 폴더는 상위 파일 시스템에서 여전히 접근 가능할 수 있습니다: 이렇게 쓰기 작업은 다른 볼륨을 차지하게 될 수 있습니다. 수리 작업은 파일 시스템의 고유한 절차를 따르며 종종 비마운트 상태에서 이루어집니다.

경로를 제공하는 마운트 식별하기

예제는 findmnt, df, 그리고 lsblk가 사용할 수 있는 Linux 셸을 가정합니다. /srv/app/data를 사용법을 아는 기존 디렉터리로 교체하세요.

findmnt -T /srv/app/data -o TARGET,SOURCE,FSTYPE,OPTIONS

출력은 TARGET에서 마운트 지점을 식별하고 SOURCE에서 그 소스를, FSTYPE에서 타입을 보여줍니다. -T를 사용하면 폴더가 스스로 마운트가 아니어도 됩니다: findmnt는 적절한 상위 마운트를 찾습니다.

폴더 뒤에 있는 볼륨을 식별하기 위해 이 경로 기반 검색을 우선 권장합니다. 옵션은 파일도 받아들이며, findmnt 매뉴얼에서 설명합니다.

df -hT /srv/app/data

같은 경로에서 df -hT는 같은 파일 시스템의 용량, 사용된 공간 및 사용 가능한 공간을 확인합니다. 소스와 타입을 findmnt에서 읽은 SOURCE 및 FSTYPE 필드와 비교하세요.

만약 SOURCE가 로컬 블록 장치를 가리킨다면, 이 목록에서 UUID를 확인할 수 있습니다:

lsblk -f

소스가 NFS 또는 오버레이에 해당하고, 대괄호 사이에 경로가 있거나 설명되지 않은 경우, 로컬 디스크에 대한 작업을 암시하지 않습니다.

재귀적 작업을 수행하기 전에 하위 마운트도 확인하세요. 다음 명령에서 /srv/app/data를 TARGET에서 읽은 정확한 경로로 교체하세요.

findmnt -R /srv/app/data

대상이 마운트 지점인 경우, 명령은 이를 출력하고 하위 마운트를 표시합니다. 여러분의 조치를 취해야 할 자손을 찾아보세요: df에서 제공하는 용량 값은 이 트리를 상세히 설명하지 않습니다.

행동 전에 결과 비교하기

성공적인 명령은 예상된 것과 다른 볼륨을 드러낼 수 있습니다. findmnt의 네 필드는 이러한 차이를 식별하는 데 도움을 줄 수 있습니다:

  • TARGET : 마운트 지점을 예상된 것과 비교하세요. / 값은 경로가 루트 마운트에 연결되어 있음을 의미합니다. 전용 마운트를 기대했다면, 조치를 중단하세요.
  • SOURCE : 데이터의 출처를 확인하세요. 대괄호 사이의 경로는 파일 시스템의 일부를 나타낼 수 있으며, 특히 바인드 마운트나 Btrfs 서브볼륨일 수 있습니다.
  • FSTYPE : 표시된 타입을 예상된 것과 df -hT 결과와 비교하세요. nfs, nfs4, 또는 overlay 값은 이 마운트에 적합한 진단을 요구합니다.
  • OPTIONS : ro (읽기 전용)이나 rw (읽기-쓰기)가 있는지 확인하세요. rw가 있어도 디렉토리의 권한 때문에 접근이 거부될 수 있습니다.

쓰기가 예상되고 마운트가 식별된 경우, 이 선택적 검사를 통해 진단을 완료할 수 있습니다. 쓰기에 필요한 계정을 사용하세요: root로 실행하면 평가된 권한이 변경될 수 있습니다.

test -w /srv/app/data
printf '반환 코드 : %sn' "$?"

test -w는 조용히 유지됩니다. 즉시 실행된 printf는 그 코드를 표시합니다: 테스트가 긍정적이면 0, 그렇지 않으면 1입니다. 이는 현재 계정의 명백한 권한만 검증합니다.

이 검사는 쓰기를 보장하지 않습니다. 디렉토리를 통과할 권한, 사용 가능한 공간, 쿼터 또는 입출력 오류가 작업을 막을 수 있습니다.

마운트가 불확실하면 개입 중단하기

바인드 마운트는 기존 데이터를 다른 위치에 노출합니다. 이 방법으로 파일을 수정하면 동일한 데이터에 영향을 미칩니다. OPTIONS에서 bind라는 단어의 부재는 이 마운트를 배제하기에 충분하지 않습니다: 출처가 불확실한 한, 작업을 중단하세요.

NFS의 경우, 소스는 원격 내보내기를 나타냅니다. 스토리지 수리는 이를 호스팅하는 서버의 책임입니다.

경로가 요청에 따라 마운트되면, Linux의 Autofs 안내서가 그것의 출현을 이해하는 데 도움을 줍니다. 경로에 접근하면 마운트가 발생할 수 있습니다.

컨테이너 내에서 findmnt는 네임스페이스에서 볼 수 있는 마운트를 확인합니다. overlay 소스는 호스트의 디스크를 직접 가리키지 않습니다. 호스트 측에서 확인된 일치가 없으면, 이 진단은 호스트의 볼륨에 대한 개입을 허용하지 않습니다.

findmnt는 현재 상태를 설명하지만 마운트를 잠그지 않습니다. 서비스나 관리자가 읽기 후에 이를 변경할 수 있습니다. 동시 변경이 가능하다면, 작업을 중단하세요: 같은 볼륨이 작업 시점에 경로를 제공하지 않을 수 있습니다.

Share Facebook X WhatsApp LinkedIn Pinterest Reddit Email