首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

RHCE学习札记:RH133 2.4-管理文件系统

2012-08-14 
RHCE学习笔记:RH133 2.4-管理文件系统注:由于Javaeye博客和本人博客(http://mven.cn)格式不同,转载时需改

RHCE学习笔记:RH133 2.4-管理文件系统

注:由于Javaeye博客和本人博客(http://mven.cn)格式不同,转载时需改格式,故RHCE学习笔记不再发布在百度空间里,大家可以访问以下地址获得:

个人博客:http://mven.cn

CSDN博客:http://blog.csdn.net/eryin

51CTO博客:http://eryin.blog.51cto.com/

------------------------------------------华丽的分割线------------------------------------------

RHCE是Red Hat Certified Engineer的简称——红帽认证工程师 始于1999年3月。

Red Hat是全世界Linux厂商中的龙头老大,其市场占有率从1999年起就已超过了50%。并在业界得到广泛应用。而红帽认证工程师也是业界公认的最权威的Linux认证之一。RHCE 是世界上第一个面向Linux 的认证考试,它不是一个普通的认证测试,和其他操作系统认证考试相比,它没有笔试,全部是现场实际操作,所以RHCE成了业界公认的最难的认证考试之一。Red Hat在北京举行的RHCE十年庆典中统计表明,截至2009年6月,中国大陆通过人数为2037人。

RH133 是讲红帽Linux系统管理:涵盖了红帽认证技师需掌握的技能。

本笔记基于培亚RHCE教学视频,学习的目的是系统的了解Red Hat Enterprise Linux,希望对大家有所帮助。

本笔记每周发布一章,时间暂定于每周5下午18时0分,本章是RHCE中RH133中的第4章-管理文件系统,RH133前面三章和RH033的内容会陆续补齐,感谢大家的关注。

本章目录:

2.4.1、系统初始时如何辨别硬碟设备

2.4.2、磁碟分割的相关事项

2.4.3、管理磁碟分割区

2.4.4、建立文件系统(格式化磁碟分割区)

2.4.5、将ext2的格式转成ext3和两者的异同

2.4.6、设定磁碟分割区的Labels

2.4.7、挂载(mount)磁碟分割区

2.4.8、挂载(mount)的参数

2.4.9、如何卸载(umount)文件系统

2.4.10、挂载文件系统范例

2.4.11、挂载共享目录

2.4.12 /etc/fstab 开机执行的挂载文件

2.4.13、自动挂载程序Auto-Mounter

2.4.14、ext2/ext3文件系统的属性设置

2.4.15、虚拟内存设置(Swap)

2.4.16、维护文件系统的工具和重要的相关事项

2.4.17、增加新硬碟

?

2.4.1、系统初始时如何辨别硬碟设备


根据MBR来识别,MBR共分为512Bytes。

446Bytes
?16x4Byte
?2
?
Boot Loader
?Partition table注1
?
?

注1:Partition包含以下三个部分

1)、Partition ID? (5:延申? 82:Swap?? 83:Linux?? 8e:LVM???? fd:RAID)

2)、Partition起始磁柱????????? 3)、Partition的磁柱数量

综述:Linux在初始时通过Partition table的信息识别硬碟设备。

2.4.2、磁碟分割的相关事项


IDE:63个Partition?????? SCSI:15个Partition

为何要分多个Partition?

1)、便于控制,分为多个Partition可以将应用程序、用户资料、保密信息分别存放;

2)、效率,硬碟在便用一段时间后,会发生区块不连续的情况,搜索范围太大,太慢;

3)、Quotas,磁盘限额,仅能用于Partition;

4)、资料恢复,便于备份,只备份一个Partition,如/home。

?

2.4.3、管理磁碟分割区

#fdisk –l /dev/sda/?????? #列出sda的Partition tables

#fdisk /dev/sda/???? #管理Partition

指令说明:m帮助??? d删除?? n建立?? p显示?? q离开?? t改ID?? w保存并退出

建立步骤:输入n >> 起始磁柱编号>> 最后磁柱编号(每个磁柱8M)或增加容量大小(+100M或+1000K) >> 回车

删除步骤:输入d >> Partition编号 >> 回车

保存修改后,必须使用partprobe指令初始化Partition table或者重新启动系统才能生效。

?

2.4.4、建立文件系统(格式化磁碟分割区)

格式化(Format)是指把Partition切割成block(资料存放的最小单位),指定有多少inodes,每多个block会组成block group。

除了boot sector外,第一个block是Super block,存放这个Partition中有多少个block和inode,已经用了多少个block和inode。如果Super block损坏,则Partition无法使用,所以每隔多个block会备份一个Super block。

#dumpe2fs /dev/sda1 | more???????? #查看Partition资讯并一页一页的显示

#mke2fs –options device

参数说明:

-b每个block的size是多少bytes,最大为4096

-c 格式化前先检查Partition里有没有损坏的block

-i每个inode的size是多少bytes

-N inode的总数量

-m保留多少空间给super-user,即root,默认为5%

-L 设定label(可以理解为标签)

-j 设置ext3的格式,包含journal的功能

?

