首页 文章 精选 留言 我的

精选列表

搜索[linux],共10000篇文章
优秀的个人博客,低调大师

Linux NFS服务器的安装与配置详解

一、NFS服务简介 NFS是Network File System(网络文件系统)。主要功能是通过网络让不同的服务器之间可以共享文件或者目录。NFS客户端一般是应用服务器(比如web,负载均衡等),可以通过挂载的方式将NFS服务器端共享的目录挂载到NFS客户端本地的目录下。 NFS在文件传送过程中依赖与RPC(远程过程调用)协议。NFS本身是没有提供信息传送的协议和功能的,但是能够用过网络进行图片,视频,附件等分享功能。只要用到NFS的地方都需要启动RPC服务,不论是NFS的服务端还是客户端。 NFS和RPC的关系:可以理解为NFS是一个网络文件系统(比喻为租房的房主),而RPC是负责信息的传输(中介),客户端(相当于租房的租客) 二、系统环境: [root@oldboy~]#cat/etc/redhat-release##查看系统版本信息 CentOSrelease6.7(Final) [root@oldboy~]#uname-r##查看内核信息 2.6.32-573.el6.x86_64 [root@oldboy~]#uname-m##查看系统是32位还是64位的 x86_64 三、服务端配置 在启动NFS服务之前,首先要启动RPC服务(CentOS5是portmap服务,CentOS6.6以后的版本是rpcbind服务),否则NFS服务器无法向RPC服务注册。另外,RPC服务如果重启,原来以及有的NFS端口就会丢失,因此,只要RPC服务重启,NFS服务就要重启向RPC重新注册新的随机端口号。一般修改NFS配置文件后,不需要重启服务,直接平滑重启即可,命令:/etc/init.d/nfs reload或者exportfs -rv就可以修改/etc/exports生效。 /etc/init.d/nfs reload的作用是:让已经到达服务器的请求给他处理完毕,但是没有到达服务器的请求,就把它断掉。就相当于我们去车站坐车,车子即将出发时,已经上车的就可以正常出发,没有赶上车的就没有办法跟车出发。 要部署NFS服务,需要安装下面的软件包: 1)nfs-utils:NFS服务的主程序 2)rpcbing:NFS可以视为一个RPC的主程序,在启动任何一个RPC程序之前,需要做好端口和功能的对应映射工作 1)查看NFS的软件包 [root@oldboy~]#rpm-qanfs-utilsrpcbind nfs和rpc默认是没有安装的,需要yum安装 2)CentOS6.7默认没有安装软件包,可以使用yum install nfs-utils rpcbind -y命令来安装NFS软件 [root@oldboy~]#yuminstallnfs-utilsrpcbind-y [root@oldboy~]#rpm-qanfs-utilsrpcbind nfs-utils-1.2.3-70.el6_8.2.x86_64 rpcbind-0.2.0-12.el6.x86_64 3)启动NFS服务 第一步:先启动rpc服务 [root@oldboy~]#/etc/init.d/rpcbindstart#启动rpc服务 [root@oldboy~]#/etc/init.d/rpcbindstatus#查看rpc服务状态 rpcbind(pid4269)正在运行... 第二步:启动NFS服务 [root@oldboy~]#/etc/init.d/nfsstart#启动nfs服务 [root@oldboy~]#/etc/init.d/nfsstatus#查看nfs服务状态 rpc.svcgssd已停 rpc.mountd(pid3282)正在运行... nfsd(pid32983297329632953294329332923291)正在运行... rpc.rquotad(pid3277)正在运行... 必须要先启动rpc服务,然后再启动NFS服务,如果先启动NFS服务,启动服务时会失败,提示如下 [root@oldboy~]#/etc/init.d/nfsstart 启动NFS服务:[确定] 关掉NFS配额:无法注册服务:RPC:无法接收;errno=拒绝连接 rpc.rquotad:unabletoregister(RQUOTAPROG,RQUOTAVERS,udp). [失败] 启动NFSmountd:[失败] 启动NFS守护进程: [root@oldboy~]#rpcinfo-p172.16.1.31#查看NFS服务向rpc注册的端口信息,主端口号是:111 programversprotoportservice 1000004tcp111portmapper 1000003tcp111portmapper 1000002tcp111portmapper 1000004udp111portmapper 1000003udp111portmapper 1000002udp111portmapper 1000111udp875rquotad 1000112udp875rquotad 1000111tc p875rquotad 1000112tcp875rquotad 第三步:检查开机是否自启动 [root@oldboy~]#chkconfignfson [root@oldboy~]#chkconfigrpcbindon [root@oldboy~]#chkconfig--listnfs nfs0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭 [root@oldboy~]#chkconfig--listrpcbind rpcbind0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭 [root@oldboy~]#tail-2/etc/rc.local /etc/init.d/rpcbindstart /etc/init.d/nfsstart 在工作中,大都是统一按照运维规范将服务的启动命令放到/etc/rc.local里面,而不是用chkconfig来管理的,所有的服务一旦开机自启动就必须放到/etc/rc.local中。这样的好处是,一旦管理此服务器的人员离职忙活着业务迁移都可以通过/etc/rc.local很容易的查看到服务器对应的相关服务,可以方便的运维管理。 4)NFS服务端配置文件的配置 NFS默认配置文件路径是:/etc/exports,文件默认是空的。 /etc/exports配置文件的格式是: NFS共享的目录 NFS客户端地址(参数1,参数2) [root@oldboy~]#cat/etc/exports #share/databyoldboyforbingbingat20160425 /data172.16.1.0/24(rw,sync)##一条配置搞定NFS配置文件 其中:/data是服务器端共享的目录 172.16.1.0/24共享目录的客户端ip地址 (rw,sync),其中rw代表拥有读写的权限,sync代表数据同步写入NFS服务器端的硬盘中。也可以用async,async是大数据时使用,是先写到缓存区,再写到磁盘里。 vNFS共享的目录:为NFS服务器端要共享的实际目录,要用决定路径,如(/data)。注意共享目录的本地权限,需要读写权限,一定要让本地目录可以被NFS客户端的用户读写 vNFS客户端地址:为NFS服务器端授权的可访问的共享目录的NFS客户端地址,可以为单独的ip地址或者主机名,域名等,也可以是整个网段的地址。 创建/data目录,并且属主和属组都为:nfsnobody,其中nfsnobody是安装nfs服务时默认的用户 [root@oldboy~]#mkdir/data-p [root@oldboy~]#chown-Rnfsnobody:nfsnobody/data [root@oldboy~]#ls-ld/data drwxr-xr-x6nfsnobodynfsnobody409612月820:17/data [root@oldboy~]#/etc/init.d/nfsreload [root@oldboy~]#showmount-e172.16.1.31##本地测试,说明服务端测试成功 Exportlistfor172.16.1.31: /data172.16.1.0/24 四、客户端配置 1.客户端和服务端一样,也要安装nfs和rpm的安装包。(配置见服务器端) 2.客户端需要启动rpc服务,加入开机自启动,不需要启动nfs服务。(配置见服务器端) 3.测试: 第一步:ping,能不能ping通服务器端ip地址 [root@oldboy~]#ping172.16.1.31 PING172.16.1.31(172.16.1.31)56(84)bytesofdata. 64bytesfrom172.16.1.31:icmp_seq=1ttl=64time=0.383ms 64bytesfrom172.16.1.31:icmp_seq=2ttl=64time=0.434ms 64bytesfrom172.16.1.31:icmp_seq=3ttl=64time=0.420ms 64bytesfrom172.16.1.31:icmp_seq=4ttl=64time=0.437ms 64bytesfrom172.16.1.31:icmp_seq=5ttl=64time=0.439ms ^C ---172.16.1.31pingstatistics--- 5packetstransmitted,5received,0%packetloss,time4997ms rttmin/avg/max/mdev=0.383/0.422/0.439/0.030ms 第二步:telnet服务端的111端口 [root@oldboy~]#telnet172.16.1.31111 Trying172.16.1.31... Connectedto172.16.1.31. Escapecharacteris'^]'. 第三步:showmount服务端 [root@oldboy~]#showmount-e172.16.1.31 Exportlistfor172.16.1.31: /data172.16.1.0/24 第四步:挂载,文件共享 [root@oldboy~]#mount-tnfs172.16.1.31:/data//mnt 第五步:查看是否挂载成功了 [root@oldboy~]#df-h FilesystemSizeUsedAvailUse%Mountedon /dev/sda38.8G1.5G6.9G18%/ tmpfs491M0491M0%/dev/shm /dev/sda1190M36M145M20%/boot 172.16.1.31:/data/8.8G1.5G7.0G18%/mnt 说明客户端测试成功,配置完成。

