Chinaunix首页 | 论坛 | 博客
  • 博客访问: 576360
  • 博文数量: 113
  • 博客积分: 3322
  • 博客等级: 少校
  • 技术积分: 1565
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-04 11:38
文章分类

全部博文(113)

文章存档

2012年(21)

2010年(92)

分类:

2010-03-03 09:30:43

第五章 执行mount和unmount操作
   
目标要求:
  了解mount的基本概念
  执行mount
  执行unmount
  访问mount的软盘,CDROM,DVD
  限制访问mount的软盘,CDROM,DVD
  不通过卷管理(vold)来访问软盘,CDROM,DVD
Mount的基本工作原理
solaris下,你能够把一个建立好的文件系统mount到目录结构上的任何一个点上。(通常这个点也是以目录的方式出现的)mount上的文件系统就可以被用户使用和访问了。
也可以通过unmount命令将文件系统从目录结构上分离出来。这样用户就不能使用这个文件系统了。但是,这个目录用户还是可以访问的。
(其实,在这里可以讨论一下mount点和目录的相同和不同的地方)其实,在讨论这个问题的时候,最简单的办法就是用df来确定。用df看到的就是mount点了。
  确定当前文件系统的mount情况,就可以使用df命令和mount命令。
  Df命令显示的是当前mount的文件系统情况。包括本地的文件系统信息和虚拟文件系统信息。
  Mount命令位于/usr/sbin目录下,保持的mount情况来源于/etc/mnttab表。当mount不加任何参数的情况下,输出的信息就是/etc/mnttab表中的信息。当使用部分参数的时候,命令的缺省信息就来源于/etc/vfstab表。
Solaris提供了一种自动mount文件系统的方式。那就是/etc/vfstab表。/etc/vfstab表在系统启动的时候,自动mount文件系统。但是这个并不包括/etc/mnttab和/var/run。文件系统。

/etc/vfstab文件

默认的/etc/vfstab文件是在Solaris操作环境安装的时候基于用户的选择建立的。

无论如何,系统管理员可以在任何时候编辑/etc/vfstab文件来添加或者改变条目。

/etc/vfstab文件每行条目包括7个部分,每个部分利用tab来分开。-(破折号)指出空的区域,注释行的开头有#提示符。

要添加一行条目,需要下列信息:文件系统所在设备的位置;装配点的名字;文件系统的类型;是否在系统启动的时候自动装配;所有的装配选项。

Device to mount:被装配的设备块。例如,本地的ufs文件系统:/dev/dsk/c#t#d#s#,或者伪文件系统:/proc
Device to fsck:被文件系统检测程序检测的raw和字符设备。
Mount point:装配点
FS 类型:被装配的文件系统的类型
Fsck pass:启动时是否使用fsck检测文件系统,在此填写的包括:yes,-,0,no
Mount at boot:yes使启动时使用mountall来装配文件系统,no则在启动时不装配
Mount option:这里选项可以选择 – 或者选择为logging,largefile,global等等。其实就是在你mount的时候选择-o的时候后面所跟的选项。

/etc/mnttab文件

/etc/mnttab这个文件是一个直接从kernel中提供关于在本地主机已经装配的文件系统的只读信息的mntfs文件系统

mount命令维护/etc/mnttab文件,已经装配的文件系统列表每次一个文件系统被装配后,就通过mount命令在这个文件中添加一个条目。只要文件系统被卸载下来,这个条目就会从mnttab文件中删除。

Device Name:已经装配在装配点的设备的名字。这个块设备是文件系统的物理定位
Mount Point:文件系统绑定在root文件系统的装配点名或者目录名
Mount Options:列出文件系统有效的装配选项
Dev=number: mount文件系统的主,次设备编号
Date and Time Mounted:文件系统被装配到系统中的时间

/var/run文件系统是tmpfs文件系统是一个临时文件系统,它是基于pesudo的,并不是基于磁盘的。所以,并不需要通过系统重新启动来mount.
同样的/tmp文件系统和/var/run原理是一样的。

手工使用mount命令来mount文件系统。
Mount /dev/dsk/c0t0d0s7 /export/home
这个列子是按照默认方式进行mount的。它支持的选项有:read/write setuid intr logging largefiles xattr onerror
read/write:允许文件系统可以读写。
Setuid:文件系统允许setuid
Intr:允许和禁止键盘对进程进行kill
logging:指定UFS的logging 为enable
Largefiles:允许大于2G的文件存在。
Xattr:支持扩展的并为发现的UNIX文件系统
onerror:指定文件系统在出现不连续的时候所进行的操作。Panic lock umount

使用mount命令的选项

当在命令行使用mount命令的选项时,要在选项前加“-o”标志。当要使用多个选项时,在-o后面的选项之间加入逗号。

