저는 이중 부팅 시스템을 실행하고 있으며 Linux 배포판은 Ubuntu 14.04입니다.
/dev/sda6
저는 GParted를 사용하여 디렉토리가 일반적으로 마운트되는 논리 파티션을 확장했습니다 . /home
GParted 보고서에 따르면 작업이 성공적으로 완료되었습니다. 파티션 크기는 85GiB이며 예상대로 83GiB가 사용되고 2GiB가 사용 가능합니다(d).
그런데 여기에는 두 가지 이상한 점이 있습니다.
해당 버프는 로그인 후 인식되지 않습니다. 디스크 사용량 확인을 사용하면
df -h
보고서/dev/sda6
에 올바르게 마운트된 파티션 크기가/home
85GiB이고 그 중 83GiB가 사용된 것으로 표시됩니다.0사용 가능. 이용률은 100%라고 합니다.또 다른 이상한 점은 GUI를 통해 정기적으로 사용자 프로필에 로그인할 수 있다는 것입니다. 그러나 자격 증명이 인식된 후에는 시스템 작동이 중지되고 데스크톱 환경으로 전환되지 않습니다. 정보를 얻으려면
df -h
텍스트 터미널에 일반 ID로 로그인하거나 GUI에서 게스트로 로그인해야 합니다. 그런데 데이터가 손상된 것 같지 않습니다.
이 상황을 어떻게 해결할 수 있나요? 목표는 파티션 크기의 증가를 운영 체제에서 완전히 사용할 수 있도록 하는 것입니다. 도와주셔서 감사합니다.
답변1
아마도 ext
이러한 파일 시스템(일반적으로 기본 Linux 파일 시스템 ext4
) 중 하나를 사용하고 있을 것입니다. 대부분의 경우 생성 시 이라는 특정 버퍼를 사용하여 생성됩니다 reserved blocks
. 이 예약된 공간은 시스템 프로세스와 루트에 의해서만 기록될 수 있으므로 사용자 디스크가 가득 차는 것으로부터 운영 체제를 보호합니다.
주요 목적 df
은 총 사용 가능한 디스크 공간의 양을 표시하는 것입니다. (사용자가) 사용하는 공간도 표시하지만 예약된 공간은 표시하지 않습니다.
기본적으로 이 버퍼는 전체 디스크의 5%를 차지합니다. 그런 버퍼가 있는지 확인할 수 있습니다 sudo tune2fs -l /dev/sda6 | grep Reserved
. 입력을 통해 sudo tune2fs -l /dev/sda6 | grep [bB]locks
B의 예약된 블록 수와 블록 크기를 읽어 구조가 차지하는 파티션 공간을 확인할 수도 있습니다. 이는 시스템이 85GiB로 표시되지만 83개만 사용되고 무료는 0개만 사용됨을 설명합니다.
꼭 필요한 경우 버퍼를 더 낮은 값으로 설정할 수 있습니다 sudo tune2fs -m 2 /dev/sda6
(2는 백분율 샘플 값이고 기본값은 5입니다).
더 나은 옵션은 실제로 크기를 조정하여 안전할 만큼 충분한 여유 디스크 공간을 확보하는 것입니다. 85GiB 중 2GiB는 2.35%에 불과합니다. 이는 많지 않으며 대부분의 경우 비교적 빨리 채워집니다. 공간 사용량이 83GiB에서 안정될 것이라고 확신하는 경우 tune2fs를 사용하여 안전을 위해 0%를 예약할 수 있지만 디스크가 가득 차면(85GiB까지) 모든 내용을 기록할 수 없으며 시스템이 충돌 그리고 수정하기가 더 어렵습니다.
5% 안전마진은 상대적으로 합리적인 안전마진입니다. 따라서 이 경우에는 긴급 상황에 대비해 파티션을 최소 90GiB, 어쩌면 100GiB 이상으로 설정합니다. 디스크 공간은 저렴하지만, 디스크가 가득 차서 발생하는 문제를 해결하는 데 드는 시간은 훨씬 더 비쌀 수 있습니다.
대답이 문제추론에 대한 더 많은 통찰력을 제공합니다.
답변2
상황을 더 잘 설명하려면 일부 언어적 혼란을 제거해야 합니다.고팟,df그리고2fs 조정디스크 공간에 대한 약간 다른 개념에는 동일하거나 유사한 단어를 사용하십시오.
나는 의사 방정식에 대한 이해를 다시 작성하고 다음 연산자를 오버로드했습니다.
'=' means 'corresponds to'
'@' means 'according to'
나는 df -h
이 로우 프로파일을 사용하고 더욱 유지하기 시작했습니다. tune2fs -l
블록 수는 일반적으로 적절한 구문에 따라 블록 크기와 함께 반환됩니다 . 이를 곱하면 디스크 공간 크기를 얻을 수 있습니다. 디스크 공간 측정값이 동일한 밑수(2 또는 10)로 표시되는지 확인하십시오.
먼저, 다음과 같은 관점에서고팟
size @ gparted = size @ df = block count * block size @ tune2fs
unused @ gparted = free blocks * block size @ tune2fs
used @ gparted = used @ df = (block count - free blocks) * block size @ tune2fs
지금까지는 매우 직관적입니다.
그런 다음df
size @ df = size @ gparted = block count @ tune2fs
used @ df = used @ gparted = (block count - free blocks) *block size @ tune2fs
available @ df = max[(free blocks - reserved block count) * block size @ tune2fs, 0]
그래서,쓸 수 있는@는 df
다음과 다르다는 뜻무료tune2fs
@그리고사용되지 않음@ gparted
.
요약하자면, 사용 가능한 공간 df
측정값은과도한총 공간( 에서 여유 공간 tune2fs
또는 사용되지 않은 공간 으로 표시) gparted
이 une2fs에서 예약한 할당량을 초과합니다. 초과량이 0이면 올바른 작업을 위해 예약된 디스크 공간이 부족함을 나타냅니다.