ZFS zvols에 설치된 여러 Linux 게스트 LDom을 호스팅하는 SPARC의 Solaris 10 시스템이 있습니다. 그러나 Linux는 zvol의 크기를 조정한 후 디스크 크기 조정을 "감지"하지 않습니다. 이는 디스크의 VTOC가 여전히 이전 디스크 크기를 지정하기 때문일 수 있다는 것을 알고 있습니다.
다음은 기본 가상 디스크를 사용하는 ldom 매핑입니다.
ldadm@ldom0> ldm list -o disk ldom1
NAME
ldom1
DISK
NAME VOLUME TOUT ID DEVICE SERVER MPGROUP
osdisk0 ldom1osdisk0@p-vds0 0 disk@0 primary
크기를 조정하기 전의 해당 zfs 볼륨은 다음과 같습니다.
root@ldom0> zfs list -t volume
NAME USED AVAIL REFER MOUNTPOINT
ldom0/LDom/ldom1/osdisk0 13.5G 71.3G 3.10G -
그런 다음 볼륨 크기를 조정했습니다.
root@ldom0> zfs set volsize=40g ldom0/LDom/ldom1/osdisk0
나중에는 zvol입니다.
root@ldom0> zfs list -t volume
NAME USED AVAIL REFER MOUNTPOINT
ldom0/LDom/ldom1/osdisk0 42.5G 101G 3.10G -
그러나 Linux를 부팅할 때:
ldadm@ldom0> telnet localhost 5000
ldom1 login: root
Password:
root@ldom1> fdisk -l
Disk /dev/vdiska: 12 GiB, 12884901888 bytes, 25165824 sectors
Geometry: 255 heads, 63 sectors/track, 1566 cylinders
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 8192 bytes
I/O size (minimum/optimal): 8192 bytes / 8192 bytes
Disklabel type: sun
Device Start End Sectors Size Id Type Flags
/dev/vdiska1 0 192779 192780 94.1M 1 Boot
/dev/vdiska2 192780 8482319 8289540 4G 83 Linux native
/dev/vdiska3 0 25157789 25157790 12G 5 Whole disk
/dev/vdiska4 8482320 12466439 3984120 1.9G 82 Linux swap
/dev/vdiska5 12466440 25157789 12691350 6.1G 83 Linux native
언급한 대로 VTOC 태그에 여기에 명시된 크기가 포함되어 있으므로 이것이 정상적인 동작이라고 가정합니다.1. 예를 들어 Solaris에서 레이블을 편집하거나 인쇄하는 방법에 대한 문서가 있습니다. 여기2, 그러나 Linux에 대해서는 아무것도 찾지 못했습니다.
VTOC를 편집해야 한다고 가정하는 것이 맞습니까? 필요한 경우 어떻게 편집할 수 있나요? 아니면 내가 뭔가를 놓치고 있는 걸까?
답변1
나는 VTOC가 문제에 대한 답이라고 생각했지만 실제 대답은 ldm이 변경 사항을 인식하지 못했다는 것입니다. 간단한 삭제 및 읽기로 문제가 해결되었습니다.
ldadm@ldom0> ldm stop ldom1
ldadm@ldom0> ldm rm-vdisk osdisk0 ldom1
ldadm@ldom0> ldm add-vdisk osdisk0 ldom1osdisk0@p-vds0 ldom1
ldadm@ldom0> ldm start ldom1