2.4.5、将ext2的格式转成ext3和两者的异同

ext2和ext3的异同:

基本一模一样,只是ext3会在最后拿出一块空间留给journal。

ext2写入数据时,先写入buffer里,buffer写满了再写入到硬碟。

ext3写入数据时,先写入buffer里,buufer写满要写入硬碟时,先通知journal,写入完成后,再通知journal。

解释:如果非正常关机,ext2的格式开机后检查所有文件,而ext3只检查journal,时间快很多。

转换操作说明:

#tune2fs –j /dev/sda1

ext3有三种journal模式:

·ordered,默认的,只会记录mate-data,也就是inode table里的资讯

·journaled,记录资料本身的资讯,需要很大的空间

·writeback,不会记录inode table和资料本身的资讯,但会提供较好的效果

?

2.4.6、设定磁碟分割区的Labels

#e2label /dev/sda1?????? #查看Partition的label名称

#e2label /dev/sda1 data???? #设定/dev/sda1的label名称为data

?

2.4.7、挂载(mount)磁碟分割区

在读取光碟或软碟时,必须把它们对应到某个目录上,这个目录就叫做mount_point(挂载点)

#mkdir /data???????????????????? #建立/data目录

#mount /dev/sda1 /data??? #把/dev/sda1挂载到/data目录上

#umount /data????????????????? #卸载/data目录

#mount –L /data /data?????? #将/data(/dev/sda1的label)挂载到/data目录上

?

2.4.8、挂载(mount)的参数

mount [-tvfstype] [-o options] device mount_point

-t vfstype(文件类型)

(vfat(windows可读),ext2,ext3,iso9660(光碟),etc)

通常不需要-t

-o 参数说明:

·suid 挂载后可使用suid或sgid的特殊权限

·dev 允许挂载的文件系统建立device files,如/dev/sda1等系统里存在的文件

·exec 可执行里面的可执行文件

·auto 开机后自动挂载此文件系统

·nouser 允许super user挂载这个文件系统

·async 不同步(asynchronously),先写入buffer里,再写入硬碟,可提高效率

·loop 用来挂载loopback的设备,如光碟

·ro 只读?????????? rw 可读写

默认使用:rw,suid,dev,exec,auto,nouser,and async

?

2.4.9、如何卸载(umount)文件系统

#umount? device | mount_point????????? #指定卸载的设备或目录

正在使用中无法卸载的解决办法:

#fuser –v /data???????????????? #显示哪个服务或哪个用户正在使用/data

#fuser –km /data???????? #停止所有对/data文件系统的操作然后再umount

直接改变文件系统的状态:

#mount -0 remount,ro /data??? #将/data改为只可读,参数为“零”

?

2.4.10、挂载文件系统范例

挂载不允许执行的文件系统

#mount -0 noexec /dev/sda1 /data?????

挂载光碟映像文件

#mkdir /iso??????????? #建立挂载点

#mount –t iso9660 –o ro,loop boot.iso /iso?????????? #格式为iso9660,参数只读、光碟格式

?

2.4.11、挂载共享目录

NFS(Unix/Linux对Linux)

查看有哪些共享目录

# showmount –e ip

挂载共享目录

# mount ip:/share/nfs /mnt/ftp

SMB(Unix/Linux对Windows)

查看有哪些共享目录

# smbclient -L IP -N

挂载共享目录

# mount //ip/share_name /mnt/nfs -0 username=user%pass

?

2.4.12 /etc/fstab 开机执行的挂载文件

Label=/home??? /home? ext3??????????????? default??????? 1???????????????????? 0

设备???????????????? 挂载点?? 文件系统类型????? 参数注1?????? dump_frep注2 先后顺序 注3

注1:见2.4.8

注2:dump的次数(天),意为清除垃圾文件,次数为设置的值。

#cp /etc/fstab /etc/fstab.bak???????? #备份fstab文件为fstab.bak

#vi /etc/fstab

按下yy复制/home那一行,然后按下p粘贴。

修改/home部分为/data,检查后面的参数,确认后即可。

注3:0为忽略不检查,1为第一个检查,2为第二个检查,如果有多个1,则从上到下

?

2.4.13、自动挂载程序Auto-Mounter

进入挂载点的时候,自动挂载2.4.11讲的共享目录,默认60秒自动断开。

下面设置Auto_Mounter的配置文件:

#vi /etc/auto.master??????????????? #编辑Auto_Mounter的主要配置文件

/mnt/nfs????????? /etc/auto.nfs????????? --timeout=60

要监控的目录????? 挂载设置文件?????????? 60内无动作自动卸载

#cp /etc/auto.misc /etc/auto.nfs

server1??????????? -ro,soft,intr????????????????????????????????? ip:/share/nfs

服务器名称??????? 只读,发生错误时记录,允许中断????? 共享的地址和目录

#cd /mnt/nfs/server1???????? #挂载成功后在/mnt/nfs不显示,直接进入会报错,需重启服务

#service autofs restart????? #启动Auto-Mounter的服务

?

2.4.14、ext2/ext3文件系统的属性设置

