mount用于挂载设备:
- 挂载分区:
mount /dev/sdb1 /data
; - 文件夹间:
mount --bind /ori /data
;data文件将被ori中遮盖。
挂载mount
mount用于挂载Linux系统下的分区或文件:mount [-fv] [-t vfstype] [-o options] device {mounted-dir}
- f:并不执行实际挂上的动作,而是模拟整个挂上的过程(常用于排错);一般与一起用;
- v:显示较详细信息;
- vfstype指定文件系统类型(不指定时,系统会自动获取正确的类型)
- 光盘或光盘镜像:iso9660
- DOS fat16文件系统:msdos
- Windows 9x fat32文件系统:vfat
- Windows NT ntfs文件系统:ntfs
- Mount Windows文件网络共享:smbfs
- UNIX(LINUX) 文件网络共享:nfs(一般要指定)
- options:挂载方式:
- loop:用来把一个文件当成硬盘分区挂接上系统
- ro:采用只读方式挂接设备
- rw:采用读写方式挂接设备
- async:非同步模式;
- sync:在同步模式下执行;
- defaults: 使用预设的选项
rw, suid, dev, exec, auto, nouser, and async
- remount:将已挂载的设备重新用不同的方式挂载;例如原先只读的,重新挂载为读写模式。
mount -a [-fFv] [-t vfstype]
:挂载/etc/fstab文件中所有条目。
- F:为每一个mount动作产生一个进程负责执行;
目录间挂载
通过--bind
可挂载目录(把data目录挂载到mounted下);mount --bind {data-dir} {mounted-dir}
通过修改/etc/fstab
可实现开机自动挂载(类型为none,参数中添加bind):{data-dir} {mounted-dir} none defaults,bind 0 0
卸载与fuser
通过umount卸载:umount {mounted-dir}
当显示忙时,可通过fuser查看占用进程:
fuser option {mounted-dir}
# 查看使用80端口的程序
fuser -v -n tcp 80
# 查看占用进程
fuser -m -v /dev/sdb1
-
-k
:杀掉访问文件的进程。如果没有指定-signal就会发送SIGKILL信号。 -
-i
:杀掉进程之前询问用户,如果没有-k这个选项会被忽略。 -
-l
:列出所有已知的信号名称。 -
-m
:name 指定一个挂载文件系统上的文件或者被挂载的块设备(名称name)。这样所有访问这个文件或者文件系统的进程都会被列出来。如果指定的是一个目录会自动转换成"name/",并使用所有挂载在那个目录下面的文件系统。 -
-n
:space 指定一个不同的命名空间(space).这里支持不同的空间文件(文件名,此处默认)、tcp(本地tcp端口)、udp(本地udp端口)。对于端口, 可以指定端口号或者名称,如果不会引起歧义那么可以使用简单表示的形式,例如:name/space (即形如:80/tcp之类的表示)。 -
-u
:在每个PID后面添加进程拥有者的用户名称。 -
-v
:详细模式。输出似ps命令的输出,包含PID,USER,COMMAND等许多域,如果是内核访问的那么PID为kernel. -V 输出版本号。
fstab
/etc/fstab
存储着挂载信息;包含了如下字段,通过空格或 Tab 分隔:
<file system> <dir> <type> <options> <dump> <pass>
-
<file systems>
:要挂载的分区或存储设备. -
<dir>
:挂载位置。 -
<type>
:要挂载设备或是分区的文件系统类型,支持许多种不同的文件系统:ext2,ext3,ext4,reiserfs,xfs,jfs,smbfs,iso9660,vfat,ntfs,swap及auto。设置成auto类型,mount命令会猜测使用的文件系统类型。 -
<options>
:挂载时使用的参数,参见mount部分说明。 -
<dump>
:dump工具通过它决定何时作备份(允许的数字是0和1):0 表示忽略, 1 则进行备份。 -
<pass>
:fsck决定需要检查的文件系统的检查顺序(允许的数字是0, 1, 和2):根目录应当获得最高的优先权1;其它所有需要被检查的设备设置为2;0表示不会被fsck检查。
把sdb1盘挂载到bigdisk下;并把其下的data挂载到/data目录
/dev/sdb1 /bigdisk ext4 defaults 0 0
/bigdisk/data /data none defaults,bind 0 0
##NFS
NFS用于通过网络分享文件/文件夹。
NFS Server
安装服务端:apt install nfs-kernel-server
配置
Server共享文件的配置在/etc/exports
文件中;
# <dir> [可访问终端 (选项)] [可访问终端2(选项)]
/home *.hostname.com(rw,sync,no_subtree_check)
/data *(rw,async,no_subtree_check,no_root_squash)
- 若使用fsid,则必须不同,否则只有第一条会生效;
- 对于nfs格式,必须使用fsid;
可访问终端用于指定哪些机器可访问共享目录:
分类 | 说明 |
---|---|
指定IP地址 | 192.168.1.1 |
指定网段 |
192.168.0.0/24 192.168.0.0/255.255.255.0
|
指定域名 | study.example.com |
指定域名段 | *.example.com |
配置选项(选项间通过逗号分割):
参数 | 描述 |
---|---|
ro/rw | 设置输出目录只读/读写 |
all_squash | 客户端访问账号,均映射为NFS服务服务端匿名用户 |
root_squash | 客户端使用root账号访问,将映射为匿名用户 |
no_root_squash | 客户端使用root账号访问,则对该共享目录具有root权限 |
anonuid=xxx | 为匿名用户指定本地用户ID(UID=xxx); |
anongid=xxx | 为匿名用户指定本地用户组ID(GID=xxx); |
secure | 限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置); |
insecure | 允许客户端从大于1024的tcp/ip端口连接服务器; |
sync | 将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性; |
async | 将数据先保存在内存缓冲区中,必要时才写入磁盘; |
wdelay | 检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置); |
no_wdelay | 若有写操作则立即执行,应与sync配合使用; |
subtree | 若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置); |
no_subtree | 即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率; |
命令
修改配置后通过exportfs -arv
命令生效:
参数:
-
-a
: 全部挂载或卸载 /etc/exports中的内容 -
-r
: 重新读取/etc/exports 中的信息 ,并同步更新/etc/exports、/var/lib/nfs/xtab -
-u
: 卸载单一目录(和-a一起使用为卸载所有/etc/exports文件中的目录) -
-v
: 在export的时候,将详细的信息输出到屏幕上。
查看命令:
systemctl daemon-reload
systemctl restart nfs-server
# 查询本机nfs共享目录情况
showmount -e localhost
# 查询本机共享目录连接情况
showmount -a localhost
其他配置文件:
-
/var/lib/nfs/rmtab
中对应客户端mount的条目 -
/var/lib/nfs/etab
记录中/etc/exports解析后的结果
NFS client
安装客户端:apt install nfs-common
文章来源:https://www.toymoban.com/news/detail-772726.html
安装好客户端后通过mount命令加载:文章来源地址https://www.toymoban.com/news/detail-772726.html
mount -t nfs 192.168.1.10:/home /mount_home/
mount -t nfs -o nfsvers=3,sec=sys 192.168.1.10:/data /mount_data
到了这里,关于[linux]mount与nfs挂载简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!