文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Linux磁盘分区及文件系统管理

2023-06-05 20:07

关注

这篇文章主要讲解了“Linux磁盘分区及文件系统管理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux磁盘分区及文件系统管理”吧!

一、Linux磁盘 

   iops :  io per second   磁盘接口类型:       IDE  : 并口,在高频下容易出错,133MB/s;       SATA : 串口,可高频,6gbps(1gbps=128MB/s)       SCIS : 并口,ultrascsi320 ,320MB/s       SAS  : 串口,6gbps       USB  : 串口,480MB/s
    硬盘类型:        机械硬盘            track :磁道            sector:扇区            cylinder: 柱面,分区基于柱面;            平均寻道时间: 5400rpm,7200rpm,10000rpm,15000rpm                (铀分离的设备的转速达到30000rpm,机械硬盘这个转速已经很厉害了)                高转速产生大量的热能,任何微小的尘粒在如此高转速下都会对硬盘造成影响)
    linux的设备类型:        块(block) : 随机访问;          字符(character):线性访问;
    设备文件: FHS         /dev           设备文件: 关联至设备的驱动程序,设备的访问入口;           设备号:               major:主设备号,区分设备类型,用于标明设备所需要的驱动程序;               minior:次设备号,区分同种类型下的不同的设备,是特定设备的访问入口;    设备文件名            磁盘:               IDE:/dev/hd[a-z]               SCSI,SATA,SAS,USB: /dev/sd[a-z]            注意: Centos6和7统统将磁盘设备文件标识/dev/sd【[a-z]#               如 /dev/sda                  /dev/sda1,/dev/sda2;...     引用设备的方式: 设备文件名,卷标,UUID

    磁盘分区:

    MBR及其使用:       MBR: Master Boot Record        特点:            占据磁盘0号sector,512bytes,分为三部分:            446bytes:bootloader程序,引导启动操作系统;            64bytes : 分区表,每16个bytes标识一个分区,一共只有4个分区;                4个主分区或者3主+1个扩展分区(多个逻辑分区);            2bytes  : MBR区域的有效性标识,55AA为有效;

   GPT及其使用。

      GPT:Globally Unique IdentifierPartition Table Format  全局唯一标识符分区表。      特点:          驱动器上的每个分区都有一个全局唯一的标识符;          支持几乎无限个分区数量,除非操作系统作出了限制;          MBR占用的第一个sector现在是LBA0,GPT使用了34个LBA区块来纪录分区信息(第一个sector依然兼容的MBR);          GPT 除了前面34个LBA 之外,整个磁盘的最后33个LBA也拿来作为另一个备份。             LBA0 (MBR 相容区块)与MBR模式相近,前446B还是boot loader,后64B换成一个特殊标记,用于表面此磁盘是GPT格式。             LBA1 (GPT 表头纪录)纪录分区表本身的位置与大小,备份 GPT 分区 放置的位置,以及校验码             LBA2-33 (实际纪录分区信息处)从LBA2区块开始,每个LBA都可以纪录4个分区纪录,所以在默认的情况下,总共可以有4^32 = 128个分区纪录
        传统BIOS---->MBR格式。        UEFI    ---->MBR格式+GPT格式  (Unified Extensible Firmware Interface:统一的可扩展固件接口)

  linux下GPT分区:

      这里使用parted命令,fdisk也有gpt分区操作。        (1)[root@localhost tmp]#parted;        (2)help;        (3)select device;        (4)mklabel gpt;        (5)mkpart;                     ---输入分区名字;                   ---文件系统;                   ---起始点,不要用0开头;                   ---终结点;                   ---起始点,可以用#G;            此时已经分区成功        (6)print 查看        (7)quit
[root@localhost tmp]# partedGNU Parted 3.1Using /dev/sdaWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) select /dev/sddUsing /dev/sdd(parted) mklabel gptWarning: The existing disk label on /dev/sdd will be destroyed and all data onthis disk will be lost. Do you want to continue?Yes/No? yes                                                               (parted) mkpart                                                           Partition name?  []? mygpd_data                                           File system type?  [ext2]? ext4                                           Start? 1                                                                  End? 2G                       (parted) printModel: VMware, VMware Virtual S (scsi)Disk /dev/sdd: 2147MBSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags: Number  Start   End     Size    File system  Name        Flags 1      1049kB  2146MB  2145MB               mygpd_data

 二、fdisk命令

 1.查看 fdisk -k device   2.管理 fdisk device     fdisk 提供了一个交互式接口来管理分区,具有多个子命令;所有操作均在内存中完成;     没有直接同步到磁盘,直到使用w命令保存到磁盘上;     注意: 在已经分区并且已挂载其中某个分区的磁盘设备上创建新的分区,内核可能在其创建完成后无法识别;        查看: cat /proc/partitions        通知内核,强制读取磁盘分区:           centos5: partprobe device;           centos6.7:                  partx -a device                 kpartx -a device   分区创建工具:parted ; sfdisk

