2.2 开机自启动(包含linux自启动知识点)
4.2.1 free -m/-g 内存使用情况
4.2.2 df -h 文件系统空间占用等信息
4.2.3 du -h <dir> 查看某目录总体空间占用状态
4.2.4 fuser -v <mount_point> 查看正在访问指定文件系统的进程
4.2.5 swap 交互分区
4.2.6 fdisk -l 查看所有分区,包括未挂上的分配及usb设备
4.2.7 blkid <dir> 参考文件系统详细信息(格式、label、uuid等)
1.安装
NFS服务端安装:
sudo apt install nfs-kernel-server(UOS系统自带了,不需要安装)
NFS客户端安装:
sudo apt install nfs-common (UOS系统自带了,不需要安装)
2.服务端配置
1)创建共享目录 sudo mkdir -p /data/nfs
2)配置 /etc/exports (NFS挂载目录及权限由/etc/exports文件定义) vi /etc/exports
/data/nfs 10.140.1.*(rw,sync,no_root_squash,no_subtree_check)
【eg:网路段10.140.1.0到10.140.1.24网路段才可挂载且权限只读: /data/nfs 10.140.1.0/24(ro) 】
【eg:/home/share 192.168.102.15(rw,sync) *(ro) (配置说明: 对192.168.102.15赋予读写权限,其他机器仅有只读权限。)】
-
- /data/nfs 要共享的目录
- 10.140.1.* 可以挂载的ip,如果全部可挂载,可以直接写成 *
- rw 读写
- ro 只读
- sync 同步, 同时将数据写入到内存与硬盘中,保证不丢失数据
- async 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据请注意
- root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户 即 root用户的所有请求映射成如anonymous用户一样的权限(默认)
- no_root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员 即NFS 服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限
- all_squash 无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户 即 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
- no_all_squash 保留共享文件的UID和GID(默认)
- subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
- no_subtree_check 和上面相对,不检查父目录权限。
- secure NFS通过1024以下的安全TCP/IP端口发送
- insecure NFS通过1024以上的端口发送
- wdelay 如果多个用户要写入NFS目录,则归组写入(默认)
- no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
- hide 在NFS共享目录中不共享其子目录
- no_hide 共享NFS目录的子目录
- anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID
- anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID
检查配置是否有错: source /etc/exports
另 :统信系统我设置的 /data/nfs 10.140.1.37(rw,sync,no_root_squash,no_subtree_check) 使用source /etc/exports命令检测报错(10.140.1.* 就可以不报错):
后经重启后验证,虽然用 source /etc/exports 检测报错,但实际是生效的。
但使用 /data/nfs 10.140.1.0/37(rw,sync,no_root_squash,no_subtree_check) ,报错,重启时启动报错,是用不了这个的。
exportfs 是不是我们每次修改了配置文件都需要重启Debian NFS服务器服务呢? 这个时候我们就可以用exportfs命令重新扫描/etc/exports文件,来使改动立刻生效。
比如: # exportfs -au 卸载所有共享目录
# exportfs -rv 重新共享所有目录并输出详细信息
# man exportfs exportf 命令有软件包 nfs-kernel-server 提供,详细的 exportfs 命令说明请查看
3)启动NFS服务
sudo /etc/init.d/rpcbind restart
sudo /etc/init.d/nfs-kernel-server restart (启动nfs,如后面再修改/etc/exports,需重启NFS才生效)(两个命令哟 start、stop、)
查询是否启动 ps -ef|grep nfs
当重启服务器时,都需要重新启动NFS服务。故进行开机自启动:
vi /etc/rc.local
自启动知识点:https://www.cnblogs.com/fatt/p/4790561.html
如有防火墙,需固定端口,并防火墙开通此端口。
1) 固定mountd端口
nfs 和 portmapper两个服务是固定端口的,nfs为2049,portmapper为111
系统 RPC服务在 nfs服务启动时默认会为 mountd动态选取一个随机端口(32768--65535)来进行通讯,我们可以通过编辑/etc/services 文件为 mountd指定一个固定端口
NFS的守护进程:
rpc.nfsd: 它是基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器 默认
rpc.mountd: 它是RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端顺利通过rpc.nfsd登录NFS服务后,在使用NFS服务所提供的文凭前,还必须通过文件使用权限的验证。它会读取NFS的配置文件/etc/exports来对比客户端权限。
portmap: portmap的主要功能是进行端口映射工作。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,portmap会将所管理的与服务对应的端口提供给客户端,从而使客户可以通过该端口向服务器请求服务。
rpcinfo -p <host> 查看rcp进程
vi /etc/services 在末尾添加 <mountd 端口号/udp> <mountd 端口号/tcp>
2)防火墙配置
如果linux启动了防火墙,那么配置防火墙iptables文件即可。
如果是华为云或阿里云,则安全组开放 111、2049、60180的tcp和udp即可。
参考网址:https://segmentfault.com/a/1190000016597587
3.客户端配置
1)使用showmount 命令查看nfs服务器共享信息。输出格式为“共享的目录名称 允许使用客户端地址”。 showmount命令参数:
-
- -a :显示目前主机与客户端的 NFS 联机分享的状态
- -e :显示/etc/exports 所分享的目录数据
2)映射服务端ip sudo vi /etc/hosts
3)挂载
查看挂载情况 df -h
创建要挂载的文件夹 sudo mkdir -p /mnt/nfs/share
挂载:mount -n -o nolock nfs.sharedir:/data/nfs /mnt/nfs/share
检查:
4)解挂 umount /mnt/nfs/share
5)自动挂载
编辑fstab文件, 使系统每次启动时都能自动挂载$ sudo vi /etc/fstab
添加如下:nfs.sharedir:/data/nfs /mnt/nfs/share nfs4 defaults 0 0
# 要挂载的设备或伪文件系统 挂载点 文件系统类型 挂载选项 转储频率 自检次序
10.140.1.35:/data/nfs /mnt/nfs/share nfs4 defaults 0 0 10.140.1.35:/data/nfs 要挂载的伪文件系统 mnt/nfs/share 挂载点 nfs4 文件系统类型 defaults 挂载选项 第一个数字 转存频率 0(禁用)、1(每天转存) 、2(每隔一天转存)。(由于备份 ext2/ext3 文件系统的程序要用到。因此文件系统为ext2/ext3 的条目要设成‘1’,所有其他条目都为‘0’) 第二个数字 自检次序 0(不检查文件系统)、1(先检查)、2(检查) 。 (所有非Linux文件系统、可移动的和网络介质、虚拟文件系统都要设成‘0’; 由于根分区要先被挂载(接着检查),‘/’条目要设成‘1’; 而所有其他不可移动的及Linux文件系统的本地介质都要设成‘2’) (我在挂载nfs文件系统时忘记写 文件系统类型了,直接导致系统启动不起来了,所以此文件编辑注意些别错了)
4. 其他命令详解
4.1 挂载命令详解:mount [-fnrsvw] [-t vfstype] [-o options] device dir
【 eg:mount -o nolock -t nfs 192.168.1.24:/home/test /mnt/nfs (-t nfs 文件系统类型为nfs, -o nolock 文件锁)】
- device:指明要挂载的设备
- (1) 设备文件:例如/dev/sda5
- (2) 卷标:-L 'LABEL', 例如 -L 'MYDATA'
- (3) UUID, -U 'UUID':例如 -U '0c50523c-43f1-45e7-85c0-a126711d406e'
- (4) 伪文件系统名称:proc, sysfs, devtmpfs, configfs
- dir:挂载点
- (1)事先存在;建议使用空目录;
- (2)进程正在使用中的设备无法被卸载
- 常用命令选项:
- -t vsftype:指定要挂载的设备上的文件系统类型;通常不必指定。mount 会自动选择正确的类型。常用类型有光盘或光盘镜像:iso9660;DOS fat16文件系统:msdos;Windows 9x fat32文件系统:vfat;Windows NT ntfs文件系统:ntfs;Mount Windows文件网络共享:smbfs;UNIX(LINUX) 文件网络共享:nfs
- -r: readonly,只读挂载;
- -w: read and write, 读写挂载;
- -n: 不更新/etc/mtab;
- -a:自动挂载所有支持自动挂载的设备;(定义在了/etc/fstab文件中,且挂载选项中有“自动挂载”功能)
- -L 'LABEL': 以卷标指定挂载设备;
- -U 'UUID': 以UUID指定要挂载的设备;
- -B, --bind: 绑定目录到另一个目录上;
- -o options:(挂载文件系统的选项,主要用来描述设备或档案的挂接方式)
- (默认挂载选项:defaults:rw, suid, dev, exec, auto, nouser, and async)
- loop:用来把一个文件当成硬盘分区挂接上系统
- ro:只读
- rw:读写
- nolock 文件锁
- iocharset:指定访问文件系统所用字符集
- async:异步模式;
- sync:同步模式;
- atime/noatime:包含目录和文件;
- diratime/nodiratime:目录的访问时间戳
- auto/noauto:是否支持自动挂载
- exec/noexec:是否支持将文件系统上应用程序运行为进程
- dev/nodev:是否支持在此文件系统上使用设备文件;
- suid/nosuid:是否支持在此文件系统上使用特殊权限
- remount:重新挂载
- user/nouser:是否允许普通用户挂载此设备
- acl:启用此文件系统上的acl功能
- 注意:上述选项可多个同时使用,彼此使用逗号分隔;
注意:查看内核追踪到的已挂载的所有设备:cat /proc/mounts
-
- -m: 以MB为单位
- -g: 以GB为单位
-
- -h: human-readable
- -i: inodes instead of blocks
- -P: 以Posix兼容的格式输出
4.2.3 du 查看某目录总体空间占用状态 du [OPTION]... DIR
-
- -h: human-readable
- -s: summary
-
- fuser -v MOUNT_POINT
-
- fuser -km MOUNT_POINT 终止所有在正访问指定的文件系统的进程:慎用
4.2.5 swap 交换分区 (具体情况请查看此链接)
-
- swapon [OPTION]... [DEVICE] 启用挂载交换分区
- -a:激活所有的交换分区;
- -p PRIORITY:指定优先级;
- swapoff [OPTION]... [DEVICE] 禁用挂载交换分区
- swapon [OPTION]... [DEVICE] 启用挂载交换分区
4.2.6 fdisk -l 列出所有的分区,包括没有挂上的分区和usb设备 。fdisk dir(fdisk命令操作磁盘详解--添加、删除、转换分区等)
4.2.7 blkid 查看文件系统类型、LABEL、UUID等信息 (blkid 查看所有设备的信息, blkid /dev/vda4 查看/dev/vda4设备的信息)
1. 如挂载的是文件共享的,且服务端ip地址固定不变,则可用ip地址进行挂载(nfs.sharedir为我之前在hosts文件添加的映射10.140.1.35端口):
1)由于已经挂载上了,查看挂载信息 cat /etc/mtab (下图 nfs4为文件系统类型)
2)vi /etc/fstab 更改文件挂载配置文件/etc/fstab,改后即可
2. 如果需要挂载的是磁盘等,则最好不要用分区路径来挂载,具体可参考此链接。
参考网址:
NFS相关:
https://blog.csdn.net/daydayup654/article/details/78788310
https://baijiahao.baidu.com/s?id=1685378383477375934&wfr=spider&for=pc
linux开机自启动: