Solaris 10 5/09 版本說明

檔案系統

Solaris 10 發行版本存在下列檔案系統錯誤。

zoneadm attach 失敗,且標記區域中的掛載作業無效 (6800618)

雖然在原生 (Solaris 10) 區域上執行附加作業會成功,但是在標記區域上執行卻會失敗。螢幕上將顯示下列錯誤訊息:


zone mount operation is invalid for branded zones.
Cannot generate the information needed to attach this zone.

解決方法:針對非原生的標記區域使用 attach - F 指令。如需有關此程序的更多資訊,請參閱「System Administration Guide: Solaris Containers--Resource Management and Solaris Zones」

使鏡像 ZFS 根池中的主要磁碟離線

請勿使鏡像 ZFS 根配置中的主要磁碟離線。系統將不會從鏡像根池配置中的離線磁碟啟動。

解決方法:若要分離鏡像根磁碟以進行更換或使其離線,請從儲存池中的另一個鏡像磁碟啟動。請選擇下列其中一項方法:

當目標文件系統為 ZFS 及語言環境為日語 EUC 時, lucreate 會失敗 (6750725)

如果使用 lucreate 指令來建立 ZFS 根檔案系統,並將語言環境設定為非英語語言環境,ZFS 傾印磁碟區的建立會失敗。螢幕上將顯示下列錯誤訊息:


ERROR: Unable to determine dump device for boot environment <{c1t1d0s0}>.
ERROR: Unable to create all required file systems for boot environment <zfsUp6>.
ERROR: Cannot make file systems for boot environment <zfsUp6>.

解決方法: 請選取以下解決方法之一:

將 UFS 轉換為 ZFS 之後,boot -L 無法正常運作 (6741743)

使用 Solaris Live Upgrade 將 UFS 根檔案系統轉換為 ZFS 時,bootlst 指令不會複製至正確位置。此錯誤會導致 boot -L 指令無法運作。螢幕上將顯示下列錯誤訊息:


Evaluating: boot -L
The file just loaded does not appear to be executable.
Boot device: /pci@1f,0/pci@1/scsi@8/disk@1,0:a  File and args: 

Can't mount root

Error in Fcode execution !!!
Evaluating: boot
The file just loaded does not appear to be executable.

解決方法:bootlst 指令從 /platform/`uname -m`/bootlst 複製至 / root pool/platform/`uname -m`/bootlst。例如,若根池為 rpool,則鍵入下列指令:


# cp -p /platform/`uname -m`/bootlst /rpool/platform/`uname -m`/bootlst

x86: 無法使用 reboot 指令啟動 32 位元核心 (6741682)

當您使用下列指令以 32 位元模式啟動系統時,bootadm 指令無法建構格式正確的 GRUB 功能表項目:

因此,系統會以 64 位元模式啟動。發生錯誤的 menu.lst 檔案可能會顯示以下資訊:


findroot rootfs0
kernel /platform/i86pc/kernel/unix
module /platform/i86pc/boot_archive

在上述範例中,核心行不包含多重啟動資訊,因此不正確。不會顯示錯誤訊息。

解決方法:手動編輯 /boot/grub/menu.lst 檔案,並加入下列資訊:


title Solaris 10 10/08
findroot rootfs0
kernel /platform/i86pc/multiboot kernel/unix
module /platform/i86pc/boot_archive

完成這些變更後,系統會以 32 位元模式啟動。


備註 –

menu.lst 檔案所做的變更在系統重新啟動之後仍有效。


或者,您也可以在開機時編輯 GRUB 功能表,並增加 kernel/unix 啟動引數,如下列範例所示:


grub edit> kernel /platform/i86pc/multiboot kernel/unix

備註 –

在開機時編輯 GRUB 功能表所做的變更,在系統重新啟動之後即無效。


如需更多資訊,請參閱「System Administration Guide: Basic Administration」中的「Modifying Boot Behavior on x86 Based Systems」

zpool attach 可能會建立非法根池 (6740164)

將裝置連接至根池以建立鏡像根池時,如果將整個磁碟增加至儲存池, zpool attach 可能會建立非法根池。必須建立具有磁碟片段 (而非整個磁碟) 的 ZFS 根池。如果您嘗試從增加至鏡像根池的整個磁碟啟動,系統將不會啟動。

解決方法: 執行下列步驟:

  1. 從根池分離磁碟。例如:


    # zpool detach rpool c0t2d0
  2. 將磁碟標籤變更為 VTOC (SMI) 標籤。例如:


    # format -e
    .
    .
    .
    Select disk c0t2d0
    format> label
    [0] SMI Label
    [1] EFI Label
    Specify Label type[0]:0
    Ready to label disk, continue? yes
    format> quit
  3. 將磁碟片段增加回儲存池以建立鏡像根池。例如:


    # zpool attach rpool c0t2d0s0

另請參閱zpool attach 指令無法複製 bootbl ck 資訊 (6668666)

SPARC: Solaris Live Upgrade 無法建立 menu.lst 檔案 (6696226)

在 SPARC 平台上,必須於根池的資料集中建立 menu.lst 檔案。不會顯示錯誤訊息。

