xiyoukeke 2010-04-27
注:由于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
BootLoader
Partitiontable注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
用户可执行文件:/bin、/usr/bin、/usr/local/bin. 系统可执行文件:/sbin、/usr/sbin、/usr/local/sbin. 内核数据与Bootloader:/boot