Linux磁盤管理

 I/O Ports:I/O設備地址

  一切皆文件:

            poen(),read(),write(),close()

  設備類型:

          塊設備:block,存取單位 “塊” 磁盤

          字符設備:char,存取單位 “字符” 磁盤

          設備文件:關聯至一個設備驅動程序,進而能夠跟與之對應硬件設備進行通信

          主設備號:major  number 標識設備類型

          次設備號:minor  number 標識同一類型下的不同設備

  

  硬盤接口類型:

    并行:

          IDE:133MB/S

          SCSI:640M/s

    串口:

          SATA:6Gbps

          SAS: 6Gbps

          USB: 480MB/s

    rpm:rotations per minute

  設備文件

    磁盤 設備的設備文件命名:/dev/DEV_FILE

   IDE:/dev/hd

   SCSI,SATA,SAS,USB:/dev/sd

             不同設備:a-z

                   /dev/sda  /dev/sdb  

             同一設備上的不同分區:1,2,…..

                   /dev/sda1 /dev/sda5 

       

  硬盤存儲術語

            head:    磁頭

            track:   磁道

            cylinder:柱面

            seccotr: 扇區 512bytes

  

  分區空間

            設備識別

            設備分區

            創建文件系統

            標記文件系統

            在/sec/fstab文件中創建條目

            掛載新的文件系統

        

  磁盤分區

            為什么要分區?

            優化I/O性能

            實現磁盤空間配額限制

            提高修復速度

            隔離系統和程序

            安裝多個OS

            采用不同文件系統

  分區

        兩種分區方式:MBR  GPT

        MBR:Master Boot Record

        1982年  使用32位表示扇區數,分區不超過2T

        如何分區:按柱面

             0磁道0扇區:512bytes

               446bytes:boot loader

                64bytes:分區表

                16bytes:標識一個分區

                 2bytes:55AA

           4個主分區;3個主分區+1擴展(N個邏輯分區 )

wKioL1e_6LaR958wAAFrcYjyRns402.png

     

    GPT:GUID(Globals Unique Identifiers) partition tab 支持128分區,使用64位,支持8Z(512Byte/blocck)64Z (4096Byte/block)

     使用128位UUID 表示磁盤和分區 GPT分區表自動備份在頭和尾兩份,并有CRC校驗位

     UEFI(統一擴展固件接口)硬件支持GPT,使操作系統啟動.

                                                 EFI部分又可以分為4個區域:EFI信息區(GPT頭)、分區表、GPT分區、備份區域

