【Linux学习】课时7 磁盘和文件系统管理

曾巧文 发布于:2012-4-16 17:16 分类:Linux学习 标签: 文件 分区 命令 Ubuntu linux 系统 课时 磁盘

1、磁盘和文件系统管理
理解磁盘分区及ext2/ext3文件系统
掌握磁盘及文件系统管理常用命令


2、硬盘结构
track : 磁道
sector : 扇区

3、硬盘结构
cylinder : 柱面
head : 磁头

 

4、硬盘分区
分区类型:主分区、扩展分区、逻辑分区
主分区+扩展分区 <= 4
原因:主引导扇区(硬盘第一个扇区)的分区表只能存储4个分区信息。


5、硬盘分区

6、硬盘分区

7、文件系统
是对一个存储设备(分区)上的数据和元数据进行组织的机制。
是对文件存储器空间进行组织和分配,负责文件的存储并对存入的文件进行保护和检索的系统。
是操作系统用于明确分区上的文件的方法和数据结构;即在磁盘上组织管理文件的方法。
例如:fat16、fat32、ntfs、ext2、ext3、ext4、ReiserFS、JFS、XFS

8、Linux文件组织
Linux系统使用树型目录结构,在整个系统中只存在一个根目录。Linux系统中总是将文件系统(分区)挂载到树型目录结构中的某个目录节点中使用。


 

9、Linux文件组织
/etc:存放系统管理相关的配置文件
/usr:存放应用程序和文件(比较大)
/var:经常变动的文件
/dev:存放表示系统设备的文件
/proc:内存的映射,实际存在于内存
/boot:系统启动的核心文件
/bin:普通用户的命令文件
/sbin:super用户root的命令文件

10、Linux文件组织
/home:普通用户的工作目录
/lib:存放共享库文件
/root:root用户的工作目录
/mnt:设备的默认挂载点目录
/lost+found:保存丢失的文件,每个分区都有一个lost+found目录
/tmp:系统的临时文件目录


11、认识ext2/ext3
VFS : 虚拟文件系统
介于文件系统和用户进程之间,一方面屏蔽底层各种文件系统的差异,另一方面为上层提供一个统一的接口。

12、认识ext2/ext3
基本概念
ext2是linux上标准的文件系统,ext3在ext2基础上增加了日志功能。
数据存储的单元是块 : 1block = 2n Sector
每个文件分两部分存储:属性和内容,属性存储在inode节点(128Bytes)中,内容存储在数据块中。


13、认识ext2/ext3
ext2文件系统分区的布局结构
认识ext2/ext3

分区的布局
超级块 (super block) : 记录整个文件系统的相关信息,如:block与inode的总量,block与inode的大小、使用与未使用的block和inode数量。
组描述 (group descriptors) : 记录各个块组的起始结束位置,块组内各部分的位置及使用情况。
块位图 (block bitmap ) 、inode位图: 用0和1表示对应的块(inode)是否可用。
inode表 : 存放inode节点信息 (文件的属性和位置)

15、认识ext2/ext3
访问一个文件的过程:/etc/passwd

16、磁盘管理的相关命令
df ( disk free ) 查看磁盘相关信息
df [-hi] [目录或文件名]
 h : 以GB、MB、KB等格式显示
 i : 以inode的数量来显示
 目录或文件名 : 显示目录或文件所在的文件系统
du ( disk usage ) 查看文件或目录大小
du [-has] [目录或文件名]
a : 显示所有,包括子目录内的内容大小
s : 显示总量

17、磁盘管理相关命令
fdisk 磁盘分区工具 (操作对象是磁盘)
fdisk [-l] [设备文件]
显示的是逻辑硬盘数据,不是物理数据
分区的最小单位是柱面 (cylinder)
-u 以扇区 (sector) 为单位显示
不加-l进入交互问答操作模式,m可以得到帮助
常用操作
p : 打印分区表信息  l : 显示已知分区类型
n : 创建一个分区    d : 删除一个分区
q : 不保存退出       w : 保存退出
操作示例:创建分区,删除分区,修改分区类型

18、磁盘管理相关命令
mkfs 分区格式化工具 (操作对象是分区)
格式:mkfs [-tbLc] 分区名
选项:
t : 类型(type)
b : 块大小(block size)
L : 卷标名称(Label Name)
例如:mkfs.ext3  /dev/sdb1
例如:mkfs.ext3 –b 2048 /dev/sdb5
例如: mkfs.ext3 –L backup /dev/sdb2
使用mkswap命令格式化交换分区
使用blkid命令查看已格式化的分区

19、设备的挂载和使用
挂载:
将设备分区和系统目录联系起来,条件:存在设备分区、存在目录、操作系统内核识别支持文件系统。
mount / umount 示例
mount /dev/sdb1 /backup
umount /backup
挂载u盘  (在虚拟机系统内,插入usb盘)
mkdir /mnt/usb  :  创建挂载点
fdisk -l  :   查看u盘对应的设备分区名
mount -t vfat -o iocharset=utf8 /dev/sdc4 /mnt/usb
注意:挂载和卸载时不可工作在挂载点目录下。

20、磁盘管理相关命令
配置文件/etc/fstab
配置系统启动时自动挂载的分区
/ 必须是最先挂载
第1、2列 (fs_spec  , fs_file): 分区名(设备名、卷标名、uuid号)和挂载点。
第3、4列(fs_type , fs_options):文件系统类型和挂载选项
第5 (fs_dump):dump选项,被dump命令用来检查一个文件系统是否可以转存备份
第6列(fs_pass):fsck选项,被fsck命令用来检查被扫文件系统的 顺序,0表示启动时无需扫描。

 