优秀的个人博客,低调大师

Linux下grub配置文件以及加密和解密

操作环境:CentOS 6.8 一、grub的配置文件 [root@localhost~]#vi/boot/grub/grub.conf//编辑配置文件 default=0//设定默认启动的菜单项;落单项(title)编号从0开始 timeout=3//指定菜单项等待选项选择的时长 titleDashuiLinux//定义菜单项“标题”,可出现多次 root(hd0,0)//:grub查找stage2及kernel文件所在设备分区;为grub“根” kernel/vmlinuz-2.6.32-642.el6.x86_64root=/dev/vg0/root//启动的内核 initrd/initramfs-2.6.32-642.el6.x86_64.img//内核匹配的ramfs文件 其中还有几项没有列出来,如下 splashp_w_picpath=(hd#,#)/PATH/TO/XPM_FILE:菜单背景图片文件路径 hiddenmenu:隐藏菜单 password[--md5]STRING:启动菜单编辑认证 password[--md5]STRING:启动选定的内核或操作系统时进行认证 二、对grub文件进行加密 [root@localhost~]#grub-md5-crypt//将密码使用md5加密转换下 Password: Retypepassword: $1$kPLWy$0KdG91RdiCro4cU/gUXp4/ [root@localhost~]#vi/boot/grub/grub.conf default=0 timeout=3 password--md5$1$kPLWy$0KdG91RdiCro4cU/gUXp4/输入加密过的口令 titleDashuiLinux root(hd0,0) kernel/vmlinuz-2.6.32-642.el6.x86_64root=/dev/vg0/root initrd/initramfs-2.6.32-642.el6.x86_64.img 重新启动查看效果 三、如果进入单用户模式 (1) 编辑grub菜单(选定要编辑的title,而后使用e命令);(2) 在选定的kernel后附加1, s, S或single都可以;(3) 在kernel所在行,键入“b”命令 实例:如果用户忘记了其root密码,可以通过开机进入单用户模式,然后更改root密码,进入单用户模式如上所述,进入后我们只需要执行passwd 四、有一种相当糟糕的状况,假使你忘记了root密码,而且由于记性不好又忘记了grub菜单的密码,这如何解决? 1)重启按esc键选择光盘启动(要挂在本地镜像光盘) 2)选择进入救援模式 3)经过一系列的语言网络选择(网络配置选择no),我们终于来到了救援模式的shell界面,不过此时所在的并不是我们真的rootfs,所以我们需要切换到真正的root,即chroot /mnt/sysp_w_picpath 4)然后我们就可以编辑/boot/grub/grub.conf配置文件,删除password加密的行 5)exit后重新启动即可,此时grub的密码已经被我们取消了,root密码的问题也迎刃而解,即可以再救援模式修改,也可以在单用户修改密码