wKioL1e_6XXBhdTvAAD3iNknk_Y109.png

     

     

  

  管理分區

            lsblk

  創建分區使用:

                fdisk創建MBR分區 也支持GPT 對于一塊硬盤 最多只能管理15個分區

                gdisk 創建GPT分區

                GNU parted 高級分區操作(創建,復制,調整大小等等)

                partprobe:重新設置內存中的內核分區表版本

  

  分區工具fdisk和gdisk

                fdisk  /dev/sdb

                gfisk  /dev/sdb   類fdisk的    gfisk是GPT分區工具

      fdisk -l[-u] [device….]

     命令參數:

              p        分區列表

              t        更改分區類型

              n        創建新分區

              d        刪除分區

              w        保存并退出

              q        不保存并退出

  同步分區表

    查看內核是否已經識別新的分區:

               cat /proc/partations

    通知內核重新讀取硬盤分區表

    新增分區:

              partx -a -n  M:N /dev/DeviCE

              Kpartx -a /dev/DEVICE -f:force

              Centos5和7使用:partprobe

              partprobe [/dev/DEVICE]

    parted命令:

      parted的操作都是實時生效的,小心使用?。?/p>

        用法:parted [選項]…[設備[命令[參數]…]…]

            parted /dev/sdb mklabel gpt|msdos

            parted /dev/sdb print

            parted /dev/sdb mkpart primary 1 200 (默認M)

            patred /dev/sdb rm  1

            parted -l

        

  文件系統

    文件系統是操作系統用于明確存儲設備或分區上的文件的方法和數據結構;即在存儲設備上組織文件的方法,操作系統中負責管理和存儲文件信息的軟件結構稱為文件管理系統,簡稱文件系統

    

    從系統角度來看,文件系統是對文件存儲設備的空間進行組織和分配,負責文件存儲并對存入的文件進行保護和檢索的系統,具體地說,它負責為用戶建立文件,存入,讀出,修改,轉儲文件,控制文件的存取,安全控制,日志,壓縮,加密等

    

  文件系統類型:

                Linux文件系統:ext2(Extended file system),ext3,ext4,xfs(SGI),btrfs(Oracle),reiserfs,jfs(AIX),swap

                光盤:iso9660

                Windows:fat32 ntfs

                Unix:FFS(fast) UFS(uninx) JF32

                網絡文件系統 :NFS CIFS

                集群文件系統:GFS2 OCFS2(oracle)

                分布式文件系統:ceph,moosefs,mogilefs,glusterfs,Lustre

                RAW:未經處理或未經格式化產生的文件系統

  文件系統分類

                根據 其是否支持“journal”功能:

                    日志型文件系統:ext3 ext4 xfs …..

                  非日志型文件系統:ext2 vfat

  文件系統的組成部分:

                    內核中的模塊:ext4 xfs vfat

                    用戶控件的管理工具:mkfs.ext4 mkfs.xfs mkfs.vfat

  Linux的虛擬文件系統:VFS

  查看支持的文件系統:cat /proc/filesystems

  創建文件系統

    mkfs命令:

              mkfs.FS_TYPE /dev/DEVICE

                 ext4

                 xfs

                 btrfs

                 vfat

              mkfs -t FS_TYPE /dev/DEVICE

                 -L “LABEL” 設定卷標

  創建ext文件系統

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

              -t {ext2|ext3|ext4}

              -b {1024|2048|4096}

              -L 'LABEL'

              -j  相當于 -t ext3

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

              -i #:為數據控件中每多少個字節創建一個inode;此大小不應該小于block的大小

              -N #:為數據控件創建多個iNode

              -m #:默認5% 為管理人員預留空間占總控件的百分比

              -I 一個inode記錄大小128—4096

              -O FEATURE[….]:啟動指定特性

              -O ^FEATURE[…]: 關閉指定特性

  文件系統標簽

                指定設備的另一種方法

                與設備無關

                blkid:塊設備屬性信息查看

                blkid [OPTION] ….[DEVICE]

              -U UUID:根據指定的UUID來查找對應的設備

             -U LABEL:根據指定的LABEL來查找對應的設備

              e2label:管理ext系統文件系統的LABEL

              e2label DEVICE [LABEL]

              findfs: 查找分區

              findfs [options] UUID=<uuid>

              findfs [options] LABEL=<label>

  

  tune2fs

 tune2fs:重新設定ext系列文件系統可調整參數的值

            -l:   查看指定文件系統超級塊信息:super block

            -L 'LABEL':修改卷標

            -m #:修改預留給管理員的空間百分比

            -j:講ext2升級為ext3

            -O:文件系統屬性啟用或禁用 -O ^has_journal

            -o: 調整文件系統的默認掛載選項 -o ^acl

            -U UUID:修改UUID號

            dumpe2fs:

             -h:查看超級塊信息(分組信息),分區用分組管理

                                            超級塊和inode table

     Linux磁盤管理

   文件系統檢測和修復

             常發生于死機或者非正常關機之后

             掛載為文件系統標記為“dirty”

             fsck:File System Check

             fsck.FS_TYPE

             fsck -t FS_TYPE

             -a:自動修復錯誤

             -r:交互式修復錯誤

          #注意:FS_TYPE一定要與分區上已經有的文件類型相同;

  e2fsck:ext系統文件專用的檢測修復工具

              -y:自動回答為yes

              -f:強制修復

  

  掛載mount

            掛載:將額外文件系統與根文件系統某現存的目錄建立起關聯關系,進而使得此目錄做為其他文件訪問入口的行為

            卸載:為解除此關聯關系的過程

            把設備關聯掛載點:mount point

            mount

            卸載時:可使用設備,也可以使用掛載點

            umount

            掛載點下原有文件在掛載完成后會被臨時隱藏

            掛載點目錄一般為空

   

  用mount掛載文件系統

            掛載方法:mount DEVICE MOUNT_POINT

            mount:通過查看/etc/mtab文件顯示當前已掛載的所有設備

            mount [-f nrsvw] [-t vfstype] [-o options]device dir

            device:指明要掛載的設備;

            設備文件:例如/dev/sdb1

            卷標:-L 'LABEL' :例如 -L 'DATA'

            UUID -u  'UUID' 例如 -U '012e90b9-2646-4c07-b35b-aae359255cde'

            偽文件系統名稱:proc sysfs devtmpfs configfs

            dir:掛載點

            事先存在;建議使用空目錄

            進程正在使用中的設備無法被卸載

  mount常用命令選項

              -t vsftype:指定要掛載的設備上的文件系統類型

              -r: readonly  只讀掛載

              -w:read and write 讀寫掛載

              -n:不更新/etc/mtab,相當于mount

              -a:自動掛載所有支持自動掛載的設備(定義在了/etc/fstable文件中,且掛載選項中有auto功能)

              -L 'LABEL':以卷標指定掛載設備

              -U  'UUID':以UUID指定要掛載的設備

              -B –bind:綁定目錄到另一個目錄上

              #查看內核追蹤到的已掛載的所有設備:

              cat /proc/mounts

             -o options:(掛載文件系統的選項),多個選項使用逗號分隔

                          async:異步模式

                          synnc:同步模式,內存更改時,同時寫磁盤

                          atime/noatime:包含目錄和文件

                          diratime/nodiratime:目錄訪問的時間戳

                          auto/noauto:是否支持在此文件系統上使用設備文件

                          dev/nodev:是否支持在此文件系統上使用設備文件

                          suid/nosuid:不支持suid和sgid權限

                          remount:重新掛載

                          ro:只讀

                          rw:讀寫

  user/nouser:是否允許普通用戶掛載此設備,默認管理員才能掛載

  acl:啟用此文件系統上的acl功能

  Defaults:相當于rw,suid,dev,exec,auto,nouser,async

   卸載命令

   查看掛載情況:

           #findmnt  MOUNT_POINT

   查看正在訪問指定文件系統的進程:

           #lsof MOUNT_POINT

           #fuser -v MOUNT_POINT

   終止所有正在訪問指定的文件系統的進程

           #fuser -km MOUNT_POINT

   卸載

           #umount DEVICE

           #umount MOUNT_POINT

