365bet体育|www.635288com-365体育手机在线

热门关键词: 365bet体育,www.635288com,365体育手机在线

从盘片的结构上看

2019-12-19 作者:365bet体育   |   浏览(63)

linux磁盘与文件系统

一、磁盘物理结构

图片 1

  1. 磁盘 :由一个个盘片构成 , 从盘片的结构上看 , 图中的一圈圈灰色同心圆为一条条磁道 , 从圆心向外画直线 , 可以将磁道划分为若干个弧段 , 每一个磁道上一个弧段被称为一个扇区 , 扇区是磁盘的最小组成单元 , 通常是512字节 。
    图片 2
  2. 图片 3
  3. 磁盘分区: 指定分割区域起始与结束磁柱
  4. 磁盘分区是告诉操作系统 , 磁盘在此分割区域内 。 例如A磁柱到B磁柱之间的区块 , 如此一来 , 操作系统灸能够知道他可以指定区块进行文件读写查询操作 。
  5. 格式化: 因为每种操作系统所设定的文件属性权限 , 以及存放数据的格式不同 , 所以使用硬盘之前需要进行格式化 。

二、 文件系统

  1. Ext2Ext3Ext4的区别
    1. 这三个都是文件系统格式
    2. Linux kernel自2.6.28开始正式支持新的文件系统Ext4
    3. Ext4是Ext3的改进版 , 修改了Ext3中部分重要的数据结构 。
    4. Ext3相比于Ext3而言 , 只是增加了一个日志系统而已 。 Ext4可以提供更佳的性能和可靠性 ,还有更为丰富的功能 , 更大的文件系统和文件 。
    5. 较之Ext3所支持的最大16TB文件系统和最大2TB文件 , Ext4分别支持1EB(1048576TB 1EB = 1024PB 1PB = 1024TB)的文件系统和16TB的文件 。
    6. Ext3只支持32000个子目录 ,而Ext4支持无限数量的子目录 。
    7. Extents(区段)
      1. Ext3采用间接块映射 , 当操作大文件时 , 效率极其低下 , 比如一个100MB的文件 , 在Ext3中要建立25600个数据块(每个数据块为4kb)的映射表 。在Ext3中 , 每个物理块都要一个逻辑结构与之相对应。
      2. Ext4引入了Extents的概念 。 提高效率 。 每个Extents为一组连续的数据块 , 理想情况下 , 上述文件则只需要一个Extent来记录映射挂关系 。
    8. 多块分配
      1. 当写入数据到Ext3文件系统中时 , Ext3的数据块分配器每次只能分配一个4kb的块 , 写一个100MB的文件就要调用25600次数据块 , 而Ext4的多块分配器支持一次调用分配多个数据块 。
    9. 延迟分配
      1. Ext3的数据块分配策略是尽快分配 。 而Ext4的分配策略是尽可能的延迟分配 。 知道文件在catch中 写完才开始分配数据块写入磁盘 。
      2. 如此能优化整个文件的数据块分配 , 显著提升性能 。
    10. 快速fsck(文件系统检查)
      1. 老的fsck会很慢 , 因为他要检查所有的inode
      2. Ext4给每个组的inode表中过他们 , 而只是去检查那些在用的inode添加了 一份未使用的inode的列表 , 执行fsck就可以跳。
    11. 日志校验
      1. 日志是最常用的部分,也极易导致磁盘硬件故障 , 而从损坏的日志中 恢复数据会导致更多的数据损坏 。
      2. Ext4的日志校验功能可以很方便的判断日志数据是否损坏 , 将过去两阶段日志机制合并成一段 , 提高性能 。
      3. 两阶段日志提交:
        1. 文件系统将准备执行的事务的具体内容写入日志
        2. 文件系统进行操作
        3. 操作成功之后, 将事务的具体内容从日志中删除 。
    12. 无日志(Nojournaling)模式
      1. Ext4允许关闭日志 , 以便某些有特殊需求的用户可以借此进一步提升性能 。
    13. 在线碎片管理
      1. Ext4支持在线碎片整理 , 并提供e4defrag工具进行个别文件或整个文件系统的碎片整理 。
    14. inode相关特性
      1. Ext4支持更大的inode , 较之Ext3默认的inode大小128字节 , Ext4为了在inode中容纳更多的扩展特性(如纳秒时间戳或inode版本) , 默认inode大小为256字节
    15. 持久预分配
      1. P2P软件为了 保证下载文件有足够的空间存放 , 常常会预先创建一个与下载文件相同的空文件 , 以免未来的数小时或 数天之内磁盘空间不足导致下载失败。 Ext4在文件系统层面实现了持久预分配并提供相应的API , 比应用软件自己实现更有效率。
  2. swap介绍

    1. 使用磁盘存储 , 内存不够而”溢出”的内容 。
    2. 当系统的物理内存不够用的时候 , 就需要将物理内存中的一部分空间释放出来 , 以供当前运行的程序使用。
    3. 最容易成为被释放的对象 : 一些很长时间没有操作的程序 。 一些被释放的空间被临时保存在Swap空间中 。 等到那些被换出的程序要继续运行时 , 再从Swap中恢复保存的数据到内存中 。
    4. 一般来说可以按照如下规则设置Swap大小:
      1. 4G的物理内存 , SWAP设置为内存的2倍 。
      2. 4G-8G的物理内存 , SWAP设置为内存相同大小
      3. 8G-64G的物理内存 , SWAP设置为8G
      4. 64G-256G的物理内存 , SWAP设置为16G
    5. 系统什么时候会使用swap?

      1. 实际上并不是等所有的物理内存全部消耗完之后 , 才去使用swap空间

        [[email protected] ~]# cat /proc/sys/vm/swappiness60默认值是60 。 swappiness = 0时表示最大限度的使用物理内存 , 然后才是swap空间 , swappiness = 100 时 表示积极使用swap空间 , 并且把内存上的数据及时搬运到swap空间
        
      2. 修改swap参数:

        1. 临时性修改

          [[email protected] ~]#sysctl vm.swappiness = 10vm.swappiness = 10[[email protected] ~]# cat /proc/sys/vm/swappiness10这里已经做了修改 , 但是重启系统之后又会变成60 。 
          
        2. 永久修改

          在/etc/sysctl.conf文件中添加如下参数 : vm.swappiness = 10操作:[[email protected] ~]# vim /etc/sysctl.conf按i写入vm.swappiness = 10按esc输入wq(保存并退出)回车
          
      3. swap开启与关闭

        开启swapon -a关闭swapoff -a
        

