Linux
調整 vdisk zvol 大小後,在 Linux 中將 VTOC 標籤編輯為 Solaris 中的來賓 LDom
我在 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