解決方法:手動建立 menu.lst 檔案。例如,如果您在 ZFS 根池 rpool 中有兩個 ZFS 啟動環境:zfs1008BE 和 zfs10082BE,則鍵入下列指令:


# mkdir -p /rpool/boot
# cd /rpool/boot
# vi menu.lst

將下列項目增加至 menu.lst 檔案:


title zfs1008BE
bootfs rpool/ROOT/zfs1008BE
title zfs10082BE
bootfs rpool/ROOT/zfs10082BE

zpool attach 指令無法複製 bootbl ck 資訊 (6668666)

如果您使用 zpool attach 指令將磁碟增加至 ZFS 根池,則 bootbl ck 資訊不會複製至新增加的磁碟中。此問題不會影響使用初始安裝所建立的鏡像 ZFS 根池。系統不會從鏡像根池中的替代磁碟啟動。

解決方法: 請選取以下解決方法之一:

x86: ata 在啟動時逾時 (6586621)

在 Intel 多處理器系統上,系統啟動期間可能會發生 ata 驅動程式逾時。當根裝置所在的磁碟機具有連結至老舊的 ata 驅動程式的 HBA 控制器時,這些逾時會發生。在系統啟動期間,這些逾時會導致暫時當機、死當或程式發生錯誤,主控台訊息類似於下列內容:


scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0):
        timeout: reset bus, target=0 lun=0
scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0):
        timeout: early timeout, target=0 lun=0
gda: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0 (Disk0):
        Error for command 'read sector'   Error Level: Informational
gda: [ID 107833 kern.notice]           Sense Key: aborted command
gda: [ID 107833 kern.notice]           Vendor 'Gen-ATA ' error code: 0x3
gda: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0 (Disk0):
        Error for command 'read sector'   Error Level: Informational
gda: [ID 107833 kern.notice]           Sense Key: aborted command
gda: [ID 107833 kern.notice]           Vendor 'Gen-ATA ' error code: 0x3
scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0):
        timeout: abort request, target=0 lun=0
scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0):
        timeout: abort device, target=0 lun=0
scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0):
        timeout: reset target, target=0 lun=0
scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0):
        timeout: reset bus, target=0 lun=0
scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0):
        timeout: early timeout, target=0 lun=0
gda: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0 (Disk0):
        Error for command 'read sector'   Error Level: Informational
gda: [ID 107833 kern.notice]           Sense Key: aborted command
gda: [ID 107833 kern.notice]           Vendor 'Gen-ATA ' error code: 0x3
gda: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0 (Disk0):

解決方法: 請選取以下解決方法之一:


備註 –

若要避免效能降低,在可以使用解決方法 5 之前,解決方法 3 或解決方法 4 只能暫時使用。


zfs snapshot -r 在檔案系統忙碌時會失敗 (6462803)

此問題的起因是在檔案系統卸載時,同步 I/O 的處理方式發生問題。ZFS 根池中存在多個 ZFS BE 時,遞迴快照可能會失敗。


cannot create snapshot 'rpool@today': dataset is busy

解決方法: 請選取以下解決方法之一:

zoneadm install 無法進行 ZFS 傳統掛載 (6449301)

