가상 디스크에 추가 공간이 제공된 후 Linux VM의 루트 파티션 크기 조정

가상 디스크에 추가 공간이 제공된 후 Linux VM의 루트 파티션 크기 조정

체계

  • 데비안 6/32비트
  • VSphere

목표

현재 사용 가능한 모든 리소스를 활용하려면 기본 파티션의 크기를 조정하세요.

문제

Vsphere에서 vm 인스턴스의 디스크 공간을 늘렸지만 Linux를 처음 사용하므로 다음을 수행하는 방법을 알 수 없습니다.

  1. 이 새로운 사용 가능한 공간을 확인하세요(추가 13GB)
  2. 어떤 파티션이 기본 파티션인지 파악합니다(/dev/sda1이라고 생각합니다).
  3. 현재 사용 가능한 전체 20g까지 크기를 조정하는 방법을 알아보세요.
  4. 먼저 내 디스크 공간을 모두 소모하는 문제가 있는 파일이 있는지 알아보세요.

문제 해결

fstab

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# / was on /dev/sda1 during installation
UUID=15a985ca-91ce-48ca-b235-cc0dad9418ef /               ext3    errors=remount-ro 0       1
# swap was on /dev/sda5 during installation
UUID=296256d8-f84a-4f4e-8511-1c2b9ea986d3 none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0

/dev/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
overflow on /tmp type tmpfs (rw,size=1048576,mode=1777)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)

df -a

/dev/sda1              7867856   7474208         0 100% /
tmpfs                  1557572         0   1557572   0% /lib/init/rw
proc                         0         0         0   -  /proc
sysfs                        0         0         0   -  /sys
udev                   1553124       120   1553004   1% /dev
tmpfs                  1557572         0   1557572   0% /dev/shm
devpts                       0         0         0   -  /dev/pts
overflow                  1024        68       956   7% /tmp
fusectl                      0         0         0   -  /sys/fs/fuse/connections
binfmt_misc                  0         0         0   -  /proc/sys/fs/binfmt_misc

답변1

Linux가 실행 중인 가상 디스크의 크기를 변경한 경우 기본 블록 장치의 크기가 변경되었습니다 /dev/sda. 파티션으로 인해 "하위" 블록 장치가 생성됩니다(예 /dev/sda1: 등). 그러나 물론 이러한 장치는 공간을 추가할 때 변경되지 않은 파티션 테이블에서 파생되므로 변경되지 않습니다. "기본" 디스크의 크기를 알아내기 위해 수행하려는 작업은 기본 /dev/sda블록 장치의 크기를 쿼리하는 것입니다. 이 unix.stackexchange.com 답변을 참조하세요.그렇게 하는 방법에 대해.

/Linux에서는 "기본" 파티션이 마운트되는 파티션입니다 . 따라서 위의 내용에 따르면 입니다 /dev/sda. 일부 다른 시스템에서는 , /var/usr/home다른 파티션에 있을 수 있습니다. 이는 정상적으로 작동하는 시스템에도 매우 중요합니다(긴급 상황에서 필요한 경우 문제를 해결할 수는 있지만).

당신은 조사하고 싶을 수도 있습니다ext2온라인파티션 크기를 조정합니다 /. 나는 그것을 사용한 적이 없습니다. 어떤 이유로든 이 기능이나 이와 유사한 기능을 사용할 수 없는 경우 복구 모드에서 시스템으로 부팅하고 모든 것을 /임시 외부 볼륨(또는 두 번째 가상 디스크)에 복사하고 다시 파티션한 다음 모든 것을 다시 복사할 수 있습니다.

문제가 되는 파일을 조사하는 경우 일반적으로 먼저 /var보관할 필요가 없는 로그 파일을 확인하고 삭제하거나 정리하는 것이 좋습니다(그리고 정기적으로 이 작업을 수행합니다). 또한 불필요한 항목을 삭제 하고 불필요한 패키지를 삭제하는 방법을 /home살펴볼 수도 있습니다. aptitude마지막으로 유틸리티를 사용해 볼 수 있습니다 cruft. 이 Serverfault 질문시스템에 있는 내용에 대한 시각적 보고서를 제공할 수 있는 일부 GUI 응용 프로그램에 대한 훌륭한 아이디어가 있습니다.

답변2

vSphere에서 실행 중인 디스크의 크기를 확장한 경우 다음 명령을 사용하여 scsi 버스를 다시 검색해야 합니다.

에코 "- - -" > /sys/class/scsi_host/host#/scan

여기서 #은 호스트 번호입니다(기본적으로 0).

그러면 디스크의 새로운 크기가 표시되고 e2extend를 사용하여 파일 시스템을 확장할 수 있습니다.

관련 정보