Systemd为Linux管理员提供处理挂载和自动挂载文件系统的新方式。如果你习惯/etc/fstab以及autofs挂载文件,现在也许要学一些新的方法。在RHEL7和其他Linux 版本中引进的Linux systemd,不仅可以关闭与开启服务,在安装好RHEL7服务器之后,你也许会对/etc/fstab这个目录感兴趣,这个文件用于管理整个文件系统挂载,刚安装时它几乎是空的,在文件中有系统挂载文件。 在systemd中,主要是加载东西的文件。
你需要告诉systemd要挂载的文件,创建挂载单元。输入find / -name “*.mount命令就能够发现早就存在于挂载文件系统中的文……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
Systemd为Linux管理员提供处理挂载和自动挂载文件系统的新方式。如果你习惯/etc/fstab以及autofs挂载文件,现在也许要学一些新的方法。
在RHEL7和其他Linux 版本中引进的Linux systemd,不仅可以关闭与开启服务,在安装好RHEL7服务器之后,你也许会对/etc/fstab这个目录感兴趣,这个文件用于管理整个文件系统挂载,刚安装时它几乎是空的,在文件中有系统挂载文件。
在systemd中,主要是加载东西的文件。你需要告诉systemd要挂载的文件,创建挂载单元。输入find / -name "*.mount命令就能够发现早就存在于挂载文件系统中的文件。以下这些代码都是需要学习的例子,它们与system file /usr/lib/systemd/system/tmp.mount的功能是一样的。
这些例子介绍了怎样使用systemd方式挂载Linux文件系统。
[root@localhost etc]# cat /usr/lib/systemd/system/tmp.mount
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
[Unit]
Description=Temporary Directory
Documentation=man:hier(7)
Documentation=http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems
DefaultDependencies=no
Conflicts=umount.target
Before=local-fs.target umount.target
[Mount]
What=tmpfs
Where=/tmp
Type=tmpfs
Options=mode=1777,strictatime
# tmp.mount is statically enabled in upstream. In RHEL tmp-on-tmpfs is not used
# by default, but there are cases where it is necessary (anaconda, live images,
# read-only root). Make 'systemctl enable tmp.mount' work:
[Install]
WantedBy=local-fs.target
a.mount目标的结构相对容易理解。重要的信息都在文件中的[mount]部分,与旧版的Linux分布式文件系统挂载方法相比,需要考虑到:挂载什么、在哪里挂载、使用什么类型。这个文件也指定了下载哪一个系统目标。为了日后备查单元文件,为单元文件做一个简短的描述是必要的如果你自己创立加载单元文件你需要将mount 文件放到directory /etc/systemd/system目录中。
列表2:为了练习挂载文件,当logical volume /dev/vgdisk/lvtest正在directory /test上挂载时,单元目录看起来是这样的。
[Unit]
Description = test mount
[Mount]
What = /dev/vgdisk/lvtest
Where = /test
Type = ext4
[Install]
WantedBy = multi-user.target
使用systemd挂载文件系统要求管理员启动单元文件,然后通过systemctl start test.mount后面加上systemctl enable test.mount命令使其自动执行。如果你在这时重新启动了计算机,挂载就会自动回滚,因为你已经告诉了systemd在multi-user.target处启动。输入mount | grep test可以检查测试文件同时验证逻辑卷是否挂载到了/test目录下。
再见autofs,你好automount
在新版本:Linux中,Systemd用于控制自动挂载文件系统。自动挂载即当某一目录被访问时系统自动挂载该目录。早期这个任务是由autofs服务来完成的。
在systemd中,你可以创建特定的为你自动执行任务的文件。这个文件需要将名字映射到自动挂载目录。所以,如果/test目录需要自动挂载,你只需要将单元文件的名字命名为test.automount。每一个自动挂载单元文件都需要有一个相匹配的单元文件。自动挂载单元文件包含[Automount]部分,有两个选项:路径和目录模式。路径即自动挂载文件系统的绝对路径名。目录模式指定了分配给自动挂载目录的许可,默认为0755。
以test.mount文件作为例子。假设这个文件不需要时刻都挂载,但是当它被访问时,我们可以通过输入systemctl stop test.mount后面加上systemctl disable test.mount来允许或者阻止该目录被挂载。下一步是,创建一个文件/etc/systemd/system/test.automount然后在文件中填写如下内容:
[Unit]
Description = test automount
[Automount]
Where = /test
[Install]
WantedBy = multi-user.target
现在使用systemctl start test.automount 以及 systemctl enable test.automountM命令告诉systemd,当该文件被访问时允许加载这个文件单元。在进入/test目录之前输入mount | grep test测试systemd是否工作了。在访问/test目录之后,同样输入该命令。当显示systemd-1时则证明/test文件已经被挂载;在进入文件系统后你将会看到/test文件。
通过运行以下测试验证自动挂载。
[root@localhost system]# mount | grep test
systemd-1 on /test type autofs (rw,relatime,fd=29,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
[root@localhost system]# cd /test
[root@localhost test]# mount | grep test
systemd-1 on /test type autofs (rw,relatime,fd=29,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
/dev/mapper/vgdisk-lvtest on /test type ext4 (rw,relatime,seclabel,data=ordered)
如果你想要避免使用这种新的方式挂载与自动挂载文件系统,Linux systemd的向下兼容版本中包含了旧有的方法。然而,要想真正了解你的服务器,你需要花点时间去研究一下Linux版本的systemd和一些其他的改变。
相关推荐
-
托管OpenStack私有云能够获得支持or单打独斗?
OpenStack私有云托管作为一种服务可以简化企业的部署和运营,并强调了云计算的优势,而非Linux的优化……
-
RHEL 6.8正式发布:带来新的归档和VPN工具
Red Hat Enterprise Linux 6.8正式发布,除了安全与稳定方面的更新,更是增加了本地备份归档工具。
-
从零开始构建属于自己的Linux发行版
当你从头开始构建Linux,就可以充分和完整地了解Linux平台。Linux管理员在IT界内更神秘,因为他比其他任何IT专业人员都更了解计算机内部工作。
-
使用Red Hat或Debian包管理器简化Linux管理
Linux软件包管理使用的软件库,它提供了软件包的安装源。Red Hat和Debian的软件包管理器功能类似,但结构上的差异将影响Linux管理。