Mount –o options,options,… device_name mount_point

一些选项用于装配本地文件系统,包括:ro,nosuid,noatime,nolargefiles,和logging

ro:装配的文件系统是只读的。
nosuid:在文件系统中阻止使用setuid程序。这不能限制建立setuid程序
noatime:禁止改变文件的最后访问时间,减少在不重要的访问时间的磁盘活动。指定这个选项通常是有重要文件访问时间和启动全部的进程
nolargefiles防止文件系统被装配后包含一个或者多个大文件。
如果被装配的文件系统包含大文件,在某一时间包含一个大文件,则此选项失效
补充一下,在200中没有的一段,在9和8中都有出现的一段。不知道是10的机制变了还是具体什么原因。但是,在这里还是补充上。
如果文件系统当前包含大文件,并且root需要使用这个选项装配,那么大文件必须从文件系统中移走或者删除。那么用户必须手动运行文件系统检测程序来升级超级块信息。

如果文件系统在一个时间包含大文件,装配同样失效,一般都要移走或者删除。用户必须运行文件系统检测程序来清除老的信息,并且允许文件系统被装配。
Logging使一个ufs文件系统可以保存日志。

UFS文件系统保存日志是一个储存文件系统处理的过程,或者更改整理一个完整的目录或者文件的操作,他们在应用到文件系统之前被记录入日志。当一个处理被保存时,之后一个完整的处理可以被应用或者重新应用到文件系统。

Ufs日志在文件系统的空余块中。他大约1Mb/Gb,最大到64Mb

同样ufs日志延伸到最大长度,他开始写处理到文件系统。当文件系统被完整卸载后,ufs日志是空的并且所有处理都写入磁盘。

UFS保存日志有两个方面的好处。第一,他防止文件系统产生矛盾;因此,可以不去运行烦琐的fsck。第二,用户可以绕过fsck检测,减少如果关闭系统从新启动所需要的时间,除非是规定了次序的关机。
/usr/sbin/mountall命令

系统启动时,通过使用/etc/sbin/mountall来读/etc/vfstab文件;并且装配所有/etc/vfstab文件中指定为yes的文件系统。

# mountall

只装配所有在/etc/vfstab中指定的本地文件系统

# mountall –l

在装配前检测文件系统

如果文件系统是在一个安全装配并且可用的状态下,在vfstab文件中位于每个文件系统的device to fsck条目和fsck pass号码是通过fsck检测决定的。

如果文件系统被发现不可用,在尝试装配之前要先进行fsck。任何本地文件系统在fsck pass部分是“-”或者“0”,将不需要检测而直接装配。
决定一个文件系统的类型

因为mount命令需要文件系统类型是被指定到适当功能,必须明确指定,或者他将不得不根据下列文件去决定

。/etc/vfstab的FS type区域
。/etc/default/fs文件,本地文件系统类型
。/etc/dfs/fstypes文件,远程文件系统类型

如果文件系统的类型没有在命令行中指定,mount查看/etc/vfstab来决定文件系统的类型,使用块设备名,raw设备名,装配点的目录名。

如果通过搜索/etc/vfstab文件不能决定文件系统的类型,则去搜索/etc/default/fs文件和/etc/dfs/fstypes文件。

默认的本地文件系统是在/etc/default/fs中的LOCAL=fstype中指定的。

默认的远程文件系统类型是在/etc/dfs/dfstypes文件中指定的

fstyp命令

# fstyp /dev/rdsk/c0t0d0s7

卸载文件系统

/usr/sbin/umount命令

从文件系统装配点卸载一个文件系统使用umount命令,同时从/et/mnttab文件中删除相关的条目。

在已经装配的文件系统上一些文件系统管理任务不能执行。

如果一个文件系统不在需要了,通常需要卸载下来。如果需要使用fsck检测和修复文件系统,或者如果需要完整的备份时,都需要把文件系统卸载下来。

手动卸载文件系统使用的是装配点或者目录名

# umount /export/home
或者
# umount /dev/dsk/c0t0d0s7

自动卸载文件系统

/usr/sbin/umountall命令

/etc/mnttab文件同样可以由/usr/sbin/umountall命令在系统关闭的过程中读出来。并且卸载所有的在vfstab文件中指定的文件系统。除了/(root),/usr,/proc,/dev/fd,/var,/var/run,和/tmp。

手动卸载所有文件系统
# umountall

手动卸载所有本地文件系统
# umountall –l

指挥卸载一个繁忙的文件系统

任何文件系统在繁忙的时候是不能被卸载的。Umount和umontall都显示文件系统忙的信息。

如果下列一种情况存在,文件系统就被认为是繁忙:一个程序正在访问文件系统中的目录;用户在文件系统装配点的目录中;在文件系统中的一个文件是被打开的或者共享的。

