溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux磁盤分區及文件系統管理

發布時間:2021-09-04 21:24:50 來源:億速云 閱讀:154 作者:chen 欄目:建站服務器

這篇文章主要講解了“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]# parted
GNU Parted 3.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) select /dev/sdd
Using /dev/sdd
(parted) mklabel gpt
Warning: The existing disk label on /dev/sdd will be destroyed and all data on
this 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) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdd: 2147MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk 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/sde
Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-4194303, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-4194303, default 4194303): +1G     
Partition 1 of type Linux and of size 1 GiB is set
Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 82
Changed type of partition 'Linux' to 'Linux swap / Solaris'
Command (m for help): w
The partition table has been altered!
[root@localhost ~]# mkswap /dev/sde1
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=adcb05b1-3368-4e97-80c8-7ed13e959c63
[root@localhost etc]# free -m
              total        used        free      shared  buff/cache   available
Mem:           3778         380         166           6        3231        3140
Swap:          2047           6        2041
[root@localhost etc]# swapon /dev/sde1
[root@localhost etc]# free -m
              total        used        free      shared  buff/cache   available
Mem:           3778         381         165           6        3231        3139
Swap:          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): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-4194303, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-4194303, default 4194303): +1G
Partition 1 of type Linux and of size 1 GiB is set
Command (m for help): w
The 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/sde1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=MYDATA
OS type: Linux
Block size=2048 (log=1)
Fragment size=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 524288 blocks
104857 blocks (20.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268959744
32 block groups
16384 blocks per group, 16384 fragments per group
2048 inodes per group
Superblock backups stored on blocks: 
        16384, 49152, 81920, 114688, 147456, 409600, 442368
Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing 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/sde1
USER        PID ACCESS COMMAND
/dev/sde1:    root     kernel swap  /dev/sde1

3.除根文件以為的其它文件開機自動掛載

  /etc/fstab

UUID=795d1641-c4f8-4f72-911b-6eedfe2ac733 /          xfs     defaults        0 0
UUID=ecde1354-5470-4692-bc2b-9cc94bd3b11c /boot        xfs     defaults        0 0
UUID=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 0
UUID=ecde1354-5470-4692-bc2b-9cc94bd3b11c /boot    xfs     defaults        0 0
UUID=ad488060-c1c6-4871-a8e2-228de0b90457 swap    swap     defaults        0 0
LABEL=MYDATA                /mydata   ext4     defaults        0 0

感謝各位的閱讀,以上就是“Linux磁盤分區及文件系統管理”的內容了,經過本文的學習后,相信大家對Linux磁盤分區及文件系統管理這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女