Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

19.2.3. 마운트 공유

경우에 따라 특정 시스템 관리 작업을 수행하려면 디렉터리 트리의 두 개 이상의 위치에서 동일한 파일 시스템에 액세스해야 합니다(예: chroot 환경을 준비할 때). 이 경우 Linux를 사용하면 필요한 만큼의 디렉터리에 동일한 파일 시스템을 마운트할 수 있습니다. 또한 mount 명령은 특정 마운트를 중복하는 수단을 제공하는 --bind 옵션을 구현합니다. 사용법은 다음과 같습니다.
$ mount --bind old_directory new_directory
이 명령을 사용하면 사용자가 두 위치에서 파일 시스템에 액세스할 수 있지만 원래 디렉터리 내에 마운트된 파일 시스템에는 적용되지 않습니다. 이러한 마운트도 포함하려면 다음 명령을 사용하십시오.
$ mount --rbind old_directory new_directory
또한 Red Hat Enterprise Linux 7은 최대한의 유연성을 제공하기 위해 공유 하위 트리 라는 기능을 구현합니다. 이 기능을 사용하면 다음과 같은 4개의 마운트 유형을 사용할 수 있습니다.
공유 마운트
공유 마운트를 사용하면 지정된 마운트 지점의 정확한 복제본을 만들 수 있습니다. 마운트 지점이 공유 마운트로 표시되면 원래 마운트 지점 내의 모든 마운트가 여기에 반영되며 그 반대의 경우도 마찬가지입니다. 마운트 지점 유형을 공유 마운트로 변경하려면 쉘 프롬프트에 다음을 입력합니다.
$ mount --make-shared mount_point
또는 선택한 마운트 지점 및 그 아래에 있는 모든 마운트 지점의 마운트 유형을 변경하려면 다음을 수행합니다.
$ mount --make-rshared mount_point
예제 사용 예는 예 19.4. “공유 마운트 지점 생성” 를 참조하십시오.

예 19.4. 공유 마운트 지점 생성

다른 파일 시스템이 일반적으로 마운트된 위치인 이동식 미디어용 /media/ 디렉토리와 일시적으로 마운트된 파일 시스템을 위한 /mnt/ 디렉터리의 두 위치가 있습니다. 공유 마운트를 사용하면 이러한 두 디렉토리가 동일한 콘텐츠를 공유하도록 할 수 있습니다. 이를 위해 root/media/ 디렉토리를 공유로 표시합니다.
# mount --bind /media /media
# mount --make-shared /media
다음 명령을 사용하여 /mnt/ 에 중복을 생성합니다.
# mount --bind /media /mnt
이제 /media/ 내에 있는 마운트가 /mnt/ 에도 표시되는지 확인할 수 있습니다. 예를 들어 CD-ROM 드라이브에 비어 있지 않은 미디어가 포함되어 있고 /media/cdrom/ 디렉터리가 있는 경우 다음 명령을 실행합니다.
# mount /dev/cdrom /media/cdrom
# ls /media/cdrom
EFI  GPL  isolinux  LiveOS
# ls /mnt/cdrom
EFI  GPL  isolinux  LiveOS
마찬가지로 /mnt/ 디렉터리에 마운트된 파일 시스템이 /media/ 에 반영되었는지 확인할 수 있습니다. 예를 들어 /dev/sdc1 장치를 사용하는 비어 있지 않은 USB 플래시 드라이브가 연결되어 있고 /mnt/flashdisk/ 디렉터리가 있는 경우 다음을 입력합니다.
# # mount /dev/sdc1 /mnt/flashdisk
# ls /media/flashdisk
en-US  publican.cfg
# ls /mnt/flashdisk
en-US  publican.cfg
슬레이브 마운트
슬레이브 마운트를 사용하면 지정된 마운트 지점을 제한된 중복을 생성할 수 있습니다. 마운트 지점이 슬레이브 마운트로 표시되면 원래 마운트 지점 내의 모든 마운트가 반영되지만 슬레이브 마운트 내의 마운트는 원본에 반영되지 않습니다. 마운트 지점 유형을 슬레이브 마운트로 변경하려면 쉘 프롬프트에 다음을 입력합니다.
mount --make-slave mount_point
또는 다음을 입력하여 선택한 마운트 지점 및 모든 마운트 지점의 마운트 유형을 변경할 수 있습니다.
mount --make-rslave mount_point
예제 사용 예는 예 19.5. “Slave Mount Point 생성” 를 참조하십시오.

예 19.5. Slave Mount Point 생성