三、文件系统创建

      格式化:         低级格式化,分区之前,划分磁道;        高级格式化,分区之后对分区创建文件系统,            superblock,i节点inode table,数据块data block,目录块directory block,            间接块indirection blockblock ,位图索引inode bitmap,block bitmap;      元数据区+实际数据区      元数据区:inode table            文件元数据:文件大小,权限、宿主宿组、时间戳、数据块指针等,不记录文件名;            元数据区对每一个文件的信息记录格式是统一的,给出一个模板然后根据文件的实际情况填写而已;        数据块指针的记录内容是有限的,决定了文件的大小上限。根据数据块指针到数据区取得文件的实际数据。         符合链接文件:存储数据指针的空间中存储了文件的真实访问路径。        设备文件:   存储数据指针的空间中存储了设备号。        这两种文件都不占据数据区。

    VFS: Virtual File System 解决不同文件系统之间的互认问题。

Linux文件系统: ext2,ext3,ext4,xfs,btrfs       光盘: ISO9660       网络文件系统: nfs,clfs       集群文件系统: gfs2,ocfs2       内核级分布式文件系统: ceph              windows文件系统:vfat,ntfs              windows无法识别linux的文件系统,因此,存储设备在需要两种系统之间交叉使用时,          应使用两者同时支持的文件系统:vfat              # mkfs.vfat device          注意: U盘格式为ntfs的话,可以用一个NTFS-3G的插件,安装后linux可以支持NTFS文件,linux将其识别为ntfs-3g文件系统               ntfs-3g-ntfsprogs-2011.3.32.tgz          解压后执行./config   make  makeinstall  编译安装          若U盘被识别为sda3设备,则执行如下指令          #mount -t ntfs-3g /dev/sda /mnt/win                 伪文件系统:proc,sysfs,tmpfs,hugepagefs           用户空间的分布式文件系统: mogilefs,moonsefs,glusterfs
           交互文件系统:swap;           linux上交互分区必须使用独立的文件系统,该system ID必须为82,通过fdisk上的t进行设置;           创建swap文件系统:  mkswap  device            启用       :   swapon devcie                              -a : 启用在/etc/fstab文件中所有的swap设备。            禁用       :   swapoff devcie        创建一个大小为1G的swap分区,并启用。
[root@localhost ~]# fdisk /dev/sdeCommand (m for help): nPartition type:   p   primary (0 primary, 0 extended, 4 free)   e   extendedSelect (default p): pPartition number (1-4, default 1): 1First sector (2048-4194303, default 2048): Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-4194303, default 4194303): +1G     Partition 1 of type Linux and of size 1 GiB is setCommand (m for help): tSelected partition 1Hex code (type L to list all codes): 82Changed type of partition 'Linux' to 'Linux swap / Solaris'Command (m for help): wThe partition table has been altered![root@localhost ~]# mkswap /dev/sde1Setting up swapspace version 1, size = 1048572 KiBno label, UUID=adcb05b1-3368-4e97-80c8-7ed13e959c63[root@localhost etc]# free -m              total        used        free      shared  buff/cache   availableMem:           3778         380         166           6        3231        3140Swap:          2047           6        2041[root@localhost etc]# swapon /dev/sde1[root@localhost etc]# free -m              total        used        free      shared  buff/cache   availableMem:           3778         381         165           6        3231        3139Swap:          3071           6        3065

四、文件系统使用

 1.创建文件系统工具: mkfs      mkfs.ext2;  mkfs.ext3; mkfs.ext4; mkfs.xfs;   查看文件系统类型:  blkid device;   mke2fs命令     mke2fs [OPTIONS] device       -t {ext2|ext3|ext4}       -b {1024|2048|4096}       -L  LABEL卷标       -j  创建日志功能文件系统ext3       -i # 多少个字节一个inode       -N # 创建inode的总数       -m # 预留空间,百分表       -O [^] 以指定的特性创建目标文件系统;
