4.linux磁盘管理

磁盘管理

回忆:计算据的组成:
cpu, 内存,
存储设备(磁带机,软盘,硬盘,光盘,U盘,存储卡)
用来永久性的存储数据。
服务器,使用 硬盘 来存储数据。

硬盘:
机械式硬盘
固态硬盘

机械式硬盘的结构:
硬盘包含多个盘片
每个盘片包含2个盘面
每个盘面包含多个磁道
每个磁道包含多个扇区
每个扇区包含512字节

每个盘面有1个磁头
磁头悬浮在盘面上

多个同半径的磁道,组成1个“柱面”
1个分区包含多个“柱面”

补充:低级格式化
      创建分区
      很耗时。

MBR(主引导记录)
位于硬盘的第0个磁道的第0个扇区中。
512字节。

分成3个部分。
第1个字节到第446个字节:
    存放BootLoader(一段程序),用来引导系统。
其后的64个字节:(分区表)
    每16个字节,用来表示1个分区。
    共4个分区。
最后2个字节:
    Magic Number(魔数)
    就是一串字符。
    用来标识这个MBR是否有效。

分区表
主分区和扩展分区,一共最多4个。
3个主分区+ 1个扩展分区
很多分区工具,常常把第4个分区自动设置为扩展分区。

为什么要分区:
    主要为了数据安全。

启动顺序
电脑上电后,首先启动的是 BIOS
BIOS:是一段程序,用来对系统的硬件做最基本的初始化

然后执行硬盘中的BootLoader, 用来引导系统(引导操作系统的内核)

最后再启动操作系统的内核。
内核启动后,再引导系统的基本“文件系统”

补充:
操作系统含有:
    内核:用来直接管理硬件。
    基本文件系统,以及基本的应用

磁盘的分区方法:
按柱面划分
补充:
硬盘的参数:
1)RPM(每分钟转多少圈)
5400,7200,10000,15000
柱面号越小(靠近最外面),访问效率越高
也就是windows的系统安装在c盘的原因。
2)平均寻道时间

文件系统
用来管理文件的存储位置,以及其他与文件管理相关的功能。

文件系统把每个分区,分成两个部分:
1)元数据区域
    (1)表示“存储块”是否可用的位图。
     (2) 表示每个文件的inode条目表(包含多个inode条目)
    (3)表示每个条目是否可用的位图

2)数据区域
    用来存放文件数据的。

补充:存储块
就是分区中的数据区域中,在逻辑上划分为大小相等的多个“块”。
一般为1024字节,或2048,或4096字节,在分区时可以设置。

inode表
    包含多个inode(又称为"条目")
    每个inode表示1个文件的如下信息:
        inode号
        文件的属主
        文件的权限
        文件的大小。
        存储块的位置
        时间戳
        注意:没有包含文件名

目录:
    目录是1个特殊的文件。
    目录文件中,包含该目录下的文件名以及该文件的inode号
    每个文件名,以及它的inode号,称为“目录项”
    注意:该文件的子目录中的文件不包含。
          目录项中,只存储直接位于该目录下的文件和子目录。

注意:要理解根据”路径/文件名”查找文件的过程。

如果要访问: /root/data/dir1/dir2/dir3/dir4/dir5/test.txt
            要访问多次目录文件和元数据区中的条目表。
            为了提高性能:使用缓存,
            即把最进访问的文件的inode号缓存到内存。

创建文件的过程
比如,创建文件 /root/test.txt
1)在元数据区中,找到1个空闲的条目。
2)然后在该文件的上级目录文件,添加1个目录项
test.txt的inode号 test.txt

删除文件的过程
1)在该文件的上级目录的目录文件中,删除对应的目录项
2)把inode位图中删除对应的位清0

文件并没有被真正删除,可以使用工具软件恢复。

文件的剪贴(移动mv)
在同一个分区中:
非常快
只需要在原上级目录文件中,删除对应的目录项
并在目标目录文件中,添加对应的目录项。

    文件的inode和存储位置都没有发生变化。

