影視網(wǎng)站怎么做原創(chuàng)百度推廣優(yōu)化排名
提示:文章寫(xiě)完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔
文章目錄
- 前言
- 一、systemd.mount是什么?
- 二、使用步驟
- 1.增加mount文件
- 2.測(cè)試mount文件
- 三、補(bǔ)充說(shuō)明
- 總結(jié)
前言
掛載磁盤(pán)方式我們都知道很多人喜歡在/etc/fstab里面掛載磁盤(pán),使用起來(lái)可以說(shuō)是很方便,但有時(shí)候會(huì)出問(wèn)題,比如說(shuō)掛載的磁盤(pán)故障了會(huì)導(dǎo)致操作系統(tǒng)進(jìn)入緊急模式。如果說(shuō)你的服務(wù)器放在很遠(yuǎn)的機(jī)房里那我奉勸你一定要慎重,因?yàn)槲矣龅竭^(guò)這種問(wèn)題。
使用systemd.mount哪怕出現(xiàn)問(wèn)題也不會(huì)導(dǎo)致系統(tǒng)進(jìn)入緊急模式。你只需進(jìn)入系統(tǒng)之后排查問(wèn)題即可。
一、systemd.mount是什么?
A unit configuration file whose name ends in “.mount” encodes information about a file system mount point controlled and supervised by systemd.
簡(jiǎn)而言之就是一組以.mount結(jié)尾的文件,描述的是關(guān)于磁盤(pán)和掛載點(diǎn)的信息,由systemd負(fù)責(zé)管理。
二、使用步驟
systemd是系統(tǒng)自帶的,不需要額外安裝軟件。
1.增加mount文件
保存在/lib/systemd/system/目錄下即可,需要sudo權(quán)限才能存放。這里舉一個(gè)例子:如果我的磁盤(pán)是/dev/sda1,掛載點(diǎn)是/mnt/mount1,那么按照下面寫(xiě)就行了:
sudo vim /lib/systemd/system/mnt-mount1.mount
注意,文件名不是亂寫(xiě)的,如果你的掛載點(diǎn)是/mnt/mount1那就寫(xiě)成mnt-mount1.mount,否則無(wú)法正常掛載!
[Unit]
Description = Mount sda1 disk[Mount]
What = /dev/sda1
Where = /mnt/mount1
Type = ext4
Options = defaults[Install]
WantedBy = multi-user.target
建議不要直接使用/dev/sda1這樣的字眼,最好使用UUID掛載,因?yàn)槊看蝺?nèi)核啟動(dòng)/sda*的順序不是固定的。
[Unit]
Description = Mount sda1 disk[Mount]
What = UUID=<磁盤(pán)的UIID,通過(guò)sudo blkid確認(rèn),必須是格式化后的磁盤(pán)才有UUID>
Where = /mnt/mount1
Type = ext4
Options = defaults[Install]
WantedBy = multi-user.target
其中:
[Unit]:
必寫(xiě)
的條目,和你寫(xiě).service文件一樣包含了比如Before、After等選項(xiàng)。詳細(xì)移步:systemd.unit
[Mount]:
必寫(xiě)
的條目,所有掛載條目都匯總在這個(gè)下面
What:
要掛載的磁盤(pán)
Where:
掛載點(diǎn),一般是文件夾
Type:
文件系統(tǒng)類(lèi)型,這里是ext4,是什么就寫(xiě)什么比如ntfs,cifs等
Options:
就是掛載參數(shù),如果你不太了解或者沒(méi)有特殊需求就填defaults類(lèi)似你在/etc/fstab里寫(xiě)的一樣
[Install]:
分配到哪個(gè)target下面,也是必須寫(xiě)
的,不能省略。
除此之外還有其他參數(shù)可選:
SloppyOptions:
值是布爾類(lèi)型,上面的Options條目里寫(xiě)的參數(shù)容忍度比較高,哪怕是不支持的參數(shù)也不會(huì)導(dǎo)致失敗,頂多不起效果。和mount命令的-s選項(xiàng)一個(gè)意思,默認(rèn)是off,即參數(shù)必須對(duì)否則掛載失敗。這里建議不要改動(dòng),因?yàn)槿f(wàn)一陰差陽(yáng)錯(cuò)弄了一個(gè)不需要的參數(shù),起到反作用,除非你確實(shí)需要。
LazyUnmount:
值是布爾類(lèi)型,在執(zhí)行umount操作時(shí)將文件系統(tǒng)和文件系統(tǒng)層次結(jié)構(gòu)分離,同時(shí)清除所有的對(duì)文件系統(tǒng)的引用,如果這些引用沒(méi)被占用的話。和mount命令的-l參數(shù)是一個(gè)意思,默認(rèn)是是off。
ReadWriteOnly:
值是布爾類(lèi)型,如果是false的話指定被掛載為rw(read-write)的文件系統(tǒng)如果失敗了就會(huì)嘗試掛載為ro(read-only)。如果為true的話,定被掛載為rw(read-write)的文件系統(tǒng)如果失敗了就會(huì)立即返回失敗不會(huì)考慮掛載為ro,和mount的-w命令是一個(gè)意思,默認(rèn)值是off。
ForceUnmount:
值是布爾類(lèi)型,如果為true的話當(dāng)執(zhí)行umount指令的時(shí)候會(huì)立即強(qiáng)制umount。舉個(gè)例子,如果你掛在了NFS,遠(yuǎn)程的服務(wù)器不響應(yīng)了,單單執(zhí)行umount你是不能umount的,只有強(qiáng)制umount才行。和mount的參數(shù)-f是一個(gè)意思,默認(rèn)是off。
DirectoryMode:
值是布爾類(lèi)型,如果你要掛載的文件夾不存在就會(huì)自動(dòng)創(chuàng)建一個(gè)并給與0755權(quán)限,如果不打開(kāi)這個(gè)功能就會(huì)失敗。
TimeoutSec:
顧名思義,掛載超時(shí)時(shí)間(單位是秒),如果等待了這個(gè)時(shí)間還沒(méi)有掛載成功,所有和本次掛載相關(guān)的命令都會(huì)被強(qiáng)制執(zhí)行SIGTERM,然后再下一個(gè)TimeoutSec對(duì)它們執(zhí)行SIGKILL。如果填0就是一直等待結(jié)束,可以填"5min 20s"這樣的格式。
注:關(guān)于Options,不同的文件系統(tǒng)參數(shù)是不一樣的,你可以到官方查一下,或者直接用defaults。
2.測(cè)試mount文件
測(cè)試起來(lái)也簡(jiǎn)單:
如果你修改了systemd的配置文件需要先加載配置:
sudo systemctl daemon-reload
掛載:
sudo systemctl start mnt-mount1.mount
卸載:
sudo systemctl stop mnt-mount1.mount
開(kāi)機(jī)啟動(dòng):
sudo systemctl enable mnt-mount1.mount
和.service的使用差別不大,這里不贅述了。
三、補(bǔ)充說(shuō)明
關(guān)于Before和After剛才沒(méi)說(shuō),哪怕你啥也不寫(xiě),感覺(jué)好像啥也沒(méi)寫(xiě),其實(shí)不是這樣,因?yàn)橄到y(tǒng)會(huì)給你默認(rèn)添加一些值。比如:
Before=
umount.target remote-fs.target multi-user.target
After=
network-online.target -.mount network.target systemd-journald.socket system.slice remote-fs-pre.target
上面描述的基本是關(guān)于本地文件系統(tǒng)的加載,還有遠(yuǎn)程文件系統(tǒng)的加載,以后再說(shuō)。
總結(jié)
1、寫(xiě)在/etc/fstab里面的可以配置開(kāi)機(jī)自檢,雖然開(kāi)機(jī)自檢很慢。配在mount里的沒(méi)看到,貌似是沒(méi)有。
2、寫(xiě)在/etc/fstab里的條目一旦出問(wèn)題會(huì)導(dǎo)致系統(tǒng)進(jìn)入緊急模式,如果是無(wú)人值守的就糟糕了,所以孰優(yōu)孰劣請(qǐng)自行體驗(yàn)。