이 예에서는 /media/ 디렉터리의 내용을 /mnt/ 에도 표시할 수 있지만 /media/ 에 반영할 /mnt/ 디렉터리에 마운트가 없는 방법을 보여줍니다. root 로, 먼저 /media/ 디렉토리를 공유로 표시합니다.
~]# mount --bind /media /media
~]# mount --make-shared /media
그런 다음 /mnt/ 에 중복을 생성하되 "slave"로 표시합니다.
~]# mount --bind /media /mnt
~]# mount --make-slave /mnt
이제 /media/ 내의 마운트도 /mnt/ 에 표시되는지 확인합니다. 예를 들어 CD-ROM 드라이브에 비어 있지 않은 미디어가 포함되어 있고 /media/cdrom/ 디렉터리가 있는 경우 다음 명령을 실행합니다.
~]# mount /dev/cdrom /media/cdrom
~]# ls /media/cdrom
EFI  GPL  isolinux  LiveOS
~]# ls /mnt/cdrom
EFI  GPL  isolinux  LiveOS
또한 /mnt/ 디렉터리에 마운트된 파일 시스템이 /media/ 에 반영되지 않았는지도 확인합니다. 예를 들어 /dev/sdc1 장치를 사용하는 비어 있지 않은 USB 플래시 드라이브가 연결되어 있고 /mnt/flashdisk/ 디렉터리가 있는 경우 다음을 입력합니다.
~]# mount /dev/sdc1 /mnt/flashdisk
~]# ls /media/flashdisk
~]# ls /mnt/flashdisk
en-US  publican.cfg
프라이빗 마운트
개인 마운트는 기본 마운트 유형이며 공유 또는 슬레이브 마운트와 달리 전파 이벤트를 수신하거나 전달할 수 없습니다. 마운트 지점을 개인 마운트로 명시적으로 표시하려면 쉘 프롬프트에 다음을 입력합니다.
mount --make-private mount_point
또는 선택한 마운트 지점 및 모든 마운트 지점의 마운트 유형을 변경할 수 있습니다.
mount --make-rprivate mount_point
예제 사용 예는 예 19.6. “개인 마운트 지점 생성” 를 참조하십시오.

예 19.6. 개인 마운트 지점 생성

예 19.4. “공유 마운트 지점 생성” 의 시나리오를 고려하여 다음 명령을 root 로 사용하여 공유 마운트 지점이 이전에 생성되었다고 가정합니다.
~]# mount --bind /media /media
~]# mount --make-shared /media
~]# mount --bind /media /mnt
/mnt/ 디렉토리를 비공개로 표시하려면 다음을 입력합니다.
~]# mount --make-private /mnt
이제 /media/ 내에 있는 마운트가 /mnt/ 에 표시되지 않는지 확인할 수 있습니다. 예를 들어 CD-ROM 드라이브에 비어 있지 않은 미디어가 포함되어 있고 /media/cdrom/ 디렉터리가 있는 경우 다음 명령을 실행합니다.
~]# mount /dev/cdrom /media/cdrom
~]# ls /media/cdrom
EFI  GPL  isolinux  LiveOS
~]# ls /mnt/cdrom
~]#
/mnt/ 디렉터리에 마운트된 파일 시스템이 /media/ 에 반영되지 않았는지도 확인할 수 있습니다. 예를 들어 /dev/sdc1 장치를 사용하는 비어 있지 않은 USB 플래시 드라이브가 연결되어 있고 /mnt/flashdisk/ 디렉터리가 있는 경우 다음을 입력합니다.
~]# mount /dev/sdc1 /mnt/flashdisk
~]# ls /media/flashdisk
~]# ls /mnt/flashdisk
en-US  publican.cfg
바인딩할 수 없는 마운트
지정된 마운트 지점이 중복되지 않도록하기 위해 바인딩할 수 없는 마운트가 사용됩니다. 마운트 지점 유형을 바인딩할 수 없는 마운트로 변경하려면 쉘 프롬프트에 다음을 입력합니다.
mount --make-unbindable mount_point
또는 선택한 마운트 지점 및 모든 마운트 지점의 마운트 유형을 변경할 수 있습니다.
mount --make-runbindable mount_point
예제 사용 예는 예 19.7. “바인딩할 수 없는 마운트 지점 생성” 를 참조하십시오.

예 19.7. 바인딩할 수 없는 마운트 지점 생성

/media/ 디렉토리가 공유되지 않도록 하려면 root 로 다음을 수행합니다.
# mount --bind /media /media
# mount --make-unbindable /media
이렇게 하면 이후에 이 마운트를 복제하려고 하면 오류가 발생하고 실패합니다.
# mount --bind /media /mnt
mount: wrong fs type, bad option, bad superblock on /media,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail  or so