Linux

調整 vdisk zvol 大小後,在 Linux 中將 VTOC 標籤編輯為 Solaris 中的來賓 LDom

  • January 15, 2020

我在 SPARC 上有一個 Solaris 10 系統,託管多個 Linux 來賓 LDom,這些 LDom 安裝在 ZFS zvol 上。但是,在調整 zvol 的大小後,Linux 並沒有“檢測到”磁碟大小的調整,據我所知,這可能是由於磁碟上的 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,如果,如何?還是我錯過了其他東西?

雖然我認為 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

引用自:https://unix.stackexchange.com/questions/556783