VMware를 사용하면 VM이 실행될 때 가상 디스크의 크기를 온라인으로 확장 할 수 있습니다. Linux 시스템의 다음 단계는 다음과 같습니다.
- 파티션을 확장하십시오.
fdisk
- PV 크기를 확장
pvresize
lvresize
작업에 자유 범위를 사용- 그런 다음
resize2fs
파일 시스템
그러나 나는 첫 번째 단계에 붙어 fdisk
있으며 sfdisk
여전히 디스크의 이전 크기를 표시합니다.
내 디스크는 가상 LSI Logic 컨트롤러 덕분에 연결된 SCSI 가상 디스크입니다.
재부팅하지 않고 Linux 커널에서 사용 가능한 가상 디스크 크기 및 파티션 테이블 정보를 새로 고치는 방법은 무엇입니까?
VMWare 도구 덕분에 재부팅하지 않고 사용자 작업을 수행하지 않고도 실행중인 Windows에서 가능한 모든 단계를 알 수 있습니다. Linux에서는 온라인으로 모든 단계를 수행 할 것으로 예상되며 2 단계, 3 단계 및 4 단계가 온라인으로 작동한다는 것을 이미 알고 있습니다. 그러나 파티션 테이블에 선언 된 첫 번째 파티션 크기 변경 (여전히)에는 재부팅이 필요한 것 같습니다.
업데이트 : 내 시스템은 커널 2.6.26의 데비안 레니 (Debian Lenny)이고, 확장 한 디스크는 “/”에 대한 “루트”LV를 포함하는 큰 PV가있는 기본 디스크입니다.
답변
재부팅하지 않고도이 작업을 수행 할 수 있습니다. pvresize는 파티션이 추가 된 공간으로 업데이트 될 때까지 물리 볼륨의 크기를 조정하지 않습니다. 처음에 여분의 공간이 있는지 드라이브를 다시 스캔 한 후에는 파티션을 fdisk하고 새로운 전체 크기의 디스크로 다시 작성해야합니다.
자세한 정보 :
http://theducks.org/2009/11/expanding-lvm-partitions-in-vmware-on-the-fly/
답변
제공된 다른 답변은 귀하의 질문을 해결하지 못합니다. 이미 연결된 디스크를 다시 검색하는 올바른 명령을 식별했습니다.
이미 연결된 디스크를 다시 검색해야합니다. 먼저 다시 검색 할 디스크를 식별하십시오.
ls /sys/class/scsi_disk/
이 예에서는이라는 심볼릭 링크 0:0:0:0
가 표시되므로이 scsi-disk를 다시 스캔합니다.
echo '1' > /sys/class/scsi_disk/0\:0\:0\:0/device/rescan
방금 VMware 디스크를 확장했으며 올바른 명령을 찾기 위해 다른 답변을 찾아야했습니다. 희망적으로 이것은 미래의 검색 자들이 헛된 시도로부터 구해줄 수 있기를 바랍니다.
답변
/
크기가 조정 된 디스크에 루트 파일 시스템 이 마운트되어있는 한, Linux 2.6.26의 SCSI 재검색으로 파티션 테이블과 디스크 크기가 새로 고쳐지지 않습니다.
새로운 커널 버전으로 더 빨리 나아지기를 바랍니다.
그래서 나는해야했다 :
- 새 디스크 크기를 보려면 처음으로 다시 부팅하십시오.
fdisk
- 에서 이전 기본 PV 부분을 삭제하십시오.
fdisk
- 동일한 번호의 파티션 항목을 작성하고 디스크 끝까지 섹터를 시작하십시오.
- 다시 부팅하거나 패키지에 마운트되지 않은 경우에만 패키지
partprobe
에서 실행parted
/
- 지금은 실행할 수있는
pvresize
새로운 여유 공간을 얻기 위해,lvextend
그리고resize2fs
파일 시스템에 좀 더 많은 공간을 할당
pvcreate
Grub2가 LVM 파티션의 파일 시스템에서 직접 커널 이미지를로드 할 수 있기 때문에 어리석은 이전 파티션 테이블을 버리고 장치 에서 직접 실행하는 것이 좋습니다 . 그러나 배포 설치 프로그램에서는 이러한 설정이 전혀 명확하지 않습니다.
업데이트 : 방금 커널 3.16 및 parted
3.2를 실행하는 데비안 GNU / 리눅스 Jessie 8.2를 확인했는데 , partprobe
이제는 cfdisk
재부팅하지 않고 파티션 테이블 에디션 후에 성공합니다 . pvresize
직후에 작동합니다.
논리 PC 파티션으로 저장된 PV를 확장하려는 경우 (예 : /dev/sda5
확장 기본 파티션 /dev/sda2
) 다음을 사용하지 말고 fdisk
선호하십시오 parted
.
parted /dev/sda2 -1
parted /dev/sda5 -1
pvresize /dev/sda5
답변
더 큰 파티션을 만들기 전에 디스크를 다시 스캔해야합니다.
Centos에서는 다음을 수행 할 수 있습니다.
ls /sys/class/scsi_host
그런 다음 각 호스트에 대해
echo "- - -" > /sys/class/scsi_host/host#/scan
(#을 숫자로 바꿉니다)
파티션의 크기를 조정하면 ext 또는 사용중인 파일 시스템을 확장하는 위의 단계가 하나 더 있습니다.
어떤 시점에서 여전히 해당 파티션을 마운트 해제해야합니다. 우리가하는 일은 두 번째 vmware 디스크를 추가하고 lvm을 사용하여 새 디스크로 확장하고 교체하는 경우 기존 디스크를 줄임으로써 전체 프로세스가 실시간으로 수행되도록하는 것입니다.
답변
업데이트 된 답변으로 Ubuntu 16.04.1에서 다음을 수행하여 볼륨을 1024GB에서 1.4TB로 크기를 조정할 수있었습니다.
echo '1' > /sys/class/scsi_disk/32\:0\:1\:0/device/rescan
pvresize /dev/sdb
lvextend -l +100%FREE /dev/nvr01-opt/opt
resize2fs /dev/nvr01-opt/opt
fdisk
필요 하지 않았 으며 공간을 즉시 사용할 수있었습니다.
답변
필요한 정확한 명령을 알려주기에는 충분한 세부 정보를 제공하지 않았지만 기본적으로 lvextend
명령을 사용하여 논리 볼륨을 확장 e2fsck
한 다음 resize2fs
명령을 실행 한 다음 실제로 파일 시스템을 확장해야합니다. 이러한 각 명령에는 장치 및 파일 시스템 정보와 같은 추가 매개 변수가 필요하지만 우리가 제공 할 수는 없지만이를 알아야합니다. 각 명령에 대해 –help 옵션을 사용하여 명령을 사용하는 방법을 알려주십시오. 당신은 아마를 사용하게 될 겁니다 pvdisplay
, lvdisplay
그리고 mount
도움에 명령이 매개 변수를 작성하십시오.
답변
아무도 완전한 명령 집합을 게시하지 않았으므로 여기로 이동합니다.
# the following steps are for adding a new HDD
apt install scsitools
rescan-scsi-bus
pvcreate /dev/sdX
vgextend /dev/vgname /dev/sdx
lvextend -l +100%FREE /dev/vgname/root
resize2fs /dev/vgname/root
#if resizing existing HDD
fdisk /dev/sdX
create new partition
pvcreate /dev/sdXn
vgextend /dev/vgname /dev/sdXn
lvextend -l +100%FREE /dev/vgname/root
resize2fs /dev/vgname/root