Zfs

擺脫 ZFS 中的預設/根數據集

  • August 5, 2021

我是 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 可以解決問題,但我發現有更好的選擇:

  1. 將掛載點設置為無: # zfs set mountpoint=none tank
  2. 將 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

引用自:https://unix.stackexchange.com/questions/663264