消费者联盟网站怎么做,免费发布产品的平台,网站建设方向,廊坊自助建站设计提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、systemd.mount是什么#xff1f;二、使用步骤1.增加mount文件2.测试mount文件 三、补充说明总结 前言
挂载磁盘方式我们都知道很多人喜欢在/etc/fstab里面… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 前言一、systemd.mount是什么二、使用步骤1.增加mount文件2.测试mount文件 三、补充说明总结 前言
挂载磁盘方式我们都知道很多人喜欢在/etc/fstab里面挂载磁盘使用起来可以说是很方便但有时候会出问题比如说挂载的磁盘故障了会导致操作系统进入紧急模式。如果说你的服务器放在很远的机房里那我奉劝你一定要慎重因为我遇到过这种问题。
使用systemd.mount哪怕出现问题也不会导致系统进入紧急模式。你只需进入系统之后排查问题即可。 一、systemd.mount是什么
A unit configuration file whose name ends in “.mount” encodes information about a file system mount point controlled and supervised by systemd.
简而言之就是一组以.mount结尾的文件描述的是关于磁盘和挂载点的信息由systemd负责管理。
二、使用步骤
systemd是系统自带的不需要额外安装软件。
1.增加mount文件
保存在/lib/systemd/system/目录下即可需要sudo权限才能存放。这里举一个例子如果我的磁盘是/dev/sda1挂载点是/mnt/mount1那么按照下面写就行了
sudo vim /lib/systemd/system/mnt-mount1.mount注意文件名不是乱写的如果你的挂载点是/mnt/mount1那就写成mnt-mount1.mount否则无法正常挂载
[Unit]
Description Mount sda1 disk[Mount]
What /dev/sda1
Where /mnt/mount1
Type ext4
Options defaults[Install]
WantedBy multi-user.target建议不要直接使用/dev/sda1这样的字眼最好使用UUID挂载因为每次内核启动/sda*的顺序不是固定的。
[Unit]
Description Mount sda1 disk[Mount]
What UUID磁盘的UIID通过sudo blkid确认必须是格式化后的磁盘才有UUID
Where /mnt/mount1
Type ext4
Options defaults[Install]
WantedBy multi-user.target其中 [Unit] 必写的条目和你写.service文件一样包含了比如Before、After等选项。详细移步systemd.unit [Mount] 必写的条目所有挂载条目都汇总在这个下面 What要挂载的磁盘 Where挂载点一般是文件夹 Type文件系统类型这里是ext4是什么就写什么比如ntfscifs等 Options就是挂载参数如果你不太了解或者没有特殊需求就填defaults类似你在/etc/fstab里写的一样
[Install]分配到哪个target下面也是必须写的不能省略。
除此之外还有其他参数可选
SloppyOptions值是布尔类型上面的Options条目里写的参数容忍度比较高哪怕是不支持的参数也不会导致失败顶多不起效果。和mount命令的-s选项一个意思默认是off即参数必须对否则挂载失败。这里建议不要改动因为万一阴差阳错弄了一个不需要的参数起到反作用除非你确实需要。
LazyUnmount值是布尔类型在执行umount操作时将文件系统和文件系统层次结构分离同时清除所有的对文件系统的引用如果这些引用没被占用的话。和mount命令的-l参数是一个意思默认是是off。
ReadWriteOnly值是布尔类型如果是false的话指定被挂载为rwread-write的文件系统如果失败了就会尝试挂载为roread-only。如果为true的话定被挂载为rwread-write的文件系统如果失败了就会立即返回失败不会考虑挂载为ro和mount的-w命令是一个意思默认值是off。
ForceUnmount值是布尔类型如果为true的话当执行umount指令的时候会立即强制umount。举个例子如果你挂在了NFS远程的服务器不响应了单单执行umount你是不能umount的只有强制umount才行。和mount的参数-f是一个意思默认是off。
DirectoryMode值是布尔类型如果你要挂载的文件夹不存在就会自动创建一个并给与0755权限如果不打开这个功能就会失败。
TimeoutSec顾名思义挂载超时时间单位是秒如果等待了这个时间还没有挂载成功所有和本次挂载相关的命令都会被强制执行SIGTERM然后再下一个TimeoutSec对它们执行SIGKILL。如果填0就是一直等待结束可以填5min 20s这样的格式。
注关于Options不同的文件系统参数是不一样的你可以到官方查一下或者直接用defaults。
2.测试mount文件
测试起来也简单
如果你修改了systemd的配置文件需要先加载配置
sudo systemctl daemon-reload挂载
sudo systemctl start mnt-mount1.mount卸载
sudo systemctl stop mnt-mount1.mount开机启动
sudo systemctl enable mnt-mount1.mount和.service的使用差别不大这里不赘述了。
三、补充说明
关于Before和After刚才没说哪怕你啥也不写感觉好像啥也没写其实不是这样因为系统会给你默认添加一些值。比如
Beforeumount.target remote-fs.target multi-user.target
Afternetwork-online.target -.mount network.target systemd-journald.socket system.slice remote-fs-pre.target
上面描述的基本是关于本地文件系统的加载还有远程文件系统的加载以后再说。 总结
1、写在/etc/fstab里面的可以配置开机自检虽然开机自检很慢。配在mount里的没看到貌似是没有。 2、写在/etc/fstab里的条目一旦出问题会导致系统进入紧急模式如果是无人值守的就糟糕了所以孰优孰劣请自行体验。