#lsattr test???????????????? #查看test的属性,不加任何参数可查看本目录下的所有文件

#chattr +|-|=attribute[attribute..] file [file..]???? #改变文件或多个文件属性加或减

ext2/ext2 Filesystem Attributes 文件系统属性

·A 当文件被修改时存取的时间记录不会被修改

·a 只允许附加内容,不允许覆盖原有内容

·d 使用dump指令备份时跳过这个文件

·i 文件永远不改变,不能删除或更改名称

·j 将文件资讯记录到ext3的journal里,即使挂载为ordered或writeback参数

·S 当文件被修改时,立刻同步,并写入硬碟

实验:#vi test????????????? #建立test文件并输入a\b\c三行

#chattr +a test??????????? #为test文件加上a的属性

#cat > test????? #测试是否可以覆盖test文件里的内容,结果报错Operation not permitted

#cat >> test??? #附加内容,随便输入一些字符,然后按Crtl+C退出

#chattr –a test??????????? #为test文件减去a的属性

#chattr =aAS test??????? #为test设置aAS的属性

#chattr = test????????????? #删除所有属性

?

2.4.15、虚拟内存设置(Swap)

两种类型:1、Partition? 2、File

基本设定:1、建立Partition或File,如是Partition,ID要为82;

2、使用mkswap指令对Partition或File写入Swap特殊的识别标志;

3、修改/etc/fstab文件,以便开机后自动挂载Swap

4、使用swapon –a ,如果不加名称则启用所有(Partition)或swapon swapfile启用Swap

使用swapon –s检查Swap的使用情况

举例说明_1、使用Partition

#fdisk /dev/sda?????????? #建立Partition,见2.4.3,这里不做示范

改ID步骤:输入t >> Partition号 >> 输入ID(82(L可看到列表))>> w(保存退出)

#partprobe??????????? #使新的Partition Table生效,或用重启的方式

#mkswap /dev/sda7???? #为/dev/sda7写入Swap标志

#vi /etc/fstab????????????? #修改/etc/fstab文件,复制原来的swap行,只需修改第一列为新建立的Swap Partition(/dev/sda7)

/dev/sda7??????? swap??? swap??? defaults?????????? 0 0

#swapon –a??????????????? #启用/etc/fstab文件里记录的所有Swap

举例说明_2、便用Files

#dd if=/dev/zero of=/swap/swap bs=100M count=10

dd是用来转换并复制档案,if输入,of输出,block大小为10M,建立10个block

#mkswap /swap/swap??????? #为/swap/swap写入Swap标志

#vi /etc/fstab??????????????????? #修改/etc/fstab文件,复制原来的swap行,只需修改第一列为新建立的Swap File

/swap/swap????? swap??? swap??? defaults?????????? 0 0

#swapon /swap/swap??????? #启用/swap/swap为Swap

?

2.4.16、维护文件系统的工具和重要的相关事项

·fsck指令,如果有遗失或损坏,检查Filesystem的一致性,也就是检查有无遗失或损坏

#umount /data??????????? #先卸载文件系统

#fsck –y /dev/sda1????? #y的参数是检查途中如果有问题,则自动回答yes

#mount /data????????????? #检查完没问题的话再挂载/data

·电脑在开机时就会检查Filesystem的文件有没有遗失或损坏

根据/etc/fstab最后一栏检查,顺序见2.4.12注3

·检查出有问题的直接放在lost+found目录里,如果有文件出问题了,可以在这儿找找看

·如果在开机时发生了严重的错误,会用Sulogin的方式启动,即为Repair filesystem(修复文件系统)

举例说明_1:修复/etc/fstab严重错误

#vi /etc/fstab????????????? #修改/etc/fstab文件,使其出现严重错误,如:

LABEL=abc????? /????????? ext3????????? defaults?????????? 1 1

重新开机后,就会报严重的错误,在启动界面输入root的密码后

(Repair filesystem)2 # mount –o remount,rw /dev/sda2? #重新挂载为可读可写

(Repair filesystem)2 # vi /etc/fstab

LABEL=/????????? /????????? ext3????????? defaults?????????? 1 1

举例说明_2:ext2文件系统已经有资料,转成ext3文件系统

#umount /dev/sda1????????????????????? #卸载文件系统

#tune2fs –j /dev/sda1????????????????? #转换ext2为ext2格式

#mount /dev/sda1??????????????????????? #挂载文件系统

#dumpe2fs /dev/sda1 | more???????? #查看Partition资讯并一页一页的显示

#dumpe2fs –h /dev/sda1????????????? #h参数意为Super block的信息

?

2.4.17、增加新硬碟

·将物理硬盘接到电脑上

·电脑开机后用建立新的Partition,并决定Partition ID

·建立完使用partprobe指令让新的Partition table生效

·格式化Partition,如是Swap Partition则写入Swap标志

·如果用label表示法,则为Partition设定一个label名称

·建立新的挂载点,即目录,将Partition挂载目录上

·修改/etc/fstab,写入新建的Partition挂载信息


本文来自:韦少乾博客(mven.cn)
详细出处:http://mven.cn/post/57.html

热点排行