Solaris 10 6/06 版本說明

檔案系統

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

ZFS 和 UNIX/POSIX 相容性問題

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

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

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

相關 CR:

將 ZFS 修補程式附加到 Solaris 10 6/06 系統會造成假性的警告訊息 (6429860)

因為 ZFS 套裝軟體是第一次附加到系統上,所以將 ZFS 修補程式附加到 Solaris 10 6/06 系統會造成 patchadd 指令產生假性警告訊息。螢幕上將顯示下列錯誤訊息:


The following requested patches have packages not installed on the system:
	Package SUNWzfskr from directory SUNWzfskr in patch 122641-03 
	is not installed on the system.

	Changes for package SUNWzfskr will not be applied to the system.

解決方法:

忽略 patchadd 指令產生的假性訊息。

ufsrestore 設定 ACL 時未使用 acl_set() (6421216)

如果在 ZFS 檔案系統中復原具有 POSIX 草案 ACL 的 UFS 歸檔,則 ufsrestore 公用程式會產生錯誤。系統會正確復原檔案,但會忽略 ACL 資訊。

ufsrestore 作業期間,會產生下列錯誤訊息:


setacl failed: Invalid argument

解決方法:

請使用下列任何顧及 ACL 設定的指令,將具有 ACL 的 UFS 檔案傳送至 ZFS 檔案系統:

POSIX 草案 ACL 會轉譯為對等的 NFSv4 樣式 ACL。

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

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

解決方法:

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

x86: 在 Sun Ultra 20 或 Sun Fire X2100 上使用 ZFS 之後,BIOS 在重新啟動時當機 (6363449)

如果連接 Sun UltraTM 20 工作站或 Sun FireTM X2100 伺服器的磁碟包含 ZFS 儲存池,則上述這些系統可能會在重新啟動時當機。

可能存有此種問題的 BIOS 版本如下:

解決方法:

  1. 請先結束 ZFS 使用的磁碟之連線,再重新啟動系統,直到在這些系統上可以安裝支援 ZFS 的最低 BIOS 層級為止。

  2. 通過發行版本 1.4 補充 CD 以安裝支援 ZFS 的 BIOS 最低支援版本。

    支援的 BIOS 版本如下:

    • 用於 Sun Ultra 20 工作站的 BIOS 版本 2.2.3。

    • 用於 Sun Fire X2100 伺服器的 BIOS 版本 1.1.1。

    您還可以從下列位置下載用於發行版本 1.4 的補充 CD 影像:

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

下列為 Veritas NetBackup 和 Sun StorEdgeTM Enterprise Backup Software (EMC 和 Legato NetWorker®) 產品的問題。

Veritas NetBackup 無法備份和保留具有 ZFS/NFSv4 ACL 的檔案 (6352899)

Veritas NetBackup 產品可以用來備份 ZFS 檔案,而且此配置是受支援的。但是,本產品目前不支援備份或復原來自 ZFS 檔案的 NFSv4 樣式 ACL 資訊。系統會正確備份和復原傳統的權限位元和其他檔案屬性。

如果使用者嘗試備份或復原 ZFS 檔案,系統會以無訊息的方式捨棄來自 ZFS 檔案的 NFSv4 樣式 ACL 資訊。不會發出錯誤訊息指出已捨棄來自 ZFS 檔案的 ACL 資訊。

對 ZFS/NFSv4 ACL 的支援正在開發中,預期能在下一個 Veritas NetBackup 發行版本中提供。

解決方法 1:

對於 Solaris 10 06/06 發行版本,tarcpio 指令都可以正確處理具有 NFSv4 樣式 ACL 的 ZFS 檔案。

使用具有 -p 選項的 tar 指令或具有 -P 選項的 cpio 指令,將 ZFS 檔案寫入某一檔案中。然後,使用 Veritas NetBackup 來備份 tarcpio 歸檔。

解決方法 2:

若不使用 Veritas NetBackup,另一種替代方式是使用 ZFS sendreceive 指令來備份 ZFS 檔案。這些指令可以正確處理 ZFS 檔案的所有屬性。

