如何在archlinux啟動時掛載aufs文件系統?
我想使用 aufs 來組合幾個磁碟。我可以使用命令行中的 mount 命令掛載 aufs 文件系統。
但是,當嘗試通過 fstab 條目安裝它時,它會失敗。Google告訴我 fstab 沒有按指定的順序掛載文件系統,從而產生了這個問題。我還找到了在 rc.local 中添加 mount 命令的建議,以便在 fstab 之後掛載 aufs。
我正在使用使用 systemd 的 archlinux,那麼如何在 systemd 啟動時執行 mount 命令?
Systemd 原生支持掛載 (
man systemd.mount
)。實際上 systemd 讀取/etc/fstab
,使用它來生成掛載單元,並掛載文件系統本身。除了依賴
fstab
,還可以手動創建安裝單元。這就是處理系統掛載(如/dev
、/sys
、/proc
等)的方式(/usr/lib/systemd/system/*.mount
)。此方法允許您使用 systemd 依賴項來確保以正確的順序安裝事物。systemd 掛載單元文件必須以它們控制的掛載點命名(
man systemd.unit
)。例如,我創建了一個單元文件來將我的 USB 備份驅動器掛載到/mnt/backup
. 按照命名約定,我創建了/etc/systemd/system/mnt-backup.mount
,具有以下內容:[Unit] Description = USB backup disk [Mount] What = LABEL=david-usb-backup Where = /mnt/backup Type = ext4 [Install] WantedBy = multi-user.target
然後我執行
systemctl daemon-reload
systemd 來載入該單元。我可以執行systemctl start mnt-backup.mount
來安裝磁碟,和/或systemctl enable mnt-backup.mount
讓它在啟動時啟動。對於依賴項
Requires = some-other-mnt-point.mount
,請在該[Unit]
部分下添加。或者,您可以使用BindTo
而不是Requires
; 如果其中一個依賴項消失,這將導致它被解除安裝。但是Requires
不影響磁碟的安裝順序。因此,要確保在 aufs 之前安裝磁碟,請使用After
.編輯:為了擴展 and 的使用
Requires
,After
單元部分可能如下所示:[Unit] Description = USB backup disk Requires = mnt-data01.mount Requires = mnt-data02.mount Requires = mnt-data03.mount After = mnt-data01.mount After = mnt-data02.mount After = mnt-data03.mount
以為我會為像我這樣的其他人發布分步說明。感謝 David Baggerman 幫助我到達這裡。
我創建了
/etc/systemd/system/mnt-aufs.mount
,內容如下:[Unit] Description = AUFS disk Requires = mnt-data01.mount Requires = mnt-data02.mount Requires = mnt-data03.mount After = mnt-data01.mount After = mnt-data02.mount After = mnt-data03.mount [Mount] What = none Where = /mnt/aufs Type = aufs Options = br:/mnt/data01/=rw:/mnt/data02/=rw:/mnt/data03/=rw,sum,create=mfs [Install] WantedBy = multi-user.target
然後我執行
systemctl daemon-reload
systemd 來載入該單元。執行systemctl start mnt-aufs.mount
以安裝磁碟,和/或systemctl enable mnt-aufs.mount
讓它在引導時啟動。這相當於將以下內容複製粘貼到
/etc/rc.local
初始化腳本,並且會容易得多。我想知道為什麼 systemd 沒有等效文件。mount -t aufs -o br:/mnt/disk01=rw:/mnt/disk02=rw: /mnt/disk03=rw,sum,create=mfs none /mnt/aufs