挂载和自动挂载的使用(实例论证)
一、挂载:
    挂载是一个非常重要的功能,使用非常频繁。它指将一个设备(通常是存储设备)挂接到一个已存在的目录上。(这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。)
    需要理解的是,linux操作系统将所有的设备都看作文件,它将整个计算机的资源都整合成一个大的文件目录。我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上,然后通过访问这个目录来访问存储设备。
挂载需要有挂载源和挂载点。
    挂载使用命令mount,关于该命令的详细语法请大家自行搜索,本文主要是讲解使用mount 来解决一些实际应用问题。
1、常用挂载命令:
mount -a :重新挂载/etc/fstab 配置文件中的文件系统。
mount /dev/hdc /mnt:将设备/dev/hdc挂载到/mnt目录。
mount -o remount,rw /data :重新挂载/data的文件系统为可读可写。
-o:表示选项; remount:重新挂载选项; rw:挂载目标成可读可写选项;ro:应该知道了吧。
卸载umount:将挂载源和挂载点分离,分离后只有重新挂载我们才可以对目标挂载源进行操作。
umount [挂载源|挂载点]
上例:mount /dev/hdc /mnt
卸载:umount /dev/hdc umount /mnt (这两个命令都可以)
关于时挂载点在重启系统之后仍然后效的方法:
/etc/fstab 是Linux系统启动时要挂载的列表配置文件。我们只要将挂在信按照/etc/fstab文件的格式写到里面就可以实现重启后挂载仍然有效了。
/etc/fstab文件格式介绍:
--------------------------------------------
[root@rhce ~]# vim /etc/fstab
/dev/VolGroup00/LogVol00  /        ext3  defaults 1 1
LABEL=/boot               /boot    ext3  defaults 1 2
tmpfs                     /dev/shm tmpfs defaults 0 0
devpts                    /dev/pts devpts gid=5,mode=620 0 0
sysfs                     /sys     sysfs defaults 0 0
proc                      /proc    proc  defaults 0 0
/dev/VolGroup00/LogVol01  swap     swap  defaults 0 0
192.168.1.10:/nfs         /ok      nfs   defaults 0 0
-------------------------------------------
每一个文件系统用一行来描述:
    第一列:挂载源的设备名字,也可以用标签来表示。上例中 LABEL=/boot就是标签挂载;/dev/VolGroup00/LogVol00设备名字挂载。
    第二列:设备的挂载点,设备挂载后我们就通过挂载点来对设备进行管理控制及使用。除swap是交换分区外,其他的都是系中存在的设备或者目录。
    第三列:使用的文件系统(文件类型);swap表示交换分区,ext3表示et3文件系统; nfs表示,挂载目标计算机上nfs共享的目录或设备。当然还有很多其他的这里就不介绍了。
    第四列:挂载选项。defaults默认选项,详细的我们在应用中来说明。
    第五列:表示dump选项,dump工具通过这个选项位置上的数字来决定文件系统是否需要备份。如果是0,dump就会被忽略,事实上,大多数的dump设置都是0.
    第六列:fsck选项,fsck命令通过检测该字段来决定文件系统通过什么顺序来扫描检查,根文件系统/对应该字段的值应该为1,其他文件系统应该为2.若文件系统无需在启动时扫描检查,则设置该字段为0。
    实例一:创建一个新分区,并把新分区挂载到/data目录,重新启动计算机有效
    1)使用fdisk命令创建一个新分区并格式化。
    2)方法一:编辑/etc/fstab在最后增加如下行:
    /dev/新分区 /data ext3 defaults 0 0
    方法二:给新分区一个标签然后用标签去挂载:
    e2lable /dev/新分区 标签名字
    编辑/etc/fstab增加如下行:
    LABEL=标签名字 /data ext3 defaults 0 0
    实例二:将NFS服务器上的共享目录/nfsdata,挂载到本机/nfs目录,并重启计算机有效。
    1)mkdir /nfs
    2)编辑/etc/fstab增加如下行:
    服务器IP地址:/nfsdata /nfs nfs defaults 0 0
    自动挂载的实现:
    自动挂载基于autofs服务,要是先自动挂载要保证autofs的运行状态。由/etc/auto.master文件进行管理。
    某些文件系统我们不方便写到/etc/fstab文件中,同时我们也不能接受每次使用前都要先进行繁琐的挂载操作,这个时候我们就可以通过配置自动挂载功能,来实现。
    我们用 实例来说明自动挂载的使用:
    *光盘在每次使用前都要进行挂载非常繁琐,我们希望光盘能自动挂载到/mnt/cdrom目录中(设置自动挂载后,只要对目标挂载点发出ls cd 等操作请求,文件系统就会自动挂载好)
    1)编辑/etc/auto.master