优秀的个人博客,低调大师

Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理》——2.5 异常处理类中断服务程序挂接

2.5 异常处理类中断服务程序挂接 不论是用户进程还是系统内核都要经常使用中断或遇到很多异常情况需要处理,如CPU在参与运算过程中,可能会遇到除零错误、溢出错误、边界检查错误、缺页错误……免不了需要“异常处理”。中断技术也是广泛使用的,系统调用就是利用中断技术实现的。这些中断、异常都需要具体的服务程序来执行。trap_init()函数将中断、异常处理的服务程序与IDT进行挂接,逐步重建中断服务体系,支持内核、进程在主机中的运算。挂接的具体过程及异常处理类中断服务程序在IDT中所占用的位置如图2-6所示。 执行代码如下: //代码路径:init/main.c: void main(void) { … trap_init(); … } //代码路径:kernel/traps.c: void trap_init(vo

优秀的个人博客,低调大师

Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理》——2.10 初始化缓冲区管理结构

2.10 初始化缓冲区管理结构 缓冲区是内存与外设(如硬盘,以后以硬盘为例)进行数据交互的媒介。内存与硬盘最大的区别在于,硬盘的作用仅仅是对数据信息以很低的成本做大量数据的断电保存,并不参与运算(因为CPU无法到硬盘上进行寻址),而内存除了需要对数据进行保存以外,更重要的是要与CPU、总线配合进行数据运算。缓冲区则介于两者之间,它既对数据信息进行保存,也能够参与一些像查找、组织之类的间接、辅助性运算。有了缓冲区这个媒介以后,对外设而言,它仅需要考虑与缓冲区进行数据交互是否符合要求,而不需要考虑内存如何使用这些交互的数据;对内存而言,它也仅需要考虑与缓冲区交互的条件是否成熟,而不需要关心此时外设对缓冲区的交互情况。两者的组织、管理和协调将由操作系统统一操作。操作系统通过hash_table[NR_HASH]、buffer_head双向

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册