磁盤管理與文件系統

  關于磁盤與文件系統大致思路:要想對磁盤進行充分利用,必須要對磁盤進行分區,第二步就是要對分區進行高級格式化,也就是在分區上創建文件系統,在此過程中可以對磁盤的各種屬性進行自定義。打個比方來說,創建磁盤分區好比剛買來一個毛坯房,還未裝修,還不適宜人居住,那么創建文件系統就好比在光禿禿的毛坯房上進行了裝修,這樣才更適于人居住使用。


要想搞懂磁盤,首先就要從根上了解硬盤的組成。

    head 磁頭 一個盤片正反兩面對應兩個磁頭,有多個盤片

    track 磁道 磁頭旋轉一圈劃分的圓環

    sector 扇區 512bytes

    cylinder 柱面 所有盤片的相同磁道


設備:ll /dev/ 可見 

    blob.png

塊設備(block):支持隨機訪問,數據交換單位是塊

字符設備(character):線性訪問,數據交換單位為字符

設備文件:FHS

/dev

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

設備號:

主設備號

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

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

mknod:創建塊和字符設備

mknod /dev/testdev c 110 1

-m MODE:創建后的設備文件的訪問權限,利用系統調用

設備文件名:ICANN

磁盤

SCSI SATA USB SAS:/dev/sd[a-z]

并口:同一線纜可以接多塊設備

SCSI:

寬帶:16-1

窄帶:

主分區和擴展分區表示:1-4

邏輯分區:5+

查看分區:cat /proc/partitions

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

cnetos 6:partx -a [device]

元數據不包括文件名,文件名保存在目錄

元數據:inode 

文件使用磁盤有不連續的塊,碎片

文件元數據:inode 數據塊指針

********************

inode

128bytes

block=2^n sector 

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

塊和inode比例

需要預留一部分塊空間給管理員

如何判斷inode和block是否使用,0表示空,1表示使用

bitmap index:位圖索引

找一空間,每一位對應block

GDT:快組描述符

元數據區域:

1.inode

2.inode位圖

3.block位圖

GDT:

stat查看元數據

文件名存放在目錄上,與inode一一對應

低級格式化

高級格式化

******************

VFS:Virtual File System

linux文件系統:ext2-4,xfs(centos 7 defaults),relserfs,btrfs(測試階段)

光盤:ISO9660

網絡文件系統:nfs,cifs

集群文件系統,gfs2,osfs2

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

windows的文件系統:vfat,ntfs

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

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

交換文件系統:swap

用戶空間得分布式文件系統

************************

虛擬內存

32位 4G內存可用

交換分區

創建文件系統工具

mkfs.ext4

檢測及修復文件系統的工具

fsck

查看其屬性的工具

dumpe2fs,tune2fs

調整文件系統特性

tune2fs

***

journal

降低磁盤碎片

日志區,在處理數據時先放在日志區,

如果遇到特殊情況要修復時,優先修復日志區中的內容

鏈接:指向同一文件的不同路徑

硬鏈接:指向同一inode的多個路徑

1.目錄不支持硬鏈接

2,。不能跨文件系統,各分區inode各自管理,從0開始

3。引用次數增加

4.大小相同

符號鏈接:指向一個文件的指針指向另一文件路徑

1.符號鏈接與文件時兩個單獨文件,有各自inode

2.可跨分區

3.文件大小為指向的路徑的字符串的字節數

ls -i example.txt

ls -i命令列出整個目錄文件,即文件名和inode號碼:

  ls -i /etc

blob.png

理解了上面這些知識,就能理解目錄的權限。目錄文件的讀權限(r)和寫權限(w),都是針對目錄文件本身。由于目錄文件內只有文件名和inode號碼,所以如果只有讀權限,只能獲取文件名,無法獲取其他信息,因為其他信息都儲存在inode節點中,而讀取inode節點內的信息需要目錄文件的執行權限(x)。

先創建分區,再創建文件系統,

內核中有相關的文件系統驅動程序,可使用lsmod查看

lsmod :查看內核已經加載的驅動程序

blob.png

文件系統管理工具:由用戶控件的應用程序提供

1.

mkfs -t ext2=mkfs.ext2

blkid /dev/sda6

2.

mke2fs ext專用工具

-t ext4 指定要創建的文件系統類型

-b {1024|2048|4096(MAX默認)}指定文件系統的block大小

-L 卷標

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

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

-i #:每多少字節一個inode,bytes-per-inode,

指明inode與字節的比率,即多少字節創建一個inode,

默認為

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

-O [^]FEATURE :以指定的特性創建目標文件系統,啟用某種特性

-m #指定預留空間百分比:5 –>5%s

3.改變卷標

e2label 卷標的查看和設定

e2label /dev/sda8 sb

blob.png

4.tune2fs 查看修改ext系列文件的某些屬性

不可修改:塊大小,

修改文件系統屬性

-j ext2–>ext3

-L label:修改卷標

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

-O FEATURE 啟用或者關閉某種特性

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

acl

^acl

5.dumpe2fs:顯示所有塊組信息,類似tune2fs

-d 只顯示superblock

6.

fsck命令:用于實現文件系統檢測的工具

因進程意外終止或者系統崩潰等原因導致進程非正常終止,可能造成文件損壞

此時要進行離線修復

e2fsck device

-y 對所有問題回答yes

-f 強制檢測

fsck.ext4

-a:無需交互修復所有錯誤

-r 交互式修復

通用命令

7.

blkid

-L label 根據卷名定位分區

-U UUID  

8。

