
나는 일반 Windows 사용자이고 때로는 공간과 기계를 사용할 수 있을 때 Linux에서 작업을 개발합니다. 이제 Microsoft Azure 및 Ubuntu 가상 머신을 직접 사용하고 있으므로 이 오류가 이상하게 보입니다. /dev/처럼 결합된 메모리 대신 마운트가 많은 이유는 무엇입니까? 완전히 병합할 수는 없나요? 여유 공간이 있는 공간에서 없는 공간으로 여유 공간을 재할당할 수 있는 명령이 터미널에 있습니까?
나는 들어갔다df-i무슨 일이 일어났는지 보세요. 결과는 다음과 같습니다.
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/root 3870720 396517 3474203 11% /
devtmpfs 2048512 464 2048048 1% /dev
tmpfs 2049470 63 2049407 1% /dev/shm
tmpfs 2049470 1051 2048419 1% /run
tmpfs 2049470 4 2049466 1% /run/lock
tmpfs 2049470 18 2049452 1% /sys/fs/cgroup
/dev/loop0 10833 10833 0 100% /snap/core18/2246
/dev/loop1 10836 10836 0 100% /snap/core18/2253
/dev/loop2 11736 11736 0 100% /snap/core20/1242
/dev/loop3 11776 11776 0 100% /snap/core20/1270
/dev/loop5 796 796 0 100% /snap/lxd/21835
/dev/sdb15 0 0 0 - /boot/efi
/dev/loop6 479 479 0 100% /snap/snapd/14295
/dev/loop7 479 479 0 100% /snap/snapd/14066
/dev/loop4 5777 5777 0 100% /snap/docker/1125
/dev/sda1 2097152 12 2097140 1% /mnt
tmpfs 2049470 37 2049433 1% /run/user/123
tmpfs 2049470 64 2049406 1% /run/user/1000
/dev/loop8 2268 2268 0 100% /snap/intellij-idea-community/337
/dev/loop9 40310 40310 0 100% /snap/postman/149
df -h:
Filesystem Size Used Avail Use% Mounted on
/dev/root 29G 27G 2.2G 93% /
devtmpfs 7.9G 0 7.9G 0% /dev
tmpfs 7.9G 83M 7.8G 2% /dev/shm
tmpfs 1.6G 1.5M 1.6G 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
/dev/loop1 56M 56M 0 100% /snap/core18/2253
/dev/loop0 56M 56M 0 100% /snap/core18/2246
/dev/loop2 62M 62M 0 100% /snap/core20/1242
/dev/loop3 818M 818M 0 100% /snap/intellij-idea-community/337
/dev/sdb15 105M 5.2M 100M 5% /boot/efi
/dev/loop4 62M 62M 0 100% /snap/core20/1270
/dev/loop5 169M 169M 0 100% /snap/postman/149
/dev/loop7 68M 68M 0 100% /snap/lxd/21835
/dev/loop6 44M 44M 0 100% /snap/snapd/14295
/dev/loop8 117M 117M 0 100% /snap/docker/1125
/dev/loop9 43M 43M 0 100% /snap/snapd/14066
/dev/sda1 32G 49M 30G 1% /mnt
tmpfs 1.6G 20K 1.6G 1% /run/user/123
tmpfs 1.6G 28K 1.6G 1% /run/user/1000
답변1
Azure 가상 머신을 사용하고 있으므로 일반적으로 Azure에서 제공하는 디스크 파티션 구성표를 얻습니다.
마운트는 RAM에 로드되고 주로 커널에서 장치 파일을 사용 가능하게 만드는 데 사용되는 임시 파일 시스템인 파일 시스템 /dev
입니다 .devtmpfs
마운트는 /run
RAM에 로드된 임시 파일 시스템이기도 하며 systemd
임시 파일 공간이 필요한 서비스 및 기타 서비스에서 주로 사용됩니다.
/snap
install을 사용하여 패키지 설치부서지다. 이러한 악용loop
장비일반적으로 쓸 수 없습니다. 이러한 위치 중 하나에 쓰려고 하면 일종의 "장치에 공간 없음" 오류가 발생합니다. 이는 df -h
이러한 설치가 100% 사용 중인 것으로 표시된다는 의미입니다.
사용 가능한 모든 디스크 공간은 두 개의 장치에 할당된 것으로 보입니다.
/dev/root
/
이는 루트 파일 시스템이라고도 하는 29G, 27G 사용 및 2.2G의 남은 사용 가능 공간과 마운트된 공간을 보고합니다 . 대부분의 데이터가 여기에 있는 것 같습니다. 이 명령은 du -h --max-depth=1 /
디스크 공간이 사용되고 있는 위치를 표시해야 합니다.
/dev/sda1
총 32G의 공간, 40M의 사용 공간, 약 30G의 남은 여유 공간을 보고하며 /mnt
해당 위치를 사용하여 데이터를 저장하도록 구성할 수 있어야 합니다.
Azure가 디스크를 이런 방식으로 처리하는 이유에 대한 답을 얻으려면 Azure에 물어봐야 합니다. 두 개의 데이터 디스크 공간을 결합하여 총 60G의 공간을 갖춘 단일 설치로 제공하려는 경우 이 기준을 충족하는 가상 머신을 제공할 수 있습니다.
답변2
보시다시피 이러한 "전체" 파일 시스템은 모두 /dev/loop
장치입니다. 디스크가 아닌 파일에 매핑됩니다. 예를 들어 ISO 이미지를 탑재하고 동일한 결과를 볼 수 있습니다. 이것은 에서 발췌한 것입니다.man
페이지:
루프 장치는 데이터 블록을 하드 디스크나 광학 드라이브와 같은 물리적 장치가 아닌 파일 시스템의 일반 파일 블록이나 다른 블록 장치에 매핑하는 블록 장치입니다.
답변3
좀 더 발전된 방법: 귀하가 소유한 모든 "장치"에는 마운트 지점이 있습니다. 파일을 병합할 방법이 없으며 "장치" 간에 여유 공간이 재배포되는 것을 원하지 않습니다. 즉, 파일이 저장한 위치와 다른 "장치"에 있게 됩니다.
당신이 생각하는 한, 실제적인 문제는 없습니다. 모든 전체 파일 시스템은 루프 장치(즉, 파일에 해당하는 "장치")이며 /snap에 마운트됩니다. 스냅이 어떻게 작동하는지 모르겠지만 가상 파일 시스템이 포함된다는 사실은 놀랍지 않습니다.
답변4
@Jeredriq Demas: Azure Linux VM에서 비슷한 문제에 직면했습니다. 이 문제를 해결하셨나요? 그렇다면 솔루션을 게시할 수 있나요?