思想:
如何做事超出别人的满意度?
1、提前准备,提前试讲(正式最近的模拟讲课),给别人感觉,不经意的。
2、牛逼(提前准备 提前5年准备的)。
3、给自己设定150%目标?
人能有成就和拿高薪的前提,有三个维度:
实践===》总结==》应用于实践===》总结(形成了你的思维理论)
思维理论===》思考人和事===》指导你的行为。
勤奋努力,善于总结 ————老男孩老师逆袭8个字
人能有成就和拿高薪的前提,有三个维度:
1)学历:社会分层利器
2)商数:3Q多元智慧理论
3)思维:思想思维理论*****
小胜靠智,大胜靠德。哲学里星星
天时、地利、人和,其实就是时空角理论,古人几千年就已经有了
只不过老男孩老师把他转给你们。
学一门技能可以解决10个问题;
持续学习,持续掌握最新的核心技能。
学一个方法可以解决100个问题;
学习一个理论可以解决1000个问题;
一条哲学可以解决所有的问题;
人类思维层次四个维度:
技能
方法
理论:放置四海皆准,
时间:过去、现在、未来都适合。
空间:国内、国外都适合。
角度:你自己、同事、老板、追女朋友、找工作、对待下属都适合。
是不是打破了时空角理论了?
当然没有,因为:人品、态度、能力、价值理论,是对人才更有有意义。
哲学:
万事万物的运行规律,作为人何为正确?
追女朋友、找工作,要有正确的价值观。
做正确的事情。
笔记:
1、为什么fstab无法实现nfs挂载?
回顾:开机启动流程:
1、磁盘先启动/etc/fstab
2、防火墙在前。
3、网卡
2、NFS网络文件系统,通过网络挂载,网络没起如何挂载?
又想在fstab里实现挂载、就用一个服务,延迟启动。
[root@nfs01 /data1]# systemctl start remote-fs.target
[root@nfs01 /data1]# systemctl enable remote-fs.target
Created symlink from /etc/systemd/system/multi-user.target.wants/remote-fs.target to /usr/lib/systemd/system/remote-fs.target.
[root@nfs01 /data1]# systemctl status remote-fs.target
● remote-fs.target - Remote File Systems
Loaded: loaded (/usr/lib/systemd/system/remote-fs.target; enabled; vendor preset: enabled)
Active: active since 四 2019-04-18 10:17:57 CST; 18s ago
Docs: man:systemd.special(7)
4月 18 10:17:57 nfs01 systemd[1]: Reached target Remote File Systems.
C6:netfs服务
C7:remote-fs.target
3、权限
参数 | 作用 |
---|---|
rw | 可读写 read write |
ro | 只读 read only |
sync | 写到磁盘才算完成,安全 慢 |
async | 异步写到远程缓冲区,快 不安全 |
all_squash | 不管客户端什么用户,到服务端都是nfsnobody |
- | -anonuid=匿名用户的UID |
- | -anongid=匿名用户的GID |
[root@nfs01 ~]# cat /etc/exports
#oldboy shared dir at time
#/data 172.16.1.0/24(rw,sync) 10.0.0.0/24(ro)
/data 172.16.1.0/24(rw,sync)
/data1 10.0.0.0/24(ro)
[root@nfs01 ~]# cat /var/lib/nfs/etab
/data1 10.0.0.0/24(ro,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,ro,secure,root_squash,no_all_squash)
/data 172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,secure,root_squash,no_all_squash)
更改默认NFS默认用户
项目实践2:
NFS共享的匿名用户用www,使得客户端上传的图片都是www用户,而不是匿名的nfsnobody。
web01 backup客户端实现挂载到nfs
NFS下面共享/backup ,允许web01 backup客户端(/backup)可读写.
web01上传图片,backup上可以删除web01上传的图片。
NFS下面共享/data1,允许 web01 backup客户端10网段只读(data1)
实现开机自动挂载
1)nfs01服务端NFS、以及所有客户端:
[root@nfs01 ~]# useradd -u 1111 www
[root@nfs01 ~]# id www
uid=1111(www) gid=1111(www) 组=1111(www)
2)服务端NFS特殊配置
[root@nfs01 ~]# tail -2 /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=1111,anongid=1111)
/data1 10.0.0.0/24(ro)
[root@nfs01 ~]# chown -R www.www /data
[root@nfs01 ~]# ls -ld /data
drwxr-xr-x 2 www www 70 4月 18 10:05 /data
3)服务端NFS重启
[root@nfs01 ~]# systemctl reload nfs
4)每个客户端
mount -t nfs 172.16.1.31:/data /data
[root@web01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
172.16.1.31:/data 19G 1.8G 18G 10% /data
[root@web01 /data]# touch new_web01.txt
[root@web01 /data]# ls -l
总用量 0
-rw-r--r-- 1 www www 0 4月 16 10:24 ddddf
-rw-r--r-- 1 www www 0 4月 16 10:23 dddfff
-rw-r--r-- 1 www www 0 4月 18 11:01 new_web01.txt
-rw-r--r-- 1 www www 0 4月 17 11:59 oldboy.txt
-rw-r--r-- 1 www www 0 4月 17 12:30 oldgirl.txt
[root@nfs01 ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Mar 4 11:15:16 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=3a3a295f-88f8-456d-94dc-1a3eeb517c02 / xfs defaults 0 0
UUID=fd2e0ca7-32be-425f-86a2-85c02b9ec5ea /boot xfs defaults 0 0
UUID=79a3924b-739e-48dc-ab0c-0444b9ac6591 swap swap defaults,_netdev 0 0
man mount
_netdev
The filesystem resides on a device that requires network access (used to prevent the system from attempting to mount these filesystems until the network has been enabled on the system).
自学:fstab被破坏了如何修复?
[root@web01 ~]# cat /etc/fstab
# /etc/fstab
# Created by anaconda on Mon Mar 4 11:15:16 2019
UUID=3a3a295f-88f8-456d-94dc-1a3eeb517c02 / xfs defaults 0 0
UUID=fd2e0ca7-32be-425f-86a2-85c02b9ec5ea /boot xfs defaults 0 0
UUID=79a3924b-739e-48dc-ab0c-0444b9ac6591 swap swap defaults 0 0
172.16.1.31:/data /data nfs defaults,soft 0 0
172.16.1.31:/data /data nfs defaults,hard,intr 0
mount -t nfs -o hard,intr,rsize=131072,wsize=131072 172.16.1.31:/data/ /mnt
NFS服务器出问题时候,客户端重启依然能够启动,可以用如下列两个方法:
defaults,soft
defaults,hard,intr
#/etc/fstab
客户端挂载深入
[root@web01 ~]# cat /proc/mounts
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
hugetlbfs /dev/hugepages hugetlbfs rw,relatime 0 0
/dev/sda1 /boot xfs rw,relatime,attr2,inode64,noquota 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0
10.0.0.31:/data1 /mnt nfs4 rw,relatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.0.0.7,local_lock=none,addr=10.0.0.31 0 0
172.16.1.31:/data /data nfs rw,relatime,vers=3,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=172.16.1.31,mountvers=3,mountport=20048,mountproto=udp,local_lock=none,addr=172.16.1.31 0 0
rsize=131072,wsize=131072
hard
proto=tcp
tcp安全稳定 udp无连接 FTP服务
Linux正在工作呢,文件系统只读。
企业生产案例文件系统只读故障/fstab故障。
1、救援模式修复。
2、单用户,mount -o remount,rw /
2)安全加优化的挂载方式如下:
mount -t nfs -o nosuid,noexec,nodev,noatime,nodiratime,intr,rsize=131072,wsize=131072 172.16.1.31:/data /mnt
NFS服务的重点知识梳理
当多个NFS服务器/etc/exports设置需要开放写入权限,即服务端的共享权限 |
---|
NFS服务器实际要共享的NFS目录权限具有可写入w的权限,即服务端本地目录的安全权限; |
每台机器都对应存在和NFS默认配置UID的相同UID65534的nfsnobody用户(确保 所有客户端的访问权限同意,否则每个机器需要同时建立相同UID的用户,并覆盖NFS的默认用户配置) |
只有满足上述三个条件,多个NFS客户端才能具有查看,修改,删除其他任意NFS 客户端上传文件的权限,在这大规模的集群环境中作为集群共享存储时尤为重要。 |
下表列出了常用的重点NFS服务文件或命令
NFS常用路径 | 说明 |
---|---|
/etc/exports | NFS服务主配置文件,配置NFS具体共享服务的地点,默认内容为空 |
/var/lib/nfs/etab | NFS配置文件的完整参数设定的文件 |
/proc/mounts | 客户端的挂载参数 |
mount -o 参数选项及系统默认设置
参数 | 参数意义 | 系统默认值 |
---|---|---|
suid/nosuid | 当挂载的文件系统上有任何SUID的程序时,只要使用nosuid就能够取消设置SUID的功能 | suid |
rw/ro | 可以指定文件系统是只读(ro)或可读写(rw) | rw |
dev/nodev | 是否可以保留装置文件的特殊功能 | dev |
exec/noexec | 是否具有执行文件的权限 | exec |
user/nouser | 是否允许用户拥有文件的挂载与卸载功能 | nouser |
auto/noauto | auto指的是“mount -a”时会不会被挂载的项目,如果不需要这个分区随时被挂载,可以设置为noauto | auto |
mount -o 参数详细说明
参数选项 | 说明 |
---|---|
async | 涉及文件系统I/O的操作都是异步处理,即不会同步写到磁盘,能提高性能,但会降低数据安全。 |
sync | 有I/O操作时,都会同步处理I/O,会降低性能,但数据比较安全。 |
atime | 在每一次数据访问时,会更新访问文件的时间戳,是默认选项,在高并发的情况下,可以通过添加noatime来取消默认项。 |
ro | 以只读的方式挂载一个文件系统 |
rw | 以可读写的方式挂载一个文件系统 |
auto | 能够被自动挂载通过-a选项 |
noauto | 不会自动挂载文件系统 |
defaults | 这是fstab里的默认值,包括rw、suid、dev、exec、auto、nouser、async |
exec | 允许文件系统执行二进制文件,取消这个参数,可以提升系统安全性。 |
noexec | 在挂载的文件系统中不允许执行任何二进制程序,进仅对二进制程序有效。 |
noatime | 访问文件时不更新文件的时间戳,高并发情况下,一般使用该参数 |
nodiratime | 不更新文件系统上的directory inode时间戳,高并发环境,推荐显式应用该选项,可以提高系统I/O性能。 |
nosuid | 不允许set-user-identifier or set-group-identifier位生效。 |
suid | 允许set-user-identifier or set-group-identifier位生效。 |
nouser | 禁止一个普通用户挂载该文件系统,这是默认挂载时的默认选项。 |
remount | 尝试重新挂载一个已经挂载了的文件系统,这通常被用来改变一个文件系统的挂载标志,从而使得一个只读文件系统变的可写,这个动作不会改变设备或者挂载点。当系统故障时进人single或rescue模式修复系统时,会发现根文件系统经常会变成只读文件系统,不允许修改,此时该命令就派上用场了。具体命令为:mount -o remount,rw /,表示将根文件系统重新挂载使得可写。single或rescue模式修复系统时这个命令十分重要。 |
dirsync | 目录更新时同步写人磁盘。 |
NFS的优点和缺点
优点 | 缺点(局限) |
---|---|
简单,容易上手,容易掌握。 | 存在单点故障,如果NFS服务端宕机了,所有客户端都不能访问共享目录。 |
NFS文件系统内数据是在文件系统之上的,即数据是能看得见的。 | 在大数据高并发的场合,NFS效率、性能有限。 |
部署快速维护简单方便,且可控,满足需求就是最好的。 | 客户端认证是基于IP和主机名的,权限要根据ID识别,安全性一般。 |
可靠,从软件层面上看,数据可靠性高,经久耐用。 | NFS数据是明文的,NFS本身不对数据完整性进行验证。 |
服务非常稳定。 | 多台客户机挂载一个NFS服务器时,连接管理维护麻烦。 |
解决性能问题的方法
使用CDN加速以及自己搭建文件缓存服务(squid、nginx、varnish)。
把多个目录分配到不同的NFS服务器上。
弃用NFS(即读写分离)。
使用分布式文件系统。