내가 찾은아주 좋은 튜토리얼가상 하드 디스크를 생성하는 방법에 관해서는 관련 처리 결과와 함께 대규모 데이터 세트를 안정적이고 휴대 가능하게 저장하기 위해 작업에 가상 하드 디스크를 사용하는 것을 고려 중입니다.
기본적으로 이 튜토리얼에는 다음 작업이 포함됩니다.
dd if=/dev/zero of=MyDrive.vhd bs=1M count=500
mkfs -t ext3 MyDrive.vhd
mount -t auto -o loop MyDrive.vhd /some/user/folder
ext3 형식으로 500MB 가상 하드 디스크를 생성하고 어딘가에 마운트합니다.
이제 해당 파일로 작업하고 500MB 이상이 필요하다고 가정하면 가상 디스크 크기를 "동적으로" 조정할 수 있는 방법이 있습니까? (동적이란 더 큰 새 디스크를 만들고 데이터를 복사하는 것 외에도 의미합니다.)
답변1
확장 파일 보다 dd
더 나은 옵션이 있습니다. 이 dd
명령이 제대로 작동하려면(데이터 손상을 방지하기 위해) 여러 매개변수가 필요합니다. 나는 사용한다 truncate
. 이름에도 불구하고 파일 크기를 확장할 수도 있습니다.
truncate - 파일 크기를 지정된 크기로 줄이거나 확장합니다.
-s, --size=크기
SIZE를 통해 파일 크기 설정 또는 조정
SIZE는 선택적 단위가 있는 정수입니다(예: 10M은 10*1024*1024입니다). > 단위는 K, M, G, T, P, E, Z, Y(1024의 거듭제곱) 또는 KB, MB, ...(1000의 거듭제곱)입니다.
SIZE 앞에는 다음 수정자 문자 중 하나가 앞에 붙을 수 있습니다. 확장하려면 "+", 축소하려면 "-", 최대 "<", 최소한 ">", "/"로 반내림, "%"로 반올림 배수로 반올림합니다.
그러므로,
truncate -s +1G MyDrive.vhd
파일을 1GB까지 안전하게 확장하세요. 그리고 그렇습니다. 기본 파일 시스템이 지원하는 경우 드물게 확장되므로 실제 블록은 요청 시 할당됩니다.
파일이 확장되면 resize2fs를 실행하는 것을 잊지 마세요:
resize2fs MyDrive.vhd
또한 온라인 크기 조정을 지원하는 파일 시스템의 경우 전체 프로세스를 온라인으로 수행할 수 있습니다( umount
장치 필요 없음).
losetup -c loopdev
지원 파일에 대한 커널 정보를 업데이트합니다.
그리고
resize2fs loopdev
마운트된 파일 시스템의 크기를 온라인으로 조정
답변2
더블 사이즈:
umount /some/user/folder
dd if=/dev/zero bs=1M count=500 seek=500 >>MyDrive.vhd
resize2fs MyDrive.vhd
답변3
$ vboxmanagemodifyhd NewVirtualDisk1.vhd --resize 40000 #새 크기는 mb 단위이며 여기서는 40000mb입니다.