2007年1月27日

关于NFS的问题汇总

最近在调试NFS中解决了如下几个问题。
1.服务器端的/etc/exports里的配置一定要写正确,特别是配置里面的地址,应该写的是客户端的地址,或者客户端的子网。
保证在服务端执行/usr/sbin/showmount -e可以正确显示出exports里配置的NFS目录。
2.在服务端修改NFSD使用的端口,由原来的自由端口改为固定端口。然后在防火墙上把配置的端口打开。修改过程如下
edit /etc/sysconfig/nfs增加
STATD_PORT=4000
MOUNTD_PORT=4001

edit /etc/modprobe.conf增加
options lockd nlm_udpport=4002 nlm_tcpport=4002

edit /etc/services增加
rquotad 4003/tcp # rquotad
rquotad 4003/udp # rquotad
在防火墙里打开4000,4001,4002,4003 端口的tcp和udp
3.在客户端执行/usr/sbin/showmount -e XXX.XXX.XXX.XXX地址,如果能正确显示服务端的共享目录,那么客户端和服务端通讯已经没问题了,后面就mount NFS就可以了
以下错误的原因是:
NFS not register //客户端或者服务端的NFS服务没起
no route, no receive//服务器端的放火墙问题
no permission//服务端的exports文件写错了,比如IP地址写的不对

2007年1月21日

这两天遇到的一些关于linux下使用磁盘的问题汇总

  1. 在fstab里面怎么给一个非root的用户mount一个vfat的磁盘?
    如果是vfat的磁盘,你可以在fstab里的参数中增加uid=XXX,gid=XXX,来指定一个vfat磁盘在启动后自动以哪个用户哪个用户组mount(感谢补锅匠).
  2. grub 挂了如何恢复?
    当时自己新装了一块硬盘,在使用pq时发现了错误,就修复了一下,重起后发现grub不能正常使用,直接位于"grub>"提示符号下.
    解决方法:使用grub的命令,首先 root (hdX,Y),然后 setup (hdX),hdX指的是grub安装的磁盘,一般是hd0,Y表示linux分区的位置,如你安装在hda5,那么Y=4.你还可以通过"cat (hdX,Y)/路径"查看磁盘上的文件.比如"cat (hd0,5)/boot/grub/menu.lst",查看启动配置.

  3. 如何给一个非root的用户mount一个ext3的磁盘?
    在fstab里面增加一行和/的参数一样defaults,使用root帐户mount了以后,会发现无论这个目录以前是用什么帐户建立的,mount了以后都变成root:root,这使用使用chown,修改mount后的目录的owner成你需要的非root用户,以后无论怎么mount这个目录的owner都是这个用户了.
  4. fstab中一个ext3设备名写错了造成"fsck.ext3错误"系统无法正常启动
    在filesystem repair模式下,由于/分区没有问题,所以使用"mount -o remount,rw /",修改/etc/fstab文件为正确的设备名后重新启动,问题解决,如果/分区有问题,需要在grub,按下E编辑启动参数,在kernel那行后面增加 "rw"