LINUX磁盤及文件系統管理

LINUX磁盤及文件系統管理

  • cpu,Memory(RAM),I/O

  • I/O:Disks,Entercard

   Disks:持久存儲數據

      接口類型:

       IDE(ata):并口,133MB/s

       SCSI:并口,Ultrascsl320,320MB/S,UltraSCSI640,640MB/S

       STAT:串口,6gbps

       SAS:串口,6gbps

       USB:串口,480MB/s

    硬盤:機械硬盤,固態硬盤。

      機械硬盤:

        track:磁道

        sector:扇區,512bytes

        cylinder:柱面

           分區劃分基于柱面

        平均尋道時間:

          5400rpm,7200rpm,10000rpm,15000rpm

  • linux的哲學思想:一切皆文件

設備類型:

    塊(block):隨機訪問,數據交換單位是“塊”;

    字符(character):線性訪問,數據交換單位是“字符”;

    設備文件:FHS   /dev

設備文件:關聯至設備的驅動程序;設備的訪問入口;

    設備號:

    major:主設備號,區分設備類型;用于表明設備所需要的驅動程序;

    minor:次設備號,區分同種類型下的不同的設備;是特定設備的訪問入口;

  mknod命令:make block or characterspecial files創建設備文件

  mknod[OPTION]…NAME TYPE [MAJOR MINOR]

            -m MODE:創建后的設備文件的訪問權限;

設備文件名:ICANN

磁盤:

    IDE:/dev/hd[a-z]

        例如:/dev/hda,/dev/hdb

    SCSI,STAT,USB,SAS:/devsd[a-z]


    分區:

    /dev/sda#:(如/dev/sda1,/dev/sda2)

    注意:CentOS 6和7統統將硬盤設備文件標識為/dev/sd[a-z]#

    引用設備的方式:

        設備文件名

        卷標

        UUID

