마운트가 ro 옵션을 존중하지 않는 이유는 무엇입니까?

마운트가 ro 옵션을 존중하지 않는 이유는 무엇입니까?

파티션( /var)이 읽기 전용으로 전환된 서버가 있습니다. 그래서 다음 명령을 사용하여 다른 서버에서 이 문제를 재현해 보았습니다.

mount -o remount,ro /var/ -f

RO를 다시 설치한 동일한 파티션에서 응용 프로그램 로그를 확인하면 최근에 추가된 항목이 표시됩니다.

tail -f /var/log/httpd/*

센트OS 6.7

아파치: 2.2.15

uname -r:2.6.32-573.7.1.el6.x86_64

답변1

이는 올바른 동작입니다.

이 플래그를 사용하면 -f다음을 의미합니다.

-f, --fake: 명확하지 않은 경우 실제 시스템 호출을 제외한 모든 것을 완료합니다."가짜"파일 시스템을 마운트합니다. 플래그와 결합된 이 옵션은 -vmount 명령이 수행하려는 작업을 결정합니다. 또한 -n이 옵션을 사용하여 이전에 설치된 장치에 대한 항목을 추가하는 데 사용할 수도 있습니다 . 이 -f옵션은 기존 레코드를 확인하고 /etc/mtab레코드가 이미 존재하면 실패합니다(일반적인 가짜가 아닌 마운트의 경우 이 확인은 커널에 의해 수행됨).

당신은 또한 볼 수 있습니다사용 중인 디스크를 읽기 전용 모드로 다시 마운트.

답변2

@GiacomoCatenazzi에 동의합니다. /var/log/때로는 자체 파티션이 제공되기도 합니다. (출력을 확인하십시오 df). 별도의 파티션이 아니라면 시도해 보겠습니다.제거한 다음 다시 설치하여 재설치가 작동하는지 테스트합니다. /etc/fstab에서 마운트 옵션을 편집하고 재부팅합니다. (새로 설치하는 유일한 방법은 /var를 사용하는 것입니다.)

mount또한 (옵션 없이) (또는 cat /etc/mtab)의 결과를 확인하십시오. mount옵션이 없으면 /etc/mtab 버전이 표시됩니다. /var(및 /var/log도 가능)가 실제로 어떻게 마운트되는지 확인하세요. /etc/mtab에는 사용 중인 실제 매개변수가 표시됩니다(재정의되지 않은 기본값 포함).

답변3

위에서 언급했듯이 -f는 테스트 상자에 변경 사항이 표시되지 않는 이유일 수 있습니다.

하지만... 일반적으로 Linux는 I/O 오류가 발생하면 파티션을 읽기 전용 모드로 설정합니다. 갑자기 읽기 전용으로 설정된 시스템이 여전히 실행 중인 경우 로그에서 I/O 오류를 확인하는 것이 좋습니다. "좋은" 하드웨어에서는 문제를 재현하지 못할 수도 있습니다. 영향을 받는 시스템에서 dmesg 및 시스템 로그를 확인하십시오. 아마도 이는 해결해야 할 하드웨어 성능 저하 문제일 것입니다.

관련 정보