Legato Networker 必須支援 ZFS/NFSv4 ACL (6349974)

Sun StorEdge Enterprise Backup Software 產品目前無法用來備份或復原 ZFS 檔案。

如果使用者嘗試備份或復原 ZFS 檔案,則會顯示下列錯誤訊息:


save: Unable to read ACL information for '/path': Operation not applicable

在即將推出的 Sun StorEdge EBS 7.3 Service Update 1 發行版本中預期可以提供對 ZFS/NFSv4 ACL 的支援。

解決方法:

  1. 使用 NFSv4 將 ZFS 檔案系統掛載至另一個系統上。

  2. 從掛載 NFSv4 的目錄備份或復原 ZFS 檔案。

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

如果您將 SUNWzfsg 套裝軟體從 Solaris 10 6/06 發行版本增加到執行 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 之前發行版本的系統中。

du 報告 RAID-Z 大小錯誤的資訊 (6288488)

對於 RAID-Z 虛擬裝置,下列指令報告過大的「已用空間」和「可用空間」大小資訊:

所報告的空間資訊包含用來儲存同位資料的已用空間。

發生程式錯誤時無法同步化檔案系統 (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 in the Solaris 10 Release?」

需要解決方案以使中斷的 scrubresilver 無須重新啟動 (2136811)

如果在資料 scrubresilver 作業正在執行的期間建立 ZFS 快照,則 scrubresilver 作業會從頭重新啟動。如果經常進行快照,則 scrubresilver 作業可能永遠無法完成。

解決方法:

請勿在 scrubresilver 作業執行期間進行快照。

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

將 NFSv4 伺服器從 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。

在小的磁碟片段上建立檔案系統可能會失敗 (6346510)

在下列情況中使用 newfs 指令建立 UFS 檔案系統可能會失敗:

造成此錯誤是因為需要大量的中介資料檔案系統。螢幕上會顯示以下警告訊息:


Warning: inode blocks/cyl group (295) >= data blocks (294) in last
     cylinder group. This implies 4712 sector(s) cannot be allocated.
/dev/rdsk/c0t0d0s6:     0 sectors in 0 cylinders of 48 tracks, 128 sectors
         0.0MB in 0 cyl groups (13 c/g, 39.00MB/g, 18624 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
#

解決方法:請以超級使用者身份執行下列任一解決方法:

檔案系統已滿的 NFSv4 用戶端中無法偵測到寫入錯誤 (6346204)

當 NFSv4 用戶端的檔案系統接近滿容量時,將無法正確處理伺服器傳回的錯誤碼。此用戶端會收到伺服器傳回的正確 (NFS4ERR_NOSPC) 錯誤碼。但用戶端卻無法將 (ENOSPC) 錯誤碼傳輸至應用程式。應用程式未經由 write()close()fsync() 等正常的系統函數接到錯誤通知。因此,應用程式持續寫入或修改資料的嘗試,會造成資料遺失或損毀。

下列錯誤訊息會記錄在 /var/adm/messages 中:


nfs: [ID 174370 kern.notice] NFS write error on host hostname







:
No space left on device.
nfs: [ID 942943 kern.notice] File: userid=uid, groupid=
gid
nfs: [ID 983240 kern.notice] User: userid=uid, groupid=
gid
nfs: [ID 702911 kern.notice] (file handle: 86007000 2000000 a000000 6000000
32362e48 a000000 2000000 5c8fa257)

解決方法:請勿在檔案系統接近滿容量的用戶端系統上執行工作。

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

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

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

使用 smosservice 指令來增加作業系統服務時導致磁碟空間不足訊息 (5073840)

如果您使用 smosservice 指令將作業系統服務增加到 UFS 檔案系統,會顯示磁碟可用空間不足的訊息。此錯誤僅出現在位於標示為 EFI 磁碟的 UFS 檔案系統上。

解決方法:請完成以下解決方法。

  1. 套用 SMI VTOC 磁碟標籤。

  2. 重新建立系統檔案。

  3. 重新執行 smosservice 指令。