磁盤分區:MBR,GPT

    MBR:0 sector(Master Boot Record)主引導記錄

        分為三部分:

        446bytes:bootloader,程序,引導啟動操作系統的程序;

        64bytes:分區表,每16bytes標識一個分區,一共只能有四個分區;

            4分區

            3主1擴展:

                n邏輯分區

        2bytes:MBR區域的有效性標識;55AA為有效;

    主分區和擴展分區的標識:1-4

    邏輯分區:5+

  • fdisk命令:

    1、查看磁盤的分區信息:

        fdisk -l[-u][device…]:列出指定磁盤設備上的分區情況

    2、管理分區

        fdisk device

        fdisk提供了一個交互式接口來管理分區,他有許多子命令分別用于不同的管理功能;所有的操作均在內存中完成,沒有直接同步到磁盤;直到使用w命令保存到磁盤上;

            常用命令:

        n:創建新分區

        d:刪除已有分區

        t:修改分區類型

        l:查看所有已知id

        w:保存并退出

        q:不保存退出

        m:查看幫助信息

        p:顯示現有分區信息

            注意:在已有分區并且已經掛載其中某個分區的磁盤設備上創建的新分區,內核可能創建完成后無法直接識別;

        查看:cat /proc/partitions

        通知內核強制重讀磁盤分區表:

        CentOS 5:partprobe[device]

        CentOS 6/7:partx,kpartx

          partx -a[device]

         kpartx -af[device]

        分區創建工具:parted,sfdisk;

  • 創建文件系統:

    格式化:低級格式化(分區之前進行,劃分磁道)、高級格式化(分區之后對分區進行,創建文件系統)

        元數據區:

            文件元數據:inode(index node)

                大小,權限、屬主屬組、時間戳、數據塊指針

            符號鏈接文件:存儲數據指針的空間當中存儲的是真實文件的訪問路徑;

            設備文件:存儲數據指針的空間當中存儲的是設備號(major,minor);

        bitmap index:位圖索引

    VFS:Virtual File System

        Linux的文件系統:ext2,ext3,ext4,xfs,relserfs,btrfs

        光盤:iso9660

        網絡文件系統:nfs,cifs

        集群文件系統:gfs2,ocfs2

        內核及分布式文件系統:ceph

        windows的文件系統:vfat,ntfs

        偽文件系統:proc,sysfs,tmpfs,hugepagefs

        Unix的文件系統:UFS,FFS,JFS

        交換文件系統關凱

        用戶空間的分布式文件系統:mogilefs,moosefs,glusterfs

  • 文件系統管理工具:

        創建文件系統

            mkfs

                mkfs.ext2,mkfs.ext3,mkfs.ext4,mkfs.xfs,mkfs.vfat…

        檢測及修復文件系統工具

            fsck

                fsck.ext2,fsck.ext3,…

        查看其屬性的工具

            dumpe2fs,tune2fs

        調整文件系統特性:

            tune2fs

  • ext系列文件系統的管理工具:

        mkfs.ext2,mkfs.ext3,mkfs.ext4

        mkfs -t ext2 = mkfs.ext2

        ext系列文件系統管理工具:mke2fs

            mke2fs[OPTION] device

                -t{ext2|ext3|ext4}:指明要創建的文件系統類型

                    mkfs.ext4 = mkfs -t ext4 = mke2fs -t ext4

                -b{1024|2048|4096}:指明文件系統block大小;

                -L LABEL:指明卷標;

                -j:創建有日志功能的文件系統ext3;

                    mke2fs -j = mak2fs -t ext3 = mkfs -t ext3 =mkfs.ext3

                -i#:bytes-per-inode,指明inode與字節的比率;即每多少個字節創建1個inode

                -N#:直接指明要給此文件系統創建的inode的數量;

                -m#:指定預留的空間,百分比;

                -O[^]FEATURE:以指定的特性創建目標文件系統;

  • e2label命令:卷標的查看與設定

        查看:e2label device

        設定:e2label device LABEL

  • tune2fs命令:查看或修改ext系列文件系統的某些屬性

        adjust tunable filesystem parameters on ext2/ext3/ext4/ filesystems;

        注意:塊大小創建后不可修改;

        tune2fs[OPTIONS]device

            -l:查看超級快的內容;

            修改指定文件系統的屬性:

            -j:ext2 –>ext3;

            -L LABEL:修改卷標;

            -m #:調整預留空間百分比;

            -O[^]FEATURE:開啟或關閉某種特性;

            -o[^]mount_options:開啟或關閉某種默認掛載選項

                acl

                ^acl

  • dumpe2fs命令:顯示ext系列文件系統的屬性信息

        dumpe2fs [-h] device

    用于實現文件系統檢測的工具

        因進程意外終止或系統崩潰等原因導致定稿操作非正常終止時,可能會造成文件損壞;此時,應該檢測并修復文件系統;建議,離線進行;

        ext系列文件系統的專用工具:

            e2fsck:check a Linux ext2/ext3/ext4/ file systems

                -y:對所有問題自動回答為yes;

                -f:及時文件系統處于clean狀態,也要強制進行檢測;

            fsck:check and repalr a Linux file system

                -t fstype:指明文件系統類型;

                -a:無需交互而自動修復所有錯誤;

                -r:交互式修復;

    CentOS 6如何使用xfs文件系統:

        #yum -y install xfsprogs

  •   blkid命令:

        blkid device

        blkid -L LABEL:根據LABEL定位設備

        blkid -U UUID:根據UUID定位設備

  • swap文件系統:

        Linux上的交換分區必須使用獨立的文件系統;

            且文件系統的System ID必須為82;

        創建swap設備:mkswap命令

            mkswap[OPTION]device

                -L LABEL:指明卷標

                -f:強制

    Windows無法識別Linux的文件系統;因此,存儲設備需要兩種系統之間交叉使用時,應該使用windows和Linux同事支持的文件系統:fat32(vfat);

    文件系統的使用:

        首先要“掛載”:mount命令和umount命令

        根文件系統之外的其他文件系統要想能夠被訪問,都必須通過“關聯”至根文件系統上的摸一個目錄來實現,此關聯操作即為“掛載“;此目錄即為”掛載點“;

            掛載點:mount_point,用于作為另一個文件系統的訪問入口;

                (1)事先存在;

                (2)應該使用未被其他進程使用的目錄;

                (3)掛載點下原有的文件將會被隱藏;

  • mount命令:mount [-fnrsvw] [-t vfstype] [-o options] device dir

            命令選項:

                -r:readonly,只讀掛載;

                -w:read and write,讀寫掛載;

                -n:默認情況下,設備掛載或卸載的操作會同步更新至/etc/mtab文件中;-n禁用

                -t vfstype:指明要掛載的設備上的文件系統的類型;多數情況下可以省略,此時mount會通過blkld來判斷要掛載的設備的文件系統類型;

                -L LABEL:掛載以卷標的方式指明設備;mount -L LABEL dir

                -U UUID:掛載時以UUID的方式指明設備;mount -U UUID dir

            -o options:掛載選項

                sync/async:同步/異步操作;

                atime/noatime:文件或目錄再被訪問時是否更新其訪問時間戳;

                diratime/nodiratime:目錄再被訪問時是否更新其訪問時間戳;

                remount:重新掛載;

                acl:支持使用facl功能;

                    #mount -o acl device dir

                    #tune2fs -o acl device

                ro:只讀

                re:只寫

                dev/nodev:此設備上是否允許創建設備文件;

                exec/noexec;是否允許運行此設備上的程序文件;

                auto/noauto:

                user/nouser:是否允許普通用戶掛載此文件系統;

                suid/nosuid:是否允許程序文件上的suid和sgid特殊權限生效;

                defaults:Use default options:rw,suid,dev,exec,auto,nouser, async,and relatime。

    一個使用技巧:可以實現將目錄綁定至另一個目錄上,作為其臨時訪問入口;

        mount –bind 源目錄 目標目錄

    查看當前系統所有以掛載的設備:

        # mount

        # cat /etc/mtab

        # cat /proc/mounts

    掛載光盤

        mount -r /dev/cdrom mount_point

        光盤設備文件:/dev/cdrom,/dev/dvd

    掛載U盤:

        事先識別U盤的設備文件;

    掛載本地的回環設備:

        #mount -o loop /PATH/TO/SOME_LOOP_FILE MOUNT_POINT

  • umount命令:umount device|dir

    注意:正在被進程訪問到的掛載點無法被卸載;

        查看被那個或哪些進程所占用;

            #lsof MOUNT_POINT

            #fuser -v MOUNT_POINT

        終止所有正在訪問某掛載點的進程:

            #fuser -km MOUNT_POINT

  • 交換分區的啟用和禁用:

        創建交換分區的命令:mkswap

        啟用:swapon

            swapon[OPYION][DEVICE]

                -a:定義在/etc/fstab文件中的所有swap設備;

        禁用:swapoff

            swapoff DEVICE

    設定除根文件系統以外的其他文件系統能夠開機時自動掛載:/etc/fstab文件