三、文件系统的操作

  1. 挂载点

    1. 每个文件系统都有独立的 inode/block/superblock等信息 , 这个文件系统要能够链接到目录树才能被我们使用 。 将文件系统和目录树结合的动作称为挂载 。
    2. 挂载点一定是目录 , 此目录为文件系统的入口 。
    3. mount命令 : 将设备挂载到某个目录
    4. mount常用参数
      1. -t : 指定设备的文件系统类型
        1. Ext4 linux目前常用的文件系统
        2. nfs 网络文件系统
        3. iso9660 CD-ROM光盘标准文件系统
        4. auto 自动检测文件系统
      2. -o 指定挂载文件系统时的选项
        1. ro 以只读的方式挂载
        2. rw 以读写方式挂载
    5. umount :卸载目录或是挂载点
    6. 实例:

      [[email protected] tj]$ df -hFilesystem      Size  Used Avail Use% Mounted on/dev/sda2       8.6G  2.5G  5.7G  31% /tmpfs           491M  228K  491M   1% /dev/shm/dev/sda1       291M   34M  242M  13% /boot[[email protected] tj]$ lsblkNAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTsr0     11:0    1 1024M  0 rom  sda      8:0    0   10G  0 disk ├─sda1   8:1    0  300M  0 part /boot├─sda2   8:2    0  8.7G  0 part /└─sda3   8:3    0    1G  0 part [SWAP][[email protected] tj]$ su Password: [[email protected] tj]# mount /dev/sda1 /tj/udiskmount: mount point /tj/udisk does not exist[[email protected] tj]# mount /dev/sda1 outman02/tj/udiskmount: mount point outman02/tj/udisk does not exist[[email protected] tj]# lltotal 12drwxr-xr-x. 2 root root 4096 Nov  2 06:02 adrwxr-xr-x. 2 root root 4096 Nov  2 06:02 bdrwxr-xr-x. 2 root root 4096 Nov  4 23:53 udisk[[email protected] tj]# mount /dev/sda1 /udiskmount: mount point /udisk does not exist[[email protected] tj]# mount /dev/sda1 udisk[[email protected] tj]# lsblkNAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTsr0     11:0    1 1024M  0 rom  sda      8:0    0   10G  0 disk ├─sda1   8:1    0  300M  0 part /boot├─sda2   8:2    0  8.7G  0 part /└─sda3   8:3    0    1G  0 part [SWAP][[email protected] tj]# df -hFilesystem      Size  Used Avail Use% Mounted on/dev/sda2       8.6G  2.5G  5.7G  31% /tmpfs           491M  228K  491M   1% /dev/shm/dev/sda1       291M   34M  242M  13% /boot/dev/sda1       291M   34M  242M  13% /home/outman02/tj/udisk**如果挂载后查看U盘内容出现乱码**[[email protected] tj]# localeLANG=en_US.UTF-8LC_CTYPE="en_US.UTF-8"LC_NUMERIC="en_US.UTF-8"LC_TIME="en_US.UTF-8"LC_COLLATE="en_US.UTF-8"LC_MONETARY="en_US.UTF-8"LC_MESSAGES="en_US.UTF-8"LC_PAPER="en_US.UTF-8"LC_NAME="en_US.UTF-8"LC_ADDRESS="en_US.UTF-8"LC_TELEPHONE="en_US.UTF-8"LC_MEASUREMENT="en_US.UTF-8"LC_IDENTIFICATION="en_US.UTF-8"LC_ALL=[[email protected] tj]# man mount[[email protected] tj]# mount -o iocharset=utf-8 /dev/sda1 /home/outman02/tj/udisk
      
    7. /etc/fstab文件:开机一道的时候自动挂载到Linux的文件系统 。

    8. df :列出文件系统整体磁盘使用情况

      1. -a : 列出所有文件系统
      2. -k : 以Bytes对的容量显示文件系统
      3. -m : 以MBytes的容量显示文件系统
      4. -h : GBytes、MBytes、KByte等格式自行显示
      5. -i : 以inode数量显示

        [[email protected] tj]# df Filesystem     1K-blocks    Used Available Use% Mounted on/dev/sda2        8985528 2600612   5928468  31% /tmpfs             502204     228    501976   1% /dev/shm/dev/sda1         297485   34642    247483  13% /boot/dev/sda1         297485   34642    247483  13% /home/outman02/tj/udisk[[email protected] tj]# df -aFilesystem     1K-blocks    Used Available Use% Mounted on/dev/sda2        8985528 2600612   5928468  31% /proc                   0       0         0    - /procsysfs                  0       0         0    - /sysdevpts                 0       0         0    - /dev/ptstmpfs             502204     228    501976   1% /dev/shm/dev/sda1         297485   34642    247483  13% /bootnone                   0       0         0    - /proc/sys/fs/binfmt_miscvmware-vmblock         0       0         0    - /var/run/vmblock-fuse/dev/sda1         297485   34642    247483  13% /home/outman02/tj/udisk[[email protected] tj]# df -kFilesystem     1K-blocks    Used Available Use% Mounted on/dev/sda2        8985528 2600628   5928452  31% /tmpfs             502204     228    501976   1% /dev/shm/dev/sda1         297485   34642    247483  13% /boot/dev/sda1         297485   34642    247483  13% /home/outman02/tj/udisk[[email protected] tj]# df -mFilesystem     1M-blocks  Used Available Use% Mounted on/dev/sda2           8775  2540      5790  31% /tmpfs                491     1       491   1% /dev/shm/dev/sda1            291    34       242  13% /boot/dev/sda1            291    34       242  13% /home/outman02/tj/udisk[[email protected] tj]#  df -hFilesystem      Size  Used Avail Use% Mounted on/dev/sda2       8.6G  2.5G  5.7G  31% /tmpfs           491M  228K  491M   1% /dev/shm/dev/sda1       291M   34M  242M  13% /boot/dev/sda1       291M   34M  242M  13% /home/outman02/tj/udisk
        
    9. du : 文件系统的磁盘使用量或是目录使用量

      1. -a : 列出所有文件的目录容量
      2. -h : 以人们易读的格式(G/M)显示
      3. -s : 列出总量 , 而不列出每个个别目录占用容量
      4. -k : 以Bytes列出容量显示
      5. -m : 以MBytes列出容量显示

        [[email protected] tj]# du251 ./udisk/efi/EFI/redhat24439   .[[email protected] tj]# du -a3   ./udisk/grub/splash.xpm.gz16  ./udisk/grub/reiserfs_stage1_52   ./udisk/grub/device.map1   ./udisk/grub/menu.lst276 ./udisk/grub24427   ./udisk4   ./a4   ./b24439   .[[email protected] tj]# du -h13K ./udisk/lost found276K    ./udisk/grub24M ./udisk24M .[[email protected] tj]# du -s24439   .[[email protected] tj]#  du -k24427   ./udisk4   ./a4   ./b24439   .[[email protected] tj]# du -m1   ./udisk/efi/EFI/redhat1   ./b24  .
        
    10. dumpe2fs : 观察文件系统

      1. dumpe2fs [options]

        1. -h : 仅列出superblock的数据 , 不会列出其他区段的内容

          [[email protected] ~]#dummpe2fs -h /dev/sda1
          

一、磁盘物理结构 1. 磁盘 :由一个个盘片构成 , 从盘片的结构上看 , 图中的一圈圈灰色同心圆为一条条磁道 , 从...

本文由365bet体育发布于365bet体育,转载请注明出处:从盘片的结构上看

关键词: bt365娱乐登录