磁盤管理及文件系統管理

一 Linux磁盤管理node

 識別硬盤 /dev/sd#
 標記不一樣的硬盤設備 /dev/sd[a-]
 標記同一設備上的不一樣分區  /dev/sd[a-z][1-]
  
 設備文件 特殊文件
  設備號
   major,minor
   major 設備類型
   minor 同一類型下的不一樣設備
   
 塊設備   標識爲b 隨機訪問設備
 字符設備 標記爲c 線性設備
 
 GPT
  分區,分隔存儲空間爲多個小的空間,每一個空間可獨立使用文件系統
 
 分區工具
  fdisk
  parted
  sfdisk
    
 fdisk 最多支持在一塊硬盤上的15個分區
 fdisk -l
 
 讓內核重讀磁盤分區表
 partprobe [DEVICE ]
 partx
  partx -a -n 4:5 /dev/sda
 kpartx
  kpartx -af /dev/sdavim

fdisk  -l
fdisk /devsdb

命令(輸入 m 獲取幫助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分區號 (1-4,默認 1):
起始 扇區 (2048-41943039,默認爲 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,默認爲 41943039):+10G
分區 1 已設置爲 Linux 類型,大小設爲 10 GiBcentos

命令(輸入 m 獲取幫助):pbash

磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x694b74e6app

   設備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20973567    10485760   83  Linux
命令(輸入 m 獲取幫助):w
The partition table has been altered!異步

Calling ioctl() to re-read partition table.
正在同步磁盤。async

  

二 Linux 文件系統管理
 mke2fs [OPTION] ....device
 mke2fs - create an ext2/ext3/ext4 filesystem
  -t {etx2|etx3|etx4}  
  -b {1024|2048|4096}  
  -L 'LABEL'
  -j       mke2fs -t ext3
  -i #     bytes-per-inode  Specify the bytes/inode ratio
  -N #     
  -m #     reserved-blocks-percentage 預留磁盤空間佔據多大百分比的空間爲管理後期使用
  -O FEATURE []   feature[,...]  Create a filesystem with the given features (filesystem options) 開啓特性
   -O ^FEATURE []              關閉特性
    man tune2fs
    tune2fs -O [^]feature[,...]
  ide

mke2fs -t ext4 -b 4096 /dev/sdb1

mke2fs 1.42.9 (28-Dec-2013)
文件系統標籤=
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 2621440 blocks
131072 blocks (5.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=2151677952
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632工具

Allocating group tables: 完成                           
正在寫入inode表: 完成                           
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成佈局

mke2fs -L 'test1' /dev/sdb1

mke2fs 1.42.9 (28-Dec-2013)
文件系統標籤=test1
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 2621440 blocks
131072 blocks (5.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=2684354560
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: 完成                           
正在寫入inode表: 完成                           
Writing superblocks and filesystem accounting information: 完成

 

blkid  /dev/sdb1

/dev/sdb1: LABEL="test1" UUID="c39d7e87-cb61-43c9-94bf-cc0f12310787" TYPE="ext2"

當執行mke2fs 不帶-t ext4 參數時,默認文件系統爲ext2

mke2fs -t ext4 -b 4096  -L 'test1' /dev/sdb1

文件系統屬性查看及調整工具
  e2label  管理卷標
   e2label /dev/sda1   查看卷標
   e2label /dev/sda1 LABEL   設定卷標

e2label /dev/sdb1

test1

e2label /dev/sdb1  test2
e2label /dev/sdb1

test2   

 
  tune2fs   顯示ext系列文件系統的屬性或調整其屬性
   -l   列表,顯示超級塊信息(顯示整個文件系統屬性及佈局等信息)
   -L   卷標
   -m #  調整預留給管理員的管理空間百分比
   -j   將ext2 升級到 ext3
   -O FEATURE 啓用或關閉屬性(^FEATURE 關閉特性)
   -o    文件系統默認掛載選項的開啓或關閉
    tune2fs -o acl /dev/sda1
  dumpe2fs  
   -h   僅顯示超級塊信息
  

tune2fs  -l /dev/sdb1

tune2fs 1.42.9 (28-Dec-2013)
Filesystem volume name:   test2
Last mounted on:          <not available>
Filesystem UUID:          c39d7e87-cb61-43c9-94bf-cc0f12310787
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      ext_attr resize_inode dir_index filetype sparse_super large_file
Filesystem flags:         signed_directory_hash
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              655360
Block count:              2621440
Reserved block count:     131072
Free blocks:              2574545
Free inodes:              655349
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      639
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Filesystem created:       Sun Sep  6 17:16:58 2015
Last mount time:          n/a
Last write time:          Sun Sep  6 17:18:08 2015
Mount count:              0
Maximum mount count:      -1
Last checked:             Sun Sep  6 17:16:58 2015
Check interval:           0 (<none>)
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:           256
Required extra isize:     28
Desired extra isize:      28
Default directory hash:   half_md4
Directory Hash Seed:      a17cf0ef-10c9-47b6-8d41-d79d154d0b4d

 

  blkid

 文件系統檢測工具

blkid  /dev/sdb1

/dev/sdb1: LABEL="test2" UUID="c39d7e87-cb61-43c9-94bf-cc0f12310787" TYPE="ext4"


  fsck
   fsck -t type
   -a  自動修復錯誤
   -r  交互式修復錯誤
   -f  強制檢測
  fsck.type 
  e2fsck
   -y  自動回答 yes
   -f  強制檢測

 三  文件系統的掛載和使用
          kernel-->rootfs(分區)
          rootfs分區
          bin  sbin etc  lib  lib64  dev  tmp  proc  sys
   
          /sbin/init  cenos6
          /sbin/systemd  cenos7
          將額外文件系統與根文件系統與現存的目錄創建起關聯關係,進而使得此目錄作爲其它文件系統訪問入口的行爲,稱爲掛載
  解除關係的過程 卸載
  
   掛載點 mount print 設備掛載至目錄
   掛載點在掛載以後,其內部原有的文件會被隱藏, 建義使用空目錄爲掛載點
   掛載方法
  mount    經過讀到 /etc/mtab 文件來赤示當前系統中全部已掛載的設備
  mount -a   掛載/etc/fstab 文件中的全部支持的自動掛載的文件系統
  mount [option] [-o options] DEVICE  MOUNT_POINT
     [options]  命令選項
     [-o options] 掛載選項
     
     DEVICE  要掛載的設備
      1.設備文件  例 /dev/sda4
      2.卷標 -L 'LABEL'
      3.UUID  -U 'UUID'
      4. 僞文件系統
     MOUNT_POINT 掛載點
     
    經常使用選項
     -t type   文件系統類型
     -r     以只識方式掛載此文件系統
     -w     以讀寫方式掛載
     -n     每一個文件系統掛載時會自動更新/etc/mtab文件,-n禁用此功能
         若是想查看掛載的全部文件系統   cat /proc/mounts
     -a     自動掛載全部支持自動掛載的設備
     -B    綁定目錄至另外一個目錄上
      
     -o 掛載選項 
      async   異步模式
      sync     同步模式
      
      atime   更新訪問時間戳
      noatime  不更新訪問時間戳
      
      diratime 更新目錄訪問時間戳
      nodiratime 不更新目錄訪問時間戳
      
      auto  自動掛載
      noaut  不自動掛載
      
      exec  容許執行此文件系統上應用程序
      noexec  不容許執行此文件系統上應用程序
      
      dev   支持在此設備上使用設備文件
      nodev   不支持在此設備上使用設備文件
      
      suid
      nosuid
      
      remount  從新掛載

      ro
      rw
      
      user   容許普通用戶掛載此高備
      nouser  不容許普通用戶掛載此高備
      
      acl 
      
  unmount  取消掛載
   
  fuser  查看目錄下 有哪些在使用
   -v  查看掛載點正在使用的進程
   -km  強制結束正在使用的進程

mount /dev/sdb1 /mydata

mount -L 'test2' /mydata

mount -U 'c39d7e87-cb61-43c9-94bf-cc0f12310787' /mydata

umount /mydata

 交換分區
 free -m  查看物理內存和交換分區的使用狀態
  -m  MB
  -g GB
 mkswap  建立交換分區
 mkswap [option] DEVICE
  -L 'LABEL'
 swapon DEVICE  激活交換分區
   -a     激活所有交換分區
  -p  PRIORITY 設定交換分區的優先級
 swapoff DEVICE 關閉交換分區
   -a     關閉所有交換分區
 
 文件系統等空間佔用信息的查看工具
 df   disk free
  -h, --human-readable
  -i, --inodes   
  -P, --portability  use the POSIX output format
  
 du   disk usage
  -s, --summarize
  -h, --human-readable  

free -m

              total        used        free      shared  buff/cache   available
Mem:           1826         602         715           9         509        1029
Swap:          2047           0        2047

mkswap /dev/sdb2

正在設置交換空間版本 1,大小 = 2097148 KiB
無標籤,UUID=3a31785b-303c-4506-a7a3-d902c3024204

free -m

              total        used        free      shared  buff/cache   available
Mem:           1826         602         715           9         509        1029
Swap:          2047           0        2047

swapon /dev/sdb2
free -m

              total        used        free      shared  buff/cache   available
Mem:           1826         603         714           9         509        1028
Swap:          4095           0        4095

swapoff /dev/sdb2
free -m

              total        used        free      shared  buff/cache   available
Mem:           1826         602         714           9         509        1029
Swap:          2047           0        2047


 文件系統掛載 相關的配置文件
 /etc/fstab    每行定義一個文件系統

 cat /etc/fstab
 /dev/mapper/centos-root                    /      xfs      defaults        0    0

 UUID=51d6b7a7-29f9-4a59-af18-3a746ca553e4  /boot  xfs      defaults        0    0

 /dev/mapper/centos-home                    /home  xfs      defaults        0    0

 /dev/mapper/centos-swap                    swap   swap     defaults        0    0

  要掛載的設備或文件系統        掛載點  文件系類型 掛載選項 轉儲頻率  自檢次序
 
   要掛載的設備或文件系統   設備文件  LABEL=  UUID=  僞言語件系統
   掛載選項       defaults
   轉儲頻率        備份的頻率
     0 不轉儲
     1 天天轉儲
     2  每隔一天轉儲
   自檢次序
     0 不自檢
     1 首先自檢,一般只有/ 根才爲1
     2 

vim /etc/fstab

#
# /etc/fstab
# Created by anaconda on Wed Sep  2 17:59:33 2015
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#

/dev/mapper/centos-root                    /        xfs     defaults        0 0

UUID=c7be76f0-7549-4b55-987b-f02072487405  /boot    xfs     defaults        0 0

/dev/mapper/centos-home                    /home    xfs     defaults        0 0

/dev/mapper/centos-swap                    swap     swap    defaults        0 0

/dev/sdb1                                  /mydata  ext4    defaults        0 0

 四  文件系統的連接文件
     硬連接   兩個路徑指向同一個inode
     不能對目錄進行建立
     不能跨分區
     指向同一個inode 的多個不一樣路徑,建立文件的硬連接會 增長inode 的引用記數,刪除硬 連接僅是刪除其中一個訪問路徑,直到所有路徑刪除 ,纔會真正刪除
  
  符號連接  連接文件的數據指向另外一個文件路徑
  能夠對目錄進行
  能夠跨分區
  指向的是另外一個文件路徑,而非inode
  文件大小是引用的大小,不是源文件大小
   對文件建立符號連接不會增長其引用記數,刪除源文件,符號連接沒法使用
   
 ln
 ln fstabe fstab.h   硬連接
 ln -s  fstabe fstab.s  符號連接
 -v 顯示詳細建立過程
 

 練習

三、建立一個10G的文件系統,類型爲ext4,要求開機可自動掛載至/mydata目錄

fdisk /devsdb

n

p

1

2048

+10G

w

mke2fs -t ext4 -b 4096  -L 'test2' /dev/sdb1
vim /etc/fstab

#
# /etc/fstab
# Created by anaconda on Wed Sep  2 17:59:33 2015
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#

/dev/mapper/centos-root                     /           xfs     defaults    0 0

UUID=c7be76f0-7549-4b55-987b-f02072487405   /boot       xfs     defaults    0 0

/dev/mapper/centos-home                     /home       xfs     defaults    0 0

/dev/mapper/centos-swap                     swap        swap    defaults    0 0

/dev/sdb1                                   /mydata     ext4    defaults    0 0
相關文章
相關標籤/搜索