在不同的分区之间:
就相当与,在目标分区中创建了1个新的文件。
并把原分区的对应文件删除。

块组:
为了进1步提高性能,实际的文件系统常常把一个分区,
划分成多个块组(相当与“子分区”)
每个块组,又有元数据区,和数据区

链接文件:
比较:windows系统中,有“快捷方式”
在Linux系统中,有2种链接文件。

1)硬链接
   硬链接文件的inode,是已存在文件的inode

   创建硬链接:
   例如:
   #  ln  test.txt  dir/test2.txt
   在dir目录下创建了一个新的硬链接文件test2.txt
   这个文件和 test.txt有相当的inode号
   而且使test.txt的“硬链接”次数加1

   当删除1个文件时,会把它的硬链接数减1,
   如果减到了0,才真正删除这个文件。

  即,硬链接,会影响被链接文件的“硬链接”数。

   不能对目录进行硬链接,以防止循环链接。

2)符号链接(软链接)
   相当与windows系统中的快捷方式。
   #  ln  -s  /root/Desktop/note/test.txt   dir/test2.txt
      在dir目录下,创建1个软链接(符号链接)test2.txt
      该文件“指向”/root/Desktop/note/test.txt

      软链接的本质:文件内存放的是目标文件的路径

   特点:
   1)把目标文件删除后,该符号链接就不能访问了。
   2)符号链接,不影响目标文件的硬链接次数。
   3)符号链接,可以指向“目录”。
   4)符号链接,可以跨“文件系统”。(硬链接不可以)
   5)符号链接,大小就是路径的长度。

du命令
du 目录
用来显示该目录下各文件的大小

du  -s 目录
用来显示该目录总的大小。

df命令
df
用来显示分区的情况
df -h
-h,把分区的大小换算成合适的单位。

df -i
-i, 显示使用的inode的情况

Linux的文件系统
Linux的文件系统,是VFS
VFS (virtual file system)虚拟文件系统。
使得系统能够同时支持多个文件系统。
VFS, 向用户提供统一的接口,来操作、管理文件。

常用的文件系统:
    Fat, Fat32,  单个文件不能超过4G
    ntfs,
    ext2,ext3,ext4, reiserfs, 
    ISO9660

补充:Linux系统的用户空间和内核空间
文件系统,也位于内核空间。

创建分区
1)装系统时,需要分区
2)添加1块新的硬盘时,需要分区。

fdisk 设备名
例如:fdisk /dev/sdb

对分区格式化
查看当前系统支持的文件系统格式:
cat /proc/filesystems

格式化:
mkfs -t 文件系统类型 设备名
例如:
mkfs -t ext4 /dev/sdc1
或者:
mkfs.ext4 /dev/sdc1

调整分区的信息
tune2fs
1) tunefs -c 100 /dev/sdc1
把/dev/sdc1分区的最大挂载次数设置为100
超过该次数,就自动执行磁盘检查。

     2)tunefs -L myData /dev/sdc1
        把分区/dev/sdc1的卷标修改为myData

检查并修复Linux文件系统
fsck
# fsck -t ext4 /dev/sdc1

# fsck -a /dev/sdc1
不指定文件系统的格式,自动修复。

查看分区的信息
blkid
例如: # blkid /dev/sdc1

挂载
分区并格式化后,就可以挂载到文件系统
就是把某个分区和指定的目录,关联起来。
以后,就可直接通过该目录来使用这个分区。

1)先创建挂载点
   一般在/mnt目录下挂载。

2)挂载
  格式:mount  设备名  挂载点
  例如:mount  /dev/sdc1   /mnt/study

注意:挂载成功后,会自动把这个这次挂载记录到 /etc/mtab 文件中。
      除非在挂载时,使用-n 选项。

卸载
方法1: umount /mnt/study
方法2: umount /dev/sdc1

注意:卸载要求,
 1)没有进程在使用挂载点
 2)不能挂载点内,卸载挂载点。

自动挂载
mount -a
该命令,会根据/etc/fstab文件中描述的信息,来自动挂载。

总结:新磁盘,需要先分区,再格式化,最后挂载。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值