每行定義一個要掛載的文件系統及相關屬性:

        6個字段:

            (1)要掛載的設備:

                設備文件

                LABEL

                UUID

                偽文件系統:如sysfs,proc,tmpfs等

            (2)掛載點

                swap類型的設備的掛載點為swap;

            (3)文件系統類型;

            (4)掛載選項

                defaults:使用默認掛載選項;

                如果要同時指明多個掛載選項,彼此間以逗號分隔;

                defaults,acl,noatime,noexec

            (5)轉儲頻率

                0:從不備份;

                1:每天備份;

                2:每隔一天備份;

            (6)自檢次序

                0:不自檢;

                1:首先自檢,通常只能是根文件系統可用1;

                2:次級自檢

                …

            mount -a:可自動掛載定義再次文件中的所支持自動掛載的設備;

  • 兩個命令:df和du

        df命令:

            df[OPTION]…[FILE]…

                -l:僅顯示本地文件的相關信息;

                -h:human-readable

                -i:顯示inode的使用狀態而非blocks

        do命令:

            do[OPTION]…[FILE]…

                -s:sumary

                -h:human-readable

原創文章,作者:502795641,如若轉載,請注明出處:http://www.www58058.com/41388

(0)
502795641502795641
上一篇 2016-08-29
下一篇 2016-08-29