有2个方法可以使一个繁忙的文件系统卸载下来
。fuser命令:列出所有的访问文件系统的进程,然后kill他们
。umount –f命令:强制性的卸载一个文件系统
使用fuser命令
从正在访问的文件系统中停止所有进程
1.Root权限,使用下列命令来列出与文件系统相关的进程
# fuser –cu mount_point
显示每个当前激活的进程的文件系统名和用户登陆名
2.Kill所有正在访问文件系统的进程
# fuser –ck mount_point
3.检测还有没有进程在访问文件系统
# fuser –c mount_point
4.卸载文件系统
# umount mount_point

使用umount –f命令

root权限可以使用umount的-f(强制性)选项强行卸载一个繁忙的文件系统。这是Solaris 8新增加的选项

# umount –f mount_point

如果正在打开一个文件,强制卸载文件系统的结果就是丢失数据。可是,这对于卸载远程文件服务器中没有功能的共享的文件系统是非常有用的。

如果启动失败的话,可以通过以下过程进行修复:
Boot cdrom –s
Fsck /dev/rdsk/c0t0d0s0
Mount /dev/dsk/c0t0d0s0 /a
TERM=vt100(书上TERM=sun一般情况下我们经常用串口登陆,我就在这里修改了一下)
Export TERM
Vi /a/etc/vfstab
Cd /
Umount /a
Init 6

移动媒体设备管理

在软盘和光盘上访问文件系统,Solaris操作环境通过卷管理提供用户一个标准的接口

卷管理提供三个主要的好处
。为用户自动装配软盘和光盘
。不用变成root就可以访问软盘和光盘
。可以给在网络上的其他系统自动访问到当前插入本地系统的每一个磁盘和光盘

卷管理服务是由/usr/sbin/vold守护进程控制的。在默认情况下,这个服务通常运行在系统上为普通用户自动管理软盘和光盘。

卷管理提供光盘的自动检测。可是,他不能检测是否有软盘在软驱中。需要用户运行volcheck命令去指导vold去检测为安装媒体的软盘。

访问已经装配的软盘和光盘

为了使用户的对软盘和光盘的工作简单,每个已经装配的设备都通过vold放在一个便于记忆的位置中。

软盘:在用户插入软盘并且运行volcheck命令后vold自动装配设备
光盘:当光盘放入驱动器,vold自动的装配设备。

如果vold检测到已经装配的软盘或者光盘中有文件系统,那么设备就装配在下面描述的目录中。

第一个软盘驱动器/floppy/floppy0
第一个光盘驱动器/cdrom/cdrom0

如果vold检测到已经装配的软盘或者光盘没有包含一个文件系统,则raw设备就使用下列路径

第一个软盘驱动器/vol/dev/aliases/floppy0
第一个光盘驱动器/vol/dev/aliases/cdrom0

当在系统上运行卷管理时,普通用户可以使用下列基本步骤简单的访问软盘和光盘:
1.插入媒体
2.如果是软盘,那么使用volcheck命令
3.对媒体上的文件工作
4.弹出媒体

管理卷管理

限制普通用户对软盘和光盘的访问,root可以中断卷管理服务

在系统上临时停止卷管理,可以执行下列命令
# /etc/init.d/volmgt stop
重新启动卷管理使用下列命令
# /etc/init.d/volmgt start

管理卷管理
有2个设置文件被卷管理使用

/etc/vold.conf:卷管理设置文件。定义了当媒体插入或者弹出时的动作。什么设备是使用的,什么文件系统是不安全的并且要弹出的。
/etc/rmmount.conf:rmmount命令设置文件。Rmmount命令当一个光盘或者软盘被插入后,移除执行卷管理守护进程的装配进程的命令

不利用卷管理访问软盘或者光盘
当卷管理没有运行,则只有root可以装配和访问软盘或者光盘,使用下列步骤
1.插入媒体
2.变成root
3.如果必要,建立装配点
4.决定文件系统类型
5.装配设备时使用适当的装配选项
6.在媒体上工作
7.卸载媒体设备
8.弹出媒体设备
9.退出root会话

装配不同类型的文件系统

不同的文件系统类型有唯一的影响mount命令的功能

默认的mount命令是假定装配的文件系统是ufs文件系统。可是,当装配不同类型的文件系统时,他的类型必须在命令行中指定出来。

用户可以在mount命令上使用-F选项来指定装配的文件系统类型。

指定hsfs文件系统类型

在root权限下,当卷管理被停止的时候,将一个光盘的文件系统装配上来,使用:
# mount –F hsfs –o ro /dev/dsk/c0t6d0s0 /cdrom

指定pcfs文件系统类型
# mkdir /pcfs
# mount –F pcfs /dev/diskette /pcfs
阅读(2668) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

为什么删我号2010-03-03 10:20:49