Zfs
擺脫 ZFS 中的預設/根數據集
我是 ZFS 的新手,我想知道它是如何工作的。我使用多個名為 tank 的磁碟創建了一個池。此外,似乎創建了一個以池命名的預設數據集。儘管如此,我不需要/想要這個預設數據集,但我只想使用在預設數據集上創建的其他數據集:
# zpool status pool: tank state: ONLINE config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 scsi-35000c5008576aa6b ONLINE 0 0 0 scsi-35000c50057cf7473 ONLINE 0 0 0 scsi-35000c50085f5f207 ONLINE 0 0 0 scsi-35000c50085c22ce3 ONLINE 0 0 0 scsi-35000c50085f5eea3 ONLINE 0 0 0 scsi-35000c5008521b903 ONLINE 0 0 0 scsi-35000c50085c13f57 ONLINE 0 0 0 scsi-35000c50057cf606f ONLINE 0 0 0 scsi-35000c50084989893 ONLINE 0 0 0 scsi-35000c5006367866f ONLINE 0 0 0 scsi-35000c50084269b7b ONLINE 0 0 0 spares scsi-35000c5008576619b AVAIL errors: No known data errors # zfs list NAME USED AVAIL REFER MOUNTPOINT tank 24.8G 17.5T 39.9K /tank tank/baculafull 24.8G 17.5T 24.8G legacy tank/baculainc 38.1K 17.5T 38.1K /srv/bacula/baculainc tank/idera 38.1K 17.5T 38.1K /srv/idera/
如您所見, tank 數據集自動掛載在 /tank 上。由於我不會在 /tank 中寫任何東西,我想知道是否可以防止自動掛載根數據集。我是否應該像使用 tank/baculafull 數據集一樣將掛載點更改為舊版?有一個更好的方法嗎?
問候,
是的,在這裡使用 legacy 安裝根數據集可能是一個不錯的選擇。另請參閱此答案。
基本上,使用“legacy”掛載意味著 ZFS 不會自動掛載,但您可以在之後掛載(使用 fstab 或手動),或者選擇不掛載。
雖然將根數據集掛載點設置為 legacy 可以解決問題,但我發現有更好的選擇:
- 將掛載點設置為無:
# zfs set mountpoint=none tank
- 將 canmount 設置為關閉:
# zfs set canmount=off tank
使用第二個選項,您甚至可以將掛載點設置為任何值,以便其他數據集可以繼承它,儘管不會掛載數據庫。
檢查此連結:
https://docs.oracle.com/cd/E19253-01/819-5461/gaztn/index.html https://docs.oracle.com/cd/E19253-01/819-5461/gdrcf/index.html