相關推薦

  • 第十五周作業

    1、總結sed和awk的詳細用法; sed:     模式空間:sed是一種在線編輯器、行編輯器,一次處理一行內容,在處理時,把當前處理的行存儲在臨時緩沖區當中,并在該緩沖區中完成后續的處理,該緩沖區被稱為”模式空間”。     保持空間:在模式空間中處理完一行內容后會繼續處理下一行,但是對于處…

    Linux干貨 2017-04-18
  • 馬哥教育21期網絡班—第一周課程+練習

    計算機的組成及功能 根據馮·諾依曼原理 現在計算機有五部分組成 分別是:運算器、控制器、存儲器、輸入設備和輸出設備 現在把運算器和控制器做到一塊就是所謂的CPU CPU = 運算器+控制器 存儲器:memory 用于存儲信息的記憶設備,存儲器分為ROM和RAM 編址存儲設備 ROM:只讀存儲器,尋址地址空間的組成部分 RAM:隨機存儲器 輸入和輸出設備: 輸…

    Linux干貨 2016-06-26
  • 可伸縮的邏輯卷

    什么是邏輯卷? 邏輯卷簡稱LVM, LVM是Linux環境中對磁盤分區進行管理的一種機制,是建立在硬盤和分區之上、文件系統之下的一個邏輯層,可提高磁盤分區管理的靈活性.   為什么要使用邏輯卷? 邏輯卷相比于一般的磁盤分區, 具有更高的靈活性??呻S時伸縮空間的大小.   構建邏輯分區圖:   邏輯卷概念: PV(物理卷): 是在…

    Linux干貨 2016-09-01
  • 文件查找locate和find

    locate 查詢系統上預建的文件索引數據庫 /var/lib/mlocate/mlocate.db 依賴于事先構建的索引 索引的構建是在系統較為空閑時自動進行(周期性任務),管理員手動更新數據庫(updatedb) 索引構建過程需要遍歷整個根文件系統,極消耗資源 工作特點: ?查找速度快 ?模糊查找 ?非實時查找 ?搜索的是文件的全路徑,不僅僅是文件名 ?…

    2017-08-11
  • 基于Redis的開源分布式服務Codis

    Redis在豌豆莢的使用歷程——單實例==》多實例,業務代碼中做sharding==》單個Twemproxy==》多個Twemproxy==》Codis,豌豆莢自己開發的分布式Redis服務。在大規模的Redis使用過程中,他們發現Redis受限于多個方面:單機內存有限、帶寬壓力、單點問題、不能動態擴容以及磁盤損壞時的數據搶救。 Redis通常有3個使用途徑…

    Linux干貨 2015-02-25
  • 壓縮及解壓工具

    通過算法壓縮數據,時間換空間。文本文件的壓縮比更大,二進制文件的壓縮比較小。 壓縮工具占用cpu時鐘。 compress/uncompress .Z gzip/gunzip .gz bzip2/bunzip2 .bz2 壓縮比比gz大但是也沒取代gz xz/unxz .xz 壓縮比大,現在較流行。 zip/unzip .zip 歸檔工具,既能歸檔又能壓縮 t…

    Linux干貨 2016-08-21

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-29 09:29

    文章內容較為完整,不要用筆記來代替自己的博客,自己寫過的東西才是自己的東西,對一些專有名詞,我們可以通過查詢資料來進行介紹和深入學習。這才是寫博客的意義所在哦,不忘初心,方得始終。

欧美性久久久久