练习:创建一个1G的分区,并格式化为ext4文件系统。要求:(1)block大小为2048,预留空间20%,卷标为MYDATA,
[root@localhost tmp]# fdisk /dev/sde          Command (m for help): nPartition type:   p   primary (0 primary, 0 extended, 4 free)   e   extendedSelect (default p): pPartition number (1-4, default 1): 1First sector (2048-4194303, default 2048): Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-4194303, default 4194303): +1GPartition 1 of type Linux and of size 1 GiB is setCommand (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.root@localhost tmp]# mke2fs -t ext4 -b 2048 -L MYDATA -m 20 /dev/sde1mke2fs 1.42.9 (28-Dec-2013)Filesystem label=MYDATAOS type: LinuxBlock size=2048 (log=1)Fragment size=2048 (log=1)Stride=0 blocks, Stripe width=0 blocks65536 inodes, 524288 blocks104857 blocks (20.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=26895974432 block groups16384 blocks per group, 16384 fragments per group2048 inodes per groupSuperblock backups stored on blocks:         16384, 49152, 81920, 114688, 147456, 409600, 442368Allocating group tables: done                            Writing inode tables: done                            Creating journal (16384 blocks): doneWriting superblocks and filesystem accounting information: done

  2.文件系统挂载与卸载  

挂载与卸载: mount umount    根文件系统外的其它文件系统,要想能够被访问到,都必须通过‘关联’至根文件系统上的某个目录来实现,  此‘关联’操作即‘挂载’,此目录即为挂载点。    挂载点: mount point 用于作为另一个文件系统的访问入口       (1): 事先存在;       (2): 应用使用未被或或不会被其它目录进程使用的目录;       (3): 挂载点下原有的文件建会被隐藏;        思考一个问题:将一个装有linux系统的磁盘(根文件系统A)接到另一台linux系统(B)的设备上,然后挂载在B系统一个目录下,            B上的某用户(root或者普通用户)对A文件的读写执行权限?
          mount [-fnrsvw] [-t vfstype] [-o options] device dir             -r:  只读             -w:  读写(默认选项)             -n:  禁止同步(默认情况下,设备挂载与卸载都同步到/etc/mtab中)             -t --vfstype:  指定文件类型             -L --LABEL: 以label方式指明设备             -U --UUID : 以uuid方式指明设备             -o : 自动挂载所有支持自动挂载的设备                sync/async: 同步/异步                atime/noatime: 是否更新其访问的时间戳                diratime/nodiratime: 只针对目录时间戳                remount: 重挂                acl: 支持使用acl功能                  #mount -o acl device dir                  #mount -o alc device                ro:只读                rw:读写                exec/noexec  是否允许运行此设备上的文件        使用技巧:mount --bind 源目录 目标目录,  可以实现将目录绑定至另一个目录上,作为其临时访问入口。
      查看当前系统所有已挂载设备:      # mount      # cat /etc/mtab      # cat /proc/mounts
        umount [-dflnrv] {dir|device}...             正在被进程访问的挂载点无法被卸载      查看被何进程使用:      #lsof mount_point      #fuser -v mount_point [root@localhost /]# fuser -v /dev/sde1USER        PID ACCESS COMMAND/dev/sde1:    root     kernel swap  /dev/sde1

除根文件以为的其它文件开机自动挂载

  /etc/fstab

UUID=795d1641-c4f8-4f72-911b-6eedfe2ac733 /          xfs     defaults        0 0UUID=ecde1354-5470-4692-bc2b-9cc94bd3b11c /boot        xfs     defaults        0 0UUID=ad488060-c1c6-4871-a8e2-228de0b90457 swap         swap    defaults        0 0
        (1)要挂载的设备:设备文件,LABEL,UUID,伪文件系统        (2)挂载点,swap类型的挂载点为swap        (3)文件系统类型        (4)挂载选项        (5)转储频率,0从不,1每天,2每隔一天        (6)自检次序
接上面的练习:   (2) 挂载至/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳。   (3)可开机自动挂载。
[root@localhost mydata]# mount -o noatime noexec -L MYDATA /mydata   ---错误,o后面的参数以,分隔[root@localhost mydata]# mount -o noatime,noexec -L MYDATA /mydata[root@localhost /]# vim /etc/fstab UUID=795d1641-c4f8-4f72-911b-6eedfe2ac733 /      xfs     defaults        0 0UUID=ecde1354-5470-4692-bc2b-9cc94bd3b11c /boot    xfs     defaults        0 0UUID=ad488060-c1c6-4871-a8e2-228de0b90457 swap    swap     defaults        0 0LABEL=MYDATA                /mydata   ext4     defaults        0 0

感谢各位的阅读,以上就是“Linux磁盘分区及文件系统管理”的内容了,经过本文的学习后,相信大家对Linux磁盘分区及文件系统管理这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