-------------------------------------------------
[root@station ~]# vim /etc/auto.master
#
# $Id: auto.master,v 1.4 2005/01/04 14:36:54 raven Exp $
#
/misc /etc/auto.misc
/mnt /etc/auto.cdrom //新增加行,auto.cdrom是针对于这个实例的一个配置文件,需要手动建立,这里配置文件的名字可以随便起。
--------------------------------------------------
    2)生成/etc/auto.cdrom文件并配置:
--------------------------------------------------
[root@station ~]# cp /etc/auto.misc /etc/auto.cdrom
[root@station ~]# vim /etc/auto.cdrom
cdrom -fstype=iso9660 :/dev/hdc //新增加
自动挂载到的目录 挂载的系统类型 设备
//目录是虚拟的不能建立,如果创建将会出错。

--------------------------------------------------
重新启动autofs服务,并测试:
--------------------------------------------------
[root@station ~]# service autofs restart
停止 automount: [确定]
启动 automount: [确定]
[root@station ~]# ls /mnt/cdrom
--------------------------------------------------

    上例中我们是把关盘挂载到/mnt/cdrom中,如果我们想要把光盘挂载到/cdrom下?/mnt下?如何操作呢?
    * 直接匹配,将设备挂载到系统的任意挂载点:将光驱直接挂在到/cdrom下
    1)修改/etc/auto.master
--------------------------------------------------
[root@station ~]# vim /etc/auto.master
#
# $Id: auto.master,v 1.4 2005/01/04 14:36:54 raven Exp $
#
/misc /etc/auto.misc
/- /etc/auto.cdrom            //注意红色部分的写法/-
--------------------------------------------------
    2)生成/etc/auto.cdrom文件并配置:
--------------------------------------------------
[root@station ~]# cp /etc/auto.misc /etc/auto.cdrom
[root@station ~]# vim /etc/auto.cdrom
/cdrom -fstype=iso9660 :/dev/hdc //新增加
自动挂载到的目录 挂载的系统类型 设备
//这里目录也是虚拟的不能建立,如果创建将会出错,这里的/cdrom是绝对路径。

--------------------------------------------------
    3)测试效果:
--------------------------------------------------
[root@station ~]# service autofs restart
停止 automount: [确定]
启动 automount: [确定]
[root@station ~]# ls /cdrom
--------------------------------------------------
三、基于NIS及NFS的自动挂载的实现:
    NIS(网络信息服务)也称YP(Yellow Pages)协议,是一个提供目录服务的RPC(远程过程调用)应用服务。通过它,就可以在网络上共享一个集中式的口令文件,从而大大简化客户端用户对帐户和口令的维护工作。当我们使用NIS服务进行集中管理时那么用户的家目录就是直接建立在服务器上的,为了更好的使用NIS我们就需要把用户家目录挂载映射到本地相同的目录中。
    关于NIS服务器的搭建请看: http://iminmin.blog.51cto.com/689308/163107
    关于NFS服务器的搭建请看: http://iminmin.blog.51cto.com/689308/190075
    我们现在假设NIS服务器和NFS服务器全部搭建好,并且/home目录也通过NFS设置好了共享,现在我们的任务就是把/home下的所有目录映射到客户端的/home目录下。
    1、修改/etc/auto.master
-------------------------------------------------
[root@station ~]# vim /etc/auto.master
#
# $Id: auto.master,v 1.4 2005/01/04 14:36:54 raven Exp $
#
/misc /etc/auto.misc
/home /etc/auto.nfs
-------------------------------------------------
    2、生成/etc/auto.cdrom文件并配置:
-------------------------------------------------
[root@station ~]# cp /etc/auto.misc /etc/auto.cdrom
[root@station ~]# vim /etc/auto.cdrom
[root@station ~]# vim /etc/auto.cdrom
*              -fstype=nfs        NFS服务器IP:/home/&
自动挂载到的目录 挂载的系统类型        设备

-------------------------------------------------
    3、测试效果:
-------------------------------------------------
[root@station ~]# service autofs restart
停止 automount: [确定]
启动 automount: [确定]
[root@station ~]#su - NIS服务上的账号
-------------------------------------------------