Solaris 10 發行版本存在下列檔案系統錯誤。
請勿使鏡像 ZFS 根配置中的主要磁碟離線。系統將不會從鏡像根池配置中的離線磁碟啟動。
解決方法:若要分離鏡像根磁碟以進行更換或使其離線,請從儲存池中的另一個鏡像磁碟啟動。請選擇下列其中一項方法:
使鏡像 ZFS 根池中的主要磁碟回到線上狀態。例如:
# zpool online rpool c0t1d0s0 |
如果主要磁碟已故障或需要更換,請從儲存池中的另一個磁碟啟動。
如果使用 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>. |
解決方法: 請選取以下解決方法之一:
使用lucreate 指令時包含語言環境設定。例如:
# LC_ALL=C lucreate -n zfsUp6 -p rpool |
如果在 lucreate 執行期間 (語言環境設定為非英語語言環境),收到傾印裝置失敗訊息,可手動建立 ZFS 傾印磁碟區。例如:
# zfs create -V 2G -b 128k rpool/dump |
使用 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 |
當您使用下列指令以 32 位元模式啟動系統時,bootadm 指令無法建構格式正確的 GRUB 功能表項目:
reboot kernel/unix
reboot -- -r
因此,系統會以 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 可能會建立非法根池。必須建立具有磁碟片段 (而非整個磁碟) 的 ZFS 根池。如果您嘗試從增加至鏡像根池的整個磁碟啟動,系統將不會啟動。
解決方法: 執行下列步驟:
從根池分離磁碟。例如:
# zpool detach rpool c0t2d0 |
將磁碟標籤變更為 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 |
將磁碟片段增加回儲存池以建立鏡像根池。例如:
# zpool attach rpool c0t2d0s0 |
另請參閱zpool attach 指令無法複製 bootbl ck 資訊 (6668666)。
在 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 指令將磁碟增加至 ZFS 根池,則 bootbl ck 資訊不會複製至新增加的磁碟中。此問題不會影響使用初始安裝所建立的鏡像 ZFS 根池。系統不會從鏡像根池中的替代磁碟啟動。
解決方法: 請選取以下解決方法之一:
在 SPARC 系統上,識別替代磁碟裝置,然後安裝啟動資訊。例如:
# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c0t1d0s0 |
在 x86 系統上,識別替代磁碟裝置,然後安裝啟動資訊。例如:
# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0t1d0s0 |
在 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 只能暫時使用。
解決方法 1: 在 BIOS 中啟用 AHCI (如果在系統中可用)。啟用此設定需要重新安裝 Solaris 作業系統。
解決方法 2: 將 Solaris 安裝在不使用 ata 驅動程式的控制器之磁碟上 。
解決方法 3: 在 BIOS 設定中停用 MP,以啟動單一處理器。
解決方法 4: 在 Solaris 中停用 MP,以啟動單一處理器。請從 Grand Unified Bootloader (GRUB) 功能表執行下列步驟:
鍵入 e 以編輯所選取的 Solaris 項目。
瀏覽至以 kernel 開始的行。
鍵入 e 以切換至 GRUB 編輯模式。
在該行中增加 -kd。
按 ENTER 鍵接受變更。
鍵入 b 以啟動所選取的 Solaris 項目。
在 kbmd 提示符號處,鍵入下列指令:
use_mp/W 0 :c |
若是執行系統啟動,請繼續步驟 10。否則,請安裝 Solaris 10 10/08 軟體。
安裝作業結束後,請重新啟動系統。重複步驟 1 至 7。
若要此變更永久存在,以便針對後續啟動不需要重複上述步驟,請執行以下作業:
在系統啟動完成後成為超級使用者。
請開啟 /etc/system 檔案。
增加下列行:
set use_mp = 0 |
解決方法 5: 停用微碼更新。鍵入以下指令:
# mv /platform/i86pc/ucode /platform/i86pc/ucode.disabled |
系統啟動後,可手動呼叫微碼更新:
# ucodeadm -u /platform/i86pc/ucode.disabled/intel-ucode.txt |
如果非全域區域一開始是配置成使用 `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 是設計為要與 POSIX 相容的檔案系統,在大多數情況中,ZFS 與 POSIX 相容。但是,當 ZFS 未通過 POSIX 相容性測試時,會發生兩種邊界情況:
更新 ZFS 檔案系統容量統計。
用完全已滿的檔案系統來修改現有的資料。
相關 CR:
6362314
6362156
6361650
6343113
6343039
6742203
如果您使用 fdisk -E 指令來修改 ZFS 儲存池使用的磁碟,儲存池將無法使用並可能會造成 I/O 失敗或系統程式錯誤。
解決方法:
請勿使用 fdisk 指令來修改 ZFS 儲存池使用的磁碟。如果您必須存取 ZFS 儲存池使用的磁碟,請使用 format 公用程式。通常不應該修改檔案系統正在使用的磁碟。
以下是 Brightstor ARCserve Backup 產品有關的一些問題。
BrightStor ARCserve Backup (BAB) Client Agent for UNIX (Solaris) 可以用來備份及復原 ZFS 檔案。
然而,在備份期間不會保留 ZFS NFSv4 樣式 ACL。傳統的 UNIX 檔案權限和屬性會被保留。
解決方法:如果您要保留具有 NFSv4 樣式 ACL 的 ZFS 檔案,請使用 tar 指令搭配 -p 選項或使用 cpio 指令搭配 -P 選項將 ZFS 檔案寫入某個檔案。然後,使用 BAB 來備份 tar 或 cpio 歸檔。
如果您將 SUNWzfsg 套裝軟體 Solaris 10 10/08 發行版本增加到執行 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 之前發行版本的系統中。
如果主機在目標 (使用 Solaris iSCSI 軟體初始器進行連線) 進行檔案系統 I/O 時發生程式錯誤,則 I/O 可能無法清除或無法與目標裝置同步化。無法清除或無法同步化可能會造成檔案系統毀損。不會顯示錯誤訊息。
解決方法:
使用如同 UFS 的日誌記錄檔案系統。從 Solaris 10 開始,UFS 記錄預設為啟用。如需有關 UFS 的更多資訊,請參閱「System Administration Guide: Devices and File Systems」中的「What’s New in File Systems?」。
將 NFSv4 伺服器從 Solaris Express 6/05 升級至 Solaris Express 7/05 或更新版本 (包含所有 Solaris 10 更新) 之後,您的程式可能會發生 EACCES 錯誤。此外,目錄可能會錯誤地顯示為空。
若要避免發生這些錯誤,請卸載後再重新掛載用戶端檔案系統。在卸載失敗的情況下,您可能需要使用 umount -f 來強行卸載檔案系統。或者,您也可以重新啟動用戶端。
如果網路中的用戶端和伺服器各使用不同的先前 Solaris 10 發行版本來安裝,NFSv4 存取控制清單 (ACL) 功能可能無法正常運作。使用這些功能的受到影響的 ACL 功能和指令行公用程式如下:
acl()
facl()
getfacl
setfacl
如需有關這些功能和公用程式的更多資訊,請參閱它們各自的線上手冊。
例如,包含下列配置的網路有可能發生此錯誤:
執行 Solaris 10 Beta 版本軟體的用戶端
執行 Solaris 10 軟體的伺服器
下表說明在使用不同 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 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 指令可能無法在具有大小超過 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 大小的分割區上產生傾印。如果系統上有這類裝置,系統發生程式錯誤之後,重新啟動時可能會發生下列情形:
系統沒有儲存傾印。
螢幕上將會顯示以下訊息:
0% done: 0 pages dumped, compression ratio 0.00, dump failed: error 6 |
解決方法: 將系統的傾印裝置的大小配置為小於 1 TB。
如果您使用 smosservice 指令將作業系統服務增加到 UFS 檔案系統,會顯示磁碟可用空間不足的訊息。此錯誤僅出現在位於標示為 EFI 磁碟的 UFS 檔案系統上。
解決方法: 請完成以下解決方法。
套用 SMI VTOC 磁碟標籤。
重新建立系統檔案。
重新執行 smosservice 指令。