天天看點

+++++++分區建立、檔案系統建立、檢視、調整 小結

硬體 運算器,控制器,存儲器,I/O裝置

核心:1、協調硬體工作2、抽象底層硬體功能為系統調用3、讓硬體工作(硬體驅動,數字簽名防惡意代碼)4、cpu和記憶體資源配置設定5、網絡管理6、安全管理

I/O事件的基礎概念:

硬體級别:CPU通過輪循或硬體的通知機制得知事件的發生。CPU通過每個硬體都會在cpu處注冊使用不同的端口,或中斷控制器的不同的中斷信号完成識别硬體

軟體級别:系統:數字,人:字母,硬體與主機闆通過基于工業标準的特殊線纜連接配接實作互動。

不同接口的速率: IDE 133 ,SCSI: 640 SATA3.0:700 SAS 700 USB3.0 450

實際體驗的速率  硬體和接口速率及電器信号的幹擾。

track:存儲資料的位置

cylinder: 不同盤片不同盤面的相同編号的磁道

扇區:每個磁道劃分的小的區域

    mbr:512bytes, uefi:4k

分區:把一個空間在邏輯層次劃分為多個,當作不同的裝置

分區方式:按cylinder,由外向内

裝置檔案:關聯至一個裝置驅動程式,進而能跟與之對應的硬體裝置進行通信。

檔案系統分為 資料區 和中繼資料區(filename,perm,size,owner,group,timestamps和記錄資料塊的編号)

    核心中實作

    索引和索引的編址方式組成 或 存儲空間和資料存儲形式以及對檔案的索引

日志檔案系統

存儲資料時,先将中繼資料存在日志區中,然後将資料存儲完畢後,将中繼資料同步至真正的中繼資料區。斷電修複時,隻找中繼資料區,速度快。 每寫一個資料都有多餘的IO

非日志檔案系統

直接存儲在中繼資料區,斷電修複時,周遊檔案系統,速度慢。第寫一個資料時沒有多餘的IO,性能在早期比日志檔案系統好。

虛拟記憶體:假設每個程序有4G可用

swap:記憶體消耗快滿時,将磁盤中空間格式化為同記憶體一樣的存儲格式,而後把實體記憶體中不太有用的資料放至磁盤之上,如果需要用到此資料時,将資料拿回來即可,這種行為叫做“交換”

檔案系統的組成:核心子產品:調用子產品實作格式化。、使用者空間的程式

VFS檔案系統:抽象底層各種不同的檔案系統接口為一個統一的接口,簡化程式員寫程式

要想使用一個檔案系統:

    1、核心中有相應的子產品

    2、遵循POSIX檔案系統規範

    3、有對應的使用者空間程式

磁盤管理

分區、格式化、修複

1、檢視所有磁盤分區

# fdisk -l

2、檢視指定磁盤分區

# fdisk -l DEVICE

1

2

3

4

5

6

7

8

9

10

11

12

13

<code>++++++++列出的格式詳解+++++++++++++++++++++++++++++++++++</code>

<code>    </code><code>磁盤 </code><code>/dev/vda</code>

<code>    </code><code>大小 42.9 GB, 42949672960 位元組,83886080 個扇區</code>

<code>    </code><code>Units = 扇區 of 1 * 512 = 512 bytes</code>

<code>    </code><code>扇區大小(邏輯/實體):512 位元組 / 512 位元組</code>

<code>    </code><code>I</code><code>/O</code> <code>大小(最小/最佳):512 位元組 / 512 位元組</code>

<code>    </code><code>磁盤标簽類型:dos</code>

<code>    </code><code>磁盤辨別符:0x0000efd2</code>

<code>        </code><code>裝置          Boot                   Start         End      Blocks      Id      System  </code>

<code>        </code><code>裝置檔案      是否可引導(*:kernel) 起始柱面     結束柱面    磁盤塊數  分區标示 用在哪個系統上的分區上</code>

<code>        </code><code>/dev/vda1</code>      <code>*                      2048        83886079  41942016    83      Linux</code>

3、管理分區

# fdisk DEVICE

    管理分區相關的指令:

    n 建立一個分區

    d 删除一個分區

    t 修改id

    l 列出id

    w 儲存退出

4、檢視核心識别的分區

# cat /proc/partitions

5、重讀分區

修改核心識别的分區,不改變分區

1)partx [-a|-d|-l] [--n M-N]  disk  

-n M[-N]    ##指定分區範圍

-l          ##顯示分區

-a          ##添加

-d          ##删除核心中識别的分區

##添加分區映射

2)kpartx -a  [OPTIONS...] DEVICE

-n M[:N]

-f          ##強制添加

-l

##用于centos5,添加分區映射

3)partprobe DEVICE     

++++檢視核心支援的檔案系統

# cat /proc/filesystems

++++檢視核心裝載的子產品

# lsmod

6、建立檔案系統

方法一:mkfs.FS_TYPE [-L LABEL] DEVICE

方法二:mkfs -t FS_TYPE [-L LABEL] DEVICE

    ext2 ext3 ext4 xfs btrfs vfat

方法三: mke2fs [OPTIONS...] DEVICE

    -t {ext2,ext3,ext4}

    -b 預設4096,小檔案多,值小。大檔案多,值大。

    -j  直接建立ext3

    -m 給管理者預留白間,5%預設

    -L LABEL  為磁盤添加卷标

    -i # 比率,單個inode占據磁盤塊大小

    -N # inode數量

    -O  FEATURE 啟用特性

        ^FEATURE 關閉特性

         has_journal