原創文章,作者:鬧鐘哥,如若轉載,請注明出處:http://www.www58058.com/40529

(0)
鬧鐘哥鬧鐘哥
上一篇 2016-08-29
下一篇 2016-08-29

相關推薦

  • wk_04作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 # cp -r  /etc/skel/ /home/tuser1 # chmod 700 /home/tuser1 2、編輯/etc/group…

    Linux干貨 2016-12-27
  • 高可用集群部署文檔

    同學們都很活躍,自己好久沒寫了,也動動筆,下面文章寫著玩的,如有錯誤請聯系(NET7-粵-義薄云天) 高可用集群部署文檔   目錄: 目錄: 1 項目需求: 2 實現方式: 2 拓撲圖: 3 系統及軟件版本: 3 安裝步驟: 4 IP分配: 4 LVS和keepalived的安裝和配置: 4 LVS主配置: 4 LVS2備 配置: 7 w…

    Linux干貨 2015-08-11
  • 文件查找作業

    1、查找/var目錄下屬主為root,且屬組為mail的所有文件 [root@wzc ~]# find /var/ -user root -a -group mail /var/spool/mail /var/spool/mail/root 2、查找/var目錄下不屬于root、…

    Linux干貨 2016-08-15
  • 虛擬化網絡之OpenvSwitch(一)

    一、OpenvSwitch介紹  OpenvSwitch簡稱OVS,正如其官網(http://openvswitch.org/)所述,OVS是一個高質量、多層的虛擬交換軟件,即虛擬交換機。它的目的是通過編程擴展支持大規模網絡自動化,同時還支持標準的管理接口和協議(例如:NetFlow,sFlow,IPFIX,RSPAN, CLI, LAC…

    Linux干貨 2016-03-27
  • 在linux中創建虛擬網卡(網卡別名)的方法

    由于業務需要,要在單個物理網卡上建立多個虛擬網卡,操作如下:cd /etc/sysconfig/network-scripts/   #進入網卡目錄cp ifcfg-eth0 ifcfg-eth0:1   # 復制出ifcfg-eth0:1虛擬網卡vim ifcfg-eth0:1    #配置ifcfg-eth0:1虛…

    Linux干貨 2016-09-06
  • linux終端類型

    人機交互界面:GUI、CLI GUI: gnome:c,gtk kde:c++,qt CLI: bash,zsh,sh,csh,ksh 不同CLI間跳轉:alt+f1\f2\f3\f4   終端類型: 物理終端、控制臺終端:/dev/console,控制臺console 計算機顯示器通常被稱為控制臺終端(Console) 虛擬終端:/dev/tty…

    Linux干貨 2016-10-14

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-29 13:57

    文章對當天所學知識點進行了完整的整理,但是對于一些專有名詞未能進行詳細描述,這是不合適的,比如一切皆文件,也就是說linux通過一些系統調用來實現將一切設備等其他接口抽像為文件,這些系統調用函數包括open()打開文件。。。。等,我們要站在一個小白的基礎上寫博客,力求讓沒有基礎的同學也能看懂,整體下來,文章內容整理的還算完善,但有些地方還需要用心改善。

欧美性久久久久