swap文件系統

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

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

創建swap設備:

mkswap

-L :指明卷標

-f : 強制

9.

windows無法識別Linux的文件系統,要交叉使用時,

應該使用同時支持的文件系統

10.

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

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

1.事先存在

2.應該使用未被或不會被其他進程使用到的目錄

3.掛載點下原有的文件將不會被隱藏

11.

mount

-r 只讀filesystem

-w 讀寫掛載

-n 默認情況下,設備掛載或卸載的操作會同步更新至/etc/fstab中

-n禁止更新同步

-t vfs :指明要掛載的設備上的文件系統的類型,多數情況下可省略,

此時mount會通過blkid來判斷要掛載的設備的文件系統類型

-L label:掛載時以卷標的方式指明設備

mount -L lable dir

-U UUID 以UUID的方式指明設備

-o options:掛載選項

sync/async 同步/異步操作:

異步:先在內存寫完,再寫入磁盤

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

diratime/nodiratime:目錄訪問時,是否保存訪問時間戳

remount:重新掛載;

acl;支持使用facl功能訪問控制列表

1.mount -o acl device dir

2.tune2fs -o acl device

ro 只讀

rw 讀寫

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

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

auto/noauto:自動掛載

/user/nouser:是否用戶掛載此文件系統

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

default:

12。 實現將目錄綁定至另一個目錄上,作為臨時訪問入口

    mount –bind 源目錄 目標目錄

13.查看當前系統所有已掛載的設備

1.mount

 blob.png

2.cat /etc/mtab 

 blob.png

3.cat /proc/mounts

掛載光盤

mount -r /dev/cdrom  mount_point

掛載U盤:需事先識別U盤的設備文件

mount -r

14.

umount

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

查看被哪些進程所占用

lsof mount——point

fuser -v mount_point

-km /mnt:踢出正在使用/mnt的用戶

終止所有某掛載點的進程

fuser -km

15

掛載本地回環設備

mount -o loop /path/to/some_loop mount_point

16

交換分區

創建交換分區:mkswap

啟動禁用

swapon 

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

swapoff

/etc/fstab

設備除根文件系統以外的其它文件系統能夠開機時的掛載

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

6個字段:

1.要掛載的設備

label

UUID偽文件系統

2.掛載點

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

3.文件系統類型

4.掛載選項

defaults:默認

如果使用多個掛載選項,彼此間以逗號分隔

defaults,acl,noatime,noexec

5.轉儲頻率

0:從不備份

1.每天備份

2.隔天備份

6.自檢持續

0:不自檢

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

2.次級自檢

mount -a:可自動掛載定義在/etc/fstab中的所有支持自動掛載的設備

16

df:disk free

-h 人類可讀

-l 本地可讀

-i inode的使用狀態

blob.png

du:顯示文件大小

-s :sumary

-h human-readable

blob.png


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

(0)
000000
上一篇 2016-08-29
下一篇 2016-08-30

相關推薦

  • vim文件編輯器

       vi命令是UNIX操作系統和類UNIX操作系統中最通用的全屏幕純文本編輯器。Linux中的vi編輯器叫vim,它是vi的增強版(vi Improved),與vi編輯器完全兼容,而且實現了很多增強功能。 vim功能十分強大,具有很多有優點: 所有的unix like系統都會內置vi文本編輯器,其他的文本編輯器則不一定會有 很多軟件的編…

    Linux干貨 2016-08-11
  • linux 根文件系統層級FHS

    下面介紹認識一下FHS FHS: Filesystem Hierarchy  Standard /bin:所有用戶可用的基本命令程序文件; /sbin:供系統管理使用的工具程序; /boot:引導加載器必須用到的各靜態文件: kernel,   initramfs(initrd),  grub 等 dev:存儲特殊文件或設備文件…

    Linux干貨 2016-10-28
  • N25-第七周作業

    第七周作業 — 1、創建一個10G分區,并格式為ext4文件系統; fdisk /dev/sdanp2enter+10Gwpartx -a /dev/sda(1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;mke2fs -t ext4 -b 2018 -m 2 -L “MYDATA” /…

    Linux干貨 2017-02-25
  • 推薦-Centos的網絡配置命令和文件

    一、ifcongfig     Centos6之前最常用的配置網絡命令就是ifconfig,使用ifconfig命令時最好切換到root用戶的身份     1、直接使用ifconfig可以查看當前配置的網絡設備的信息      &…

    Linux干貨 2016-03-27
  • nfs,samba同步LAMP與Mysql

    使用nfs功能實現WEB頁面同步     拓撲圖見NFS實現LAMP冗余:     目的:使用網絡文件系實現LAMP的分步式資源共享    配置步驟:    配置test1:搭建NFS環境:&nbsp…

    2017-04-26
  • N27_第二周作業。

    linux上的文件管理類命令都有哪些?其常用的使用方法及其相關示例演示。 答: 有cp、mv、rm cp ?復制命令 常用選項: cp -i ? ? ? ?#交互式 cp -r ? ? ? #遞歸復制目錄及其子目錄的內容 cp -a ? ? ?# 歸檔,相當于dR –preserve=all cp -d ? ? #表示不跟蹤符號鏈接所指向的原文件…

    2017-10-09

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-30 10:09

    文章對磁盤管理各方面知識整理的很全面,層次結構也很清晰,但是對于硬盤基礎我們能夠給出一些圖片來敘述各個硬盤的各個組件會更好,同時,也希望作者能通過差資料,將筆記中的關鍵字組織成通順的話。

欧美性久久久久