linux磁盤及文件系統管理

磁盤接口類型:

  • 并口:IDE,SCSI
  • 串口:SATA,SAS,USB
    。并口:同一線纜可以接多塊設備
    IDE:兩個,一主一從
    。 串口:同一線纜只可以接一個設備

硬盤類型:

  • 機械硬盤
  • 固態硬盤:電氣設備,iops高(io per second)

機械硬盤基本概念

  • track:磁道
  • sector:扇區
  • cylinder:柱面;分區基于柱面
  • 平均尋道時間:5400rpm,15000rpm(15000轉每分鐘)


設備類型:

  1. 塊(block):隨機訪問,數據交換的單位是“塊”
  2. 字符(character):線性訪問,數據交換單位是“字符”

設備文件:

  • 作用:關聯至設備的驅動程序,是設備的訪問入口
  • 設備號:
    major:主設備號,區分設備類型;用于標明設備所需的驅動程序
    minor:次設備號,區分同種類型下的不同設備;是特定訪問入口
  • mknod命令:
    mknod - make block or character special files
    mknod [OPTION]... NAME TYPE [MAJOR MINOR]
    option: -m, --mode=MODE
[root@localhost mnt]# mknod -m 777 /dev/testdev1 c 112 1
[root@localhost mnt]# ls -l /dev/testdev1 
crwxrwxrwx 1 root root 112, 1 9月  25 21:50 /dev/testdev1

linux磁盤設備文件

IDE:/dev/hd[a-z]
SCSI,STAT,USB,SAS:/dev/sd[a-z]

分區:/dev/sd[a-z]#

注意:centos 6/7將磁盤設備文件統統表示為/dev/sd[a-z]#
MBR分區方案
主分區和擴展分區的標示:1-4
邏輯分區的表示:5+

磁盤分區方案

  • MBR,GPT
    。mbr:主引導紀錄模式

。占用磁盤前512字節

446bytes:bootloader程序
64bytes:分區表,每16個字節標示一個分區,只能有4個分區
2bytes:MBR區域有效性標示;55AA為有效

1. 分區管理工具:fdisk

  • 查看
    fdisk -l [device]

  • 管理分區
    fdisk device

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

。常用子命令

n:創建
 d:刪除
  t:修改分區類型
l:查看所有ID
w:保存退出
q:不保存退出
m:獲取幫助
p:顯示現有分區信息

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

  • 查看:cat /etc/partitions

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

  centos 5 :partprobe [device]
  centos 6/7:partx -a [device]

2.文件系統管理:

  • 格式化:
    。低級格式化:分區前進行;劃分磁道
    。高級格式化:分區后對分區進行;創建文件系統

  • 文件系統:

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

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

。文件系統組成部分:元數據區+數據區

。元數據區(inode):文件大小,權限,從屬關系,時間戳,數據塊指針;
。文件名存放在能找到該文件的目錄上


  • linux文件系統:
    。Linux通過VFS支持眾多文件系統
    。linux的文件系統:ext2,ext3,ext4,xfs,reiserfs,btrfs
    。光盤:iso9960
    。網絡文件系統:nfs,cifs
    。集群文件系統:gfs,ocfs2
    。內核級分布式文件系統:ceph
    。windows的文件系統:vfat
    。偽文件系統:proc,sysfs,tmpfs
    。Unix文件系統:UFS,FFS,JFS

  • 創建文件系統:
    mkfs命令:
    mkfs.{ext2,ext3,ext4,xfs,vfat}

    mke2fs命令:
    。 ```
    mke2fs - create an ext2/ext3/ext4 filesystem
    mke2fs [OPTION] DEVICE
    OPTION:
    -t {ext2,ext3,ext4}
    -b {1024,2048,4096}:指明block大小
    -L LABEL:卷標
    -j :創建有日志功能的ext3文件系統
    -i #:指定每多少個字節為一個inode
    -N#:指定inode個數
    -O [^]FEATURE:以指定的特性創建;特性:has_journal
    -m #:指定預留空間百分比


- 修改文件系統屬性:
tune2fs命令:
。```tune2fs - adjust tunable filesystem parameters on ext2/ext3/ext4 filesystems
  tune2fs [option] DEVICE
  option:
  -l:查看超級塊信息
  -j:ext2-->ext3
  -l LABEL:修改卷標
  -m #:調整預留空間百分比
  -O [^]FEATHER:開啟或關閉某種特性
  -o [^]mount_option:開啟或關閉掛載選項
  • 卷標查看和設定:
    e2label命令:
    。```e2label - Change the label on an ext2/ext3/ext4 filesystem
    查看:e2label DEVICE
    設定:e2label DEVICE LABEL

- 顯示ext系列文件系統的屬性:
dumpe2fs命令:
。``` dumpe2fs - dump ext2/ext3/ext4 filesystem information
    dumpe2fs [-h] DEVICE
    -h:顯示超級塊信息
  • 文件系統檢測:
    e2fsck命令:
    。```e2fsck - check a Linux ext2/ext3/ext4 file system
    e2fsck [option] DEVICE
    option:
    -y:對所有問題自動回答為yes
    -f:強制檢測

fsck命令:
。```fsck - check and repair a Linux file system
-t FSTYPE:指明文件系統類型
 fsck-t ext4=fsck.ext4
 -a:無須交互而自動修復所有錯誤
 -r:交互式修復

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容