어젯밤에 다시 시작한 가상 머신이 있는데 SSH를 통해 연결할 수 없습니다. 나는 콘솔을 사용하여 그것을 보고 다음 명령을 사용하여 설치 /
합니다 . swap
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
sdb 8:16 0 8G 0 disk
├─sdb1 8:17 0 2G 0 part
└─sdb2 8:18 0 6G 0 part [SWAP]
sdc 8:32 0 20G 0 disk
└─sdc1 8:33 0 20G 0 part
sde 8:64 0 400M 0 disk
└─sde1 8:65 0 399M 0 part
sda 8:0 0 20G 0 disk
└─sda1 8:1 0 20G 0 part /
sdd 8:48 0 20G 0 disk
└─sdd1 8:49 0 20G 0 part
sdf 8:80 0 10G 0 disk
└─sdf1 8:81 0 10G 0 part
하지만 내가 실행할 때 df -h
:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 1.2G 18G 7% /
tmpfs 7.8G 0 7.8G 0% /dev/shm
/dev/sde1 20G 1.2G 18G 7% /boot
/dev/sdd1 20G 1.2G 18G 7% /data
/dev/sdc1 20G 1.2G 18G 7% /opt
/dev/sdb1 20G 1.2G 18G 7% /var
/dev/sdf1 20G 1.2G 18G 7% /backup
실행하면 .i ls -hal
를 제외하고는 모두 비어 있습니다. 파티션을 마운트 해제하고 마운트하려고 시도하지만 /
파티션이 마운트되지 않았다는 오류가 발생합니다. 다음과 같이 다시 설치합니다.
mount /dev/sdf1 /backup
그리고 df -h
:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 1.2G 18G 7% /
tmpfs 7.8G 0 7.8G 0% /dev/shm
/dev/sde1 387M 40M 327M 11% /boot
/dev/sdd1 20G 14G 4.9G 75% /data
/dev/sdc1 20G 1.4G 18G 8% /opt
/dev/sdb1 2.0G 155M 1.8G 9% /var
/dev/sdf1 9.9G 2.4G 7.0G 26% /backup
모두 괜찮습니다. 테스트를 위해 재부팅했습니다. 그런 일이 다시 일어났습니다. 설치하고 교체 만 /
했습니다. blkid
산출:
/dev/sdb1: UUID="3a11afe1-52d5-4e31-96a0-66da2c8e70eb" TYPE="ext3"
/dev/sdf1: UUID="0e1f69a7-36d9-4af1-a537-afaa211e87d7" TYPE="ext3"
/dev/sdb2: UUID="416970f8-c21b-419b-90d5-eb8eabb685a6" TYPE="swap"
/dev/sdc1: UUID="d380ddf8-3476-46b3-8e80-9dd3b394dd13" TYPE="ext3"
/dev/sde1: UUID="b224fa8a-e909-432e-927e-4a98fe2d74d0" TYPE="ext3"
/dev/sda1: UUID="9407e385-168c-4e37-9651-1de04406b620" SEC_TYPE="ext2"
TYPE="ext3"
/dev/sdd1: UUID="e8439366-d29d-43c3-ad5e-635855f4e42e" TYPE="ext3"
부분 cat /etc/fstab
출력:
UUID=9407e385-168c-4e37-9651-1de04406b620 / ext3 defaults 0 0
UUID=b224fa8a-e909-432e-927e-4a98fe2d74d0 /boot ext3 defaults 0 0
UUID=e8439366-d29d-43c3-ad5e-635855f4e42e /data ext3 defaults 0 0
UUID=d380ddf8-3476-46b3-8e80-9dd3b394dd13 /opt ext3 defaults 0 0
UUID=3a11afe1-52d5-4e31-96a0-66da2c8e70eb /var ext3 defaults 0 0
UUID=416970f8-c21b-419b-90d5-eb8eabb685a6 swap swap defaults 0 0
UUID=0e1f69a7-36d9-4af1-a537-afaa211e87d7 /backup ext3 defaults 0 0
왜 이런 일이 발생합니까?
답변1
누군가 또는 무엇인가 /etc/mtab
로 인해 쓸 수 없게 되었고(불변 파일? 루트 파일 시스템을 읽기 전용으로 남겨두는 파일 시스템 버그?) 재부팅 전의 오래된 데이터가 포함되어 있을 수 있습니다. 따라서 mount
및 df
명령은 파일 시스템이 실제로 마운트되지 않았더라도 마운트된 것으로 간주합니다.
파일 시스템이 읽기 전용 상태인지 확인하십시오.grep ro, /proc/mounts
불변성을 확인하세요 /etc/mtab
.lsattr /etc/mtab
필요한 경우 이 명령을 사용하여 변경 가능한 플래그를 chattr -i /etc/mtab
제거합니다 .i
/etc/mtab
/etc/mtab
현대 시스템에서는 심볼릭 링크가 또는 가 되는 경우가 점점 더 많아 지고 있습니다. 시스템/배포판에 이전 버전의 명령이 있는 경우 이러한 연결로 인해 특정 파일 시스템을 마운트할 사용자 이름을 기록하지 못하기 때문에 마운트 옵션이 실패할 수 있습니다. 마운트 옵션을 사용하지 않는 경우 이전 시스템에서 이 심볼릭 링크를 생성할 수도 있습니다./proc/mounts
/proc/self/mounts
mount
user
/etc/mtab
user
이러한 종류의 연결의 장점은 커널 자체에서 직접 마운트된 파일 시스템에 대한 최신 정보를 항상 가지고 있기 때문에 /proc/mounts
(또는 네임스페이스 지원이 있는 시스템에서) 발생한 오류와 같은 오류가 발생하지 않는다는 것입니다./proc/self/mounts
에 연결하는 대신 최신 버전의 명령이 이 목적 mount
으로 사용됩니다 ./run/mount
/etc/mtab
/proc/self/mounts
불변으로 설정되어 있고 다른 이유를 찾을 수 없다면 /etc/mtab
해킹되었을 수 있습니다. /etc/mtab
불변으로 설정하면 침입자가 자신의 도구를 우연히 관찰하지 못하도록 숨길 수 있기 때문입니다.
답변2
시스템이 종료되기 전에 루트 파일 시스템이 읽기 전용으로 설정되어 umount
모든 디스크를 마운트 해제하는 명령이 에서 실패할 수 있습니다 /etc/mtab
. 부팅 시 mount -a
명령("아직 설치되지 않은 모든 항목 설치")을 보고 /etc/mtab
모든 것이 설치되었는지 확인합니다 . 이므로 별도의 조치가 필요하지 않습니다.
이것은 모든 증상을 설명합니다: - 부팅 시 마운트를 적용할 수 없습니다. - df -h
명령은 기본적으로 동일한 디스크에 대해 여러 마운트 지점을 표시합니다. - 분명히 마운트된 파일 시스템을 마운트 해제하려고 할 때 "마운트되지 않음" 오류가 발생합니다. - 마운트 해제를 시도한 후 설치가 제대로 작동합니다.