7、查找裝置的屬性資訊(LABEL,UUID,TYPE)

# blkid  [OPTIONS....] DEVICE

    -L LABEL 通過LABEL查找DEVICE

    -U UUID 通過UUID查找DEVICE

UUID 全局UID 無論裝置檔案名怎麼變化,每一個磁盤都唯一不變的标示

TYPE 檔案系統類型

8、顯示設定label

# e2label DEVICE [LABEL]

    顯示裝置的LABEL # e2label DEVICE

    設定裝置的LABEL # e2label DEVICE LABEL

9、修改檔案裝置的屬性

# tune2fs [OPTIONS...] DEVICE

    -l 顯示超級塊資訊

    -L LABEL修改LABEL

    -m # 管理者預留白間百分比

    -j   啟動日志功能

    -U UUID ,修改uuid,與uuidgen指令一起使用 -u $(uuidgen) 或 -u `uuidgen`

    -O [FEATURE|^FEATURE] 檔案系統屬性啟用或禁用

         has_journal 擁有日志功能

    -o 調整檔案系統的預設挂載選項

        acl   啟用Posix通路控制清單。

超級塊的用途:存儲整個分區中的結構

為了避免超級塊挂掉不能恢複,在建立檔案系統時,自動在每個分區備份了super block

超級塊挂掉之後,拆下硬碟,在其他主機之上用硬碟修複工具,把超級塊備份複制一份出來覆寫原來的壞的超級塊

inode是中繼資料的條目,每個中繼資料的條目是一個Inode

tune2fs檢視超級塊資訊的詳解

14

15

16

17

18

<code>[root@localhost ~]</code><code># tune2fs -l /dev/sda3 顯示超級塊資訊</code>

<code>tune2fs 1.41.12 (17-May-2010)</code>

<code>Filesystem volume name:   檔案系統卷标</code>

<code>Last mounted on:          最近一次什麼時間被挂載</code>

<code>Filesystem UUID:          全局唯一标示符</code>

<code>Filesystem magic number:  魔數</code>

<code>Filesystem revision </code><code>#:    1 (dynamic)</code>

<code>Filesystem features:      檔案系統的特性:檔案系統自己的特性跟是否挂載無關 sparse_super large_file (沒有journal,可見為ext2檔案系統)</code>

<code>Filesystem flags:         signed_directory_hash </code>

<code>Default </code><code>mount</code> <code>options:    預設在挂載時的預設選項</code>

<code>Filesystem state:         檔案系統的目前狀态 clean:幹淨狀态 ,沒有什麼損壞</code>

<code>Errors behavior:          Continue</code>

<code>Filesystem OS </code><code>type</code><code>:       Linux 标示所在的作業系統</code>

<code>Inode count:              有多少個inode?inode是中繼資料的條目</code>

<code>Block count:              2622452 一共有多少個磁盤塊</code>

<code>Reserved block count:     131122 </code>

<code>Free blocks:              2575520 一共有多少個空閑磁盤塊</code>

<code>Free inodes:              655765 一共有多少個空閑inode</code>

+++++檢視超塊組資訊及檔案系統結構

dumpe2fs  DEVICE 

+++++檢視超級塊資訊

dumpe2fs -h DEVICE

<code>Group 320: (Blocks 5242880-5245189) [INODE_UNINIT, ITABLE_ZEROED]</code>

<code>塊組編号,磁盤塊起始-結束 </code>

<code>Block bitmap at 5242880 (+0)   </code><code>## Block 位圖的位置</code>

<code>Inode bitmap at 5242896 (+16)  </code><code>## Inode 位圖的位置</code>

<code>Inode表位于 5242912-5243167 (+32)</code>

<code>2052 </code><code>free</code> <code>blocks</code>

<code>2048 </code><code>free</code> <code>inodes, 2048個未使用的inodes</code>

<code>0 directories, </code>

<code>可用塊數: 5242881-5242895, 5242897-5242911, 5243168-5245189 </code><code>##多少塊可用</code>

<code>可用inode數: 655361-657408 </code><code>##可用Ino</code>

10、檢視預設挂載選項

# tune2fs -l DEVICE

# dumpe2fs -h DEVICE

    default mount optons: 調整此處挂載選項

11、mkswap [OPTIONS...] DEVICE 建立交換分區(調整分區ID為82,system)

-L LABEL 設定卷标

-U UUID  設定UUID

調整id為82

重讀分區表

Partx -a /dev/sda

partx -a -n 6 /dev/sda

核心是否識别分區

/proc/partitions

建立交換分區 

mkswap partitions

檢視檔案系統屬性 

blkid /dev/sda6

啟動swap

swapon partitions

禁用swap

swapoff partitions

12、fsck類似mkfs

檢測指令:

1)fsck.FS_TYPE

2)fsck -t FS_TYPE

檢視支援的指令: fsck + 2次TAB

檢視支援的檔案系統: cat /proc/filesystems

修複選項:

-a auto自動修複錯誤

-r 互動式修複錯誤

3)e2fsck ext系列檔案系統檢測修複工具

-y 自動回答為yes

-f force 強制修複

13、linux和windows通用的檔案系統: windows識别: fat32, linux識别為: vfat

windows的檔案系統 

fat32 ntfs cifs

linux的檔案系統

vfat ext系列 xfs btrfs 

U盤既能在linux

mkfs.vfat 

本文轉自 lccnx 51CTO部落格,原文連結:http://blog.51cto.com/sonlich/1954327,如需轉載請自行聯系原作者

繼續閱讀