21、磁盘管理相关命令
文件系统检查命令:fsck
fsck : ( filesystem check) (文件系统未被载入时用)
格式:fsck [-prV] [-t <文件系统类型>] [设备名]
p : 自动修复      r : 询问修复   V : 显示过程
示例: fsck.ext3 rV /dev/sdb5
强制将内存写入硬盘命令: sync
数据总是先缓存在内存中的,系统会等到适当的时机自动将内存中才数据写入硬盘,这样可以提高效率。
系统正常关机时也会执行sync命令。

22、磁盘管理相关命令
磁盘备份命令 : dd (裸机备份)
格式:dd if=“input” of=“output” bs=“blockSize” count=“number”
示例:
dd if=/etc/passwd of=passwd.bak
dd if=/dev/sdb of=mbr.bak bs=512 count=1
dd if=/dev/sdb1 of=/dev/sdb2/sdb1.bak
dd if=mbr.bak of=/dev/sdb bs=1 skip=446 seek=446 count=64
dd命令的备份恢复和文件系统无关,备份一个分区(硬盘)时,无论这个分区的使用空间是多少,都将整个分区(硬盘)一起备份。

23、磁盘管理相关命令
磁盘备份命令:cpio
通过数据流重定向的方法,将文件进行输入/输出的一种方式。常与find一起使用。
备份格式:cpio –covB > [file|device]
恢复格式:cpio –icdvt < [file|device]
o : copy out 将数据复制输出到文件或设备
i : copy in 将数据从文件或设备输入到系统
d : make dir 在还原时,自动创建相应目录
示例:
find /etc -type f | cpio -ocvB >etc.cpio
cpio –icdvt < etc.cpio (相对路径)
cpio –icdvt --absolute-filenames < etc.cpio

24、LVM 逻辑卷管理
Logical Volume Manager
以卷(Volume)为单位,以便可以弹性地使用(或调整)磁盘空间。而不像传统的磁盘以分区(Partition)为磁盘的单位。
可以将多个物理分区通过软件,整合在一起,让这些分区看起来就像是一个独立的大磁盘一样。要使用这个大磁盘,还需要将它分割为可以使用的卷。
可以动态地增加或减少某一卷的大小。
是建立在磁盘分区和文件系统之间的一个逻辑层。
LVM 仅能弹性地使用(或调整)磁盘空间,无法提供磁盘阵列的容错能力。

 

25、LVM 逻辑卷管理
LVM 的创建流程图
PV:物理卷 VG:卷组 LV:逻辑卷

26、LVM 逻辑卷管理
LVM 的创建流程图

27、LVM 逻辑卷管理
LVM命令


28、LVM 逻辑卷管理
步骤1:创建物理分区
使用fdisk 划分分区,分区类型Linux LVM (8e)
不要格式化分区
步骤2:创建物理卷
使用命令: pvcreate 分区设备名1 分区设备名2 …
跟 PV 有关的命令还有:
pvcreate:将物理分区制作成 物理卷 PV
pvscan:搜索所有的具有 PV 属性的磁盘
pvdisplay:显示当前系统上的 PV 状态
pvremove:删除PV 属性,让其成为一般分区
partprobe:立刻更新分区表而不必重启。

29、LVM 逻辑卷管理
步骤3:创建卷组
一个卷组是由一个或多个物理卷组合而成的。
创建卷组:vgcreate 卷组名 物理卷
激活|停用卷组:vgchange –a y|n  卷组名
跟 VG有关的命令还有:
vgscan:搜索系统里有多少个卷组 VG 存在
vgdisplay:显示指定的 VG 或所有 VG 的信息
vgextend:在VG 中增加额外的物理卷 PV
vgreduce:在卷组 VG 中删除物理卷 PV
命令格式: vgreduce(vgextend) 卷组名 物理卷
vgremove:删除一个卷组 VG 本身

30、LVM 逻辑卷管理
步骤4:创建逻辑卷
在VG中分区(逻辑卷LV)。
创建逻辑卷:
lvcreate  -L [sizeMG]  -n [LVname] VGname
格式化挂载逻辑卷:/dev/myvg1/mylv1
跟 LV有关的命令还有:
lvscan:查询系统上的 LV
lvdisplay:显示系统上的 LV 状态
lvremove:删除一个 LV 本身
lvextend:在 LV 里增加容量
lvreduce:在 LV 里减少容量
lvresize:对 LV 进行容量大小的调整

31LVM 逻辑卷管理
加大卷组
vgextend 卷组名 物理卷名
加大逻辑卷
先放大LV : lvextend -L sizeMG lv_device
再放大文件系统 : resize2fs lv_device
减小逻辑卷
先卸载文件系统 : umount 载入点
再检查分区 : e2fsck –f lv_device
再缩小文件系统 : resize2fs lv_device sizeMG
再减小逻辑卷 : lvreduce –L sizeMG lv_device

版权所有:《曾巧文博客-关注互联网IT技术,记录生活点滴》 => 《【Linux学习】课时7 磁盘和文件系统管理
本文地址://qiaowen.net/post-1152.html
除非注明,文章均为 《曾巧文博客-关注互联网IT技术,记录生活点滴》 原创,欢迎转载!转载请注明本文地址,谢谢。

有 4102 人浏览,获得评论 0 条

发表评论:

Powered by emlog 粤ICP备12040901号

>>本作品采用-知识共享署名-非商业-禁止演绎-协议-进行许可 |站点地图 | | | | 开放分类目录 |