vdisk zvol 크기를 조정한 후 Solaris에서 게스트 LDom으로 Linux에서 VTOC 레이블 편집

vdisk zvol 크기를 조정한 후 Solaris에서 게스트 LDom으로 Linux에서 VTOC 레이블 편집

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

관련 정보