如果非全域區域一開始是配置成使用 `add fs 子指令掛載 ZFS 檔案系統,並且指定 mountpoint=legacy,後續的區域安裝會失敗。會顯示以下錯誤訊息。


ERROR: No such file or directory:
cannot mount </zones/path/root/usr/local> in non-global zone to install:
the source block device or directory </path/local> cannot be accessed

解決方法: 在安裝非全域區域之後,增加對 ZFS 檔案系統的存取權。

ZFS 和 UNIX/POSIX 相容性問題

ZFS 是設計為要與 POSIX 相容的檔案系統,在大多數情況中,ZFS 與 POSIX 相容。但是,當 ZFS 未通過 POSIX 相容性測試時,會發生兩種邊界情況:

  1. 更新 ZFS 檔案系統容量統計。

  2. 用完全已滿的檔案系統來修改現有的資料。

相關 CR:

fdisk -E 不事先警告便清理 ZFS 使用的磁碟 (6412771)

如果您使用 fdisk -E 指令來修改 ZFS 儲存池使用的磁碟,儲存池將無法使用並可能會造成 I/O 失敗或系統程式錯誤。

解決方法:

請勿使用 fdisk 指令來修改 ZFS 儲存池使用的磁碟。如果您必須存取 ZFS 儲存池使用的磁碟,請使用 format 公用程式。通常不應該修改檔案系統正在使用的磁碟。

ZFS 和協力廠商備份產品的問題

以下是 Brightstor ARCserve Backup 產品有關的一些問題。

BrightStor ARCserve Backup Client Agent for UNIX (Solaris) 和 ZFS 支援

BrightStor ARCserve Backup (BAB) Client Agent for UNIX (Solaris) 可以用來備份及復原 ZFS 檔案。

然而,在備份期間不會保留 ZFS NFSv4 樣式 ACL。傳統的 UNIX 檔案權限和屬性會被保留。

解決方法:如果您要保留具有 NFSv4 樣式 ACL 的 ZFS 檔案,請使用 tar 指令搭配 -p 選項或使用 cpio 指令搭配 -P 選項將 ZFS 檔案寫入某個檔案。然後,使用 BAB 來備份 tarcpio 歸檔。

ZFS GUI 應該在每個精靈一開始便檢查 /usr/lib/embedded_su (6326334)

如果您將 SUNWzfsg 套裝軟體 Solaris 10 5/09 發行版本增加到執行 Solaris 10 6/06 之前發行版本 (其中不含有 embedded_su 修補程式) 的系統,則 ZFS Administration 應用程式精靈將無法完全正常運作。

如果您嘗試在不具有 embedded_su 修補程式的系統上執行 ZFS Administration 應用程式,您只能瀏覽您的 ZFS 配置。螢幕上將顯示下列錯誤訊息:


/usr/lib/embedded_su: not found

解決方法:

embedded_su 修補程式 (119574-02) 增加到執行 Solaris 10 6/06 之前發行版本的系統中。

發生程式錯誤時無法同步化檔案系統 (6250422)

如果主機在目標 (使用 Solaris iSCSI 軟體初始器進行連線) 進行檔案系統 I/O 時發生程式錯誤,則 I/O 可能無法清除或無法與目標裝置同步化。無法清除或無法同步化可能會造成檔案系統毀損。不會顯示錯誤訊息。

解決方法:

使用如同 UFS 的日誌記錄檔案系統。從 Solaris 10 開始,UFS 記錄預設為啟用。如需有關 UFS 的更多資訊,請參閱「System Administration Guide: Devices and File Systems」中的「What’s New in File Systems?」

從某些 Solaris Express 或 Solaris 10 發行版本進行升級時需要重新掛載檔案系統

將 NFSv4 伺服器從 Solaris Express 6/05 升級至 Solaris Express 7/05 或更新版本 (包含所有 Solaris 10 更新) 之後,您的程式可能會發生 EACCES 錯誤。此外,目錄可能會錯誤地顯示為空。

若要避免發生這些錯誤,請卸載後再重新掛載用戶端檔案系統。在卸載失敗的情況下,您可能需要使用 umount -f 來強行卸載檔案系統。或者,您也可以重新啟動用戶端。

NFSv4 存取控制清單功能可能無法正常運作

如果網路中的用戶端和伺服器各使用不同的先前 Solaris 10 發行版本來安裝,NFSv4 存取控制清單 (ACL) 功能可能無法正常運作。使用這些功能的受到影響的 ACL 功能和指令行公用程式如下:

如需有關這些功能和公用程式的更多資訊,請參閱它們各自的線上手冊。

例如,包含下列配置的網路有可能發生此錯誤:

下表說明在使用不同 Solaris 10 發行版本之主從式配置中執行 ACL 功能的結果。

作業 

用戶端 S10 作業系統 

伺服器 S10 作業系統 

結果 

取得 ACL 

S10 Beta 

S10 作業系統 

偽裝 ACL * 

取得 ACL 

S10 作業系統 

S10 Beta 

運作正常 

設定 ACL 

S10 Beta 

S10 作業系統 

運作正常 

設定 ACL 

S10 作業系統 

S10 Beta 

錯誤: EOPNOTSUP 

解決方法: 若要 NFSv4 ACL 功能正常運作,請在伺服器和用戶端上皆執行 Solaris 10 作業系統的完整安裝。

Solaris NFSv4 用戶端和 NFSv4 伺服器之間的存取問題

在目前的 Solaris 10 版本中,Solaris 實作的 NFSv4 存取控制清單 (ACL) 現在符合 RFC 3530 規格。然而,使用 Solaris 10 Beta 2 或 Beta 1 版本的 NFSv4 用戶端會發生錯誤。這些用戶端無法在使用目前的 Solaris 10 發行版本的 NFSv4 伺服器中建立檔案。螢幕上將顯示下列錯誤訊息:


NFS getacl failed for server_name: error 9 (RPC: Program/version mismatch)

解決方法: 無。

使用 mkfs 指令在極大的磁碟上建立檔案系統可能會失敗 (6352813)

mkfs 指令可能無法在具有大小超過 8 GB 之磁碟幾何的磁碟上建立檔案系統。衍生的磁柱群組大小過大,不適用於 1 KB 的分段。大型的磁柱群組大小表示區段無法容納超量的中介資料。

螢幕上將顯示下列錯誤訊息:


With 15625 sectors per cylinder, minimum cylinders
per group is 16. This requires the fragment size to be
changed from 1024 to 4096.
Please re-run mkfs with corrected parameters.

解決方法: 請改用 newfs 指令。或在使用 mkfs 指令時,指定較大的分段大小,如 4096。

在超過 1 TB 的裝置上系統故障傾印失敗 (6214480)

系統無法在等於或超過 1 TB 大小的分割區上產生傾印。如果系統上有這類裝置,系統發生程式錯誤之後,重新啟動時可能會發生下列情形:

解決方法: 將系統的傾印裝置的大小配置為小於 1 TB。