CentOS 5 VM이 있고 방금 VM 디스크를 10G에서 20G로 늘 렸지만 재부팅하지 않고 fdisk에서 새 디스크 크기를 볼 수는 없습니다.
시도했지만 echo 1 > /sys/block/sda/device/rescan새로운 크기를 볼 수 있음을 나타내는 것으로 보이지만 fdisk로 이동하여 새 파티션을 만들면 여전히 디스크가 10G로 표시됩니다.
어떤 아이디어?
CentOS 5 VM이 있고 방금 VM 디스크를 10G에서 20G로 늘 렸지만 재부팅하지 않고 fdisk에서 새 디스크 크기를 볼 수는 없습니다.
시도했지만 echo 1 > /sys/block/sda/device/rescan새로운 크기를 볼 수 있음을 나타내는 것으로 보이지만 fdisk로 이동하여 새 파티션을 만들면 여전히 디스크가 10G로 표시됩니다.
어떤 아이디어?
답변:
SCSI 버스에 rescan 명령을 실행해야합니다.
VMware에서는 SCSI 컨트롤러가 비정상적인 위치에있을 수 있습니다. 먼저 찾아보십시오.
find /sys -iname 'scan'
돌아온 나를 위해
/sys/devices/pci0000:00/0000:00:07.1/host0/scsi_host/host0/scan
/sys/devices/pci0000:00/0000:00:07.1/host1/scsi_host/host1/scan
/sys/devices/pci0000:00/0000:00:10.0/host2/scsi_host/host2/scan
그런 다음 rescan 명령을 실행하십시오.
echo "- - -" >/sys/devices/pci0000:00/0000:00:07.1/host0/scsi_host/host0/scan
echo "- - -" >/sys/devices/pci0000:00/0000:00:07.1/host0/scsi_host/host1/scan
echo "- - -" >/sys/devices/pci0000:00/0000:00:10.0/host0/scsi_host/host2/scan
즉 해야 도움이됩니다. :)
ls /sys/class/scsi_host아마도 더 빠를 수도 있습니다.
SLES 11 서버에서 비슷한 문제를 해결해야했습니다. LVM은 VMWare ESXi에서 실행되는 원시 디스크로 구축되었습니다.
# pvcreate /dev/sdd; vgextend ....
잠시 후 LVM 크기를 늘려야했지만 이전에 한 것처럼 보조 디스크를 추가 한 다음 pvcreate + vgextend를 추가하지 않았지만 기존 디스크 (이 경우 / dev / sdd)의 크기를 늘리기로 결정했습니다. ). VMWare를 늘리고 나면
# rescan-scsi-bus.sh
그러나 pvdisplay는 여전히 '오래된'디스크 크기를 보여주었습니다. 할 필요가 있었다
# echo 1 > /sys/block/sdd/device/rescan
커널이 / dev / sdd의 새로운 디스크 크기를 배울 수 있도록
echo 1 > /sys/block/sda/device/rescanCentOS에서 나를 위해 일했습니다
업데이트 : Centos 6-온라인에서 활성 디스크의 파티션 테이블을 업데이트 할 수 없음, Centos 7- growpart를 사용 하여 마지막 파티션을 확장 하거나 fdisk를 사용하여 새 파티션을 생성하고 partprobe로 재부팅하지 않고 볼 수 있습니다 . 아마도 우분투 / 데비안에서 동일합니다. -2.6 커널이 활성 디스크의 파티션 테이블에 대한 온라인 다시 읽기를 지원하기 시작한 후 어느 시점에서. 질문은 Centos 5에 대한 것이므로 아무 말도하지 않을 것입니다.
파티션을 사용하는 경우 새 공간을 사용하려면 재부팅해야합니다. 나는 이것을 피할 수있는 방법을 찾지 못했습니다. 누군가 나에게 알려주었다면.
그러나 디스크의 마지막 파티션을 확장하거나 새 파티션을 추가 한 후에 재부팅해야합니다. 전에 재부팅하는 것은 의미가 없습니다.
재검색 후 가장 먼저 알아 두어야 할 것은 fdisk 및 lsblk의 디스크 크기가 더 큽니다. 표시되지 않으면이 echo 1 및 echo---명령을 사용해야합니다.
더 많은 공간이 확보되면 파티션을 확장 / 추가 한 다음 재부팅, vg, lv 및 fs를 확장 할 수 있습니다.
재부팅을 피하려면 원시 sda / b / c 디스크를 sda1 / 2 / 3으로 분할하지 않고 볼륨 그룹에 할당해야합니다. 그런 다음 재부팅 할 필요가 없습니다.
얼마 전에 리눅스가 LVM에서 부팅 할 수 없었던 파티션 작업이 필요했지만 지금은 가능합니다.
lsblk를 사용하면 파티션 또는 lvm을 사용 중인지에 따라 파티션 또는 lvms가 표시됩니다. lvm을 사용하지 않으면 lvm 또는 모든 lvms를 사용하지 않으면 모든 부분을 가질 수 있습니다. 다음은 하나의 예입니다.
root@srv4 ~ $ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 7.3T 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 7.3T 0 part
├─vg_srv4-LogVol13 (dm-0) 253:0 0 7.1T 0 lvm /
├─vg_srv4-LogVol05 (dm-1) 253:1 0 100G 0 lvm /var/log
├─vg_srv4-LogVol04 (dm-2) 253:2 0 20G 0 lvm /var
├─vg_srv4-LogVol01 (dm-5) 253:5 0 20G 0 lvm /opt
├─vg_srv4-LogVol00 (dm-6) 253:6 0 20G 0 lvm /home
├─vg_srv4-LogVol03 (dm-7) 253:7 0 20G 0 lvm /usr
└─vg_srv4-LogVol02 (dm-8) 253:8 0 8G 0 lvm /tmp
기존 디스크의 변경 사항을 감지하려면
echo 1 > /sys/class/block/sdX/device/rescan
새 디스크를 감지하려면 :
echo 1 > /sys/class/scsi_device/X:X:X:X/device/block/device/rescan
첫 번째 상황에서 X를 찾으려면을 사용할 수 있습니다 fdisk -l.
https://kerneltalks.com/disk-management/how-to-rescan-disk-in-linux-after-extending-vmware-disk/