1. 程式人生 > 實用技巧 >Linux系統管理 --磁碟管理與系統管理

Linux系統管理 --磁碟管理與系統管理

1.Linux磁碟管理

硬碟:

機械式硬碟

SSD


機械式:

track

sector: 512bytes

cylinder: 分割槽的基本單位;


MBR:Master Boot Record

512bytes

446: bootloader

64: filesystem allocation table

16: 標識一個分割槽

2:55AA


磁碟介面型別:

IDE (ATA):133MB/s,/dev/hd

SCSI: 640MB/s

SATA:6Gbps

SAS:6Gbps

USB:480MB/s


識別硬碟裝置:/dev/sd

標記不同的硬碟裝置:/dev/sd[a-z]

標記同一裝置上的不同分割槽:/dev/sd[a-z][1-]

1-4: 主或擴充套件分割槽標識

5+:邏輯分割槽標識


裝置檔案:特殊檔案

裝置號:

major, minor

major: 裝置型別

minor: 同一型別下的不同裝置


“塊”:block,隨機裝置

“字元”:character,線性裝置


GPT


分割槽:分隔儲存空間為多個小的空間,每個空間可獨立使用檔案系統;



2.分割槽工具:

fdisk, parted, sfdisk


fdisk工具的使用:

最多支援在一塊硬碟上的15個分割槽;

分割槽管理子命令:

p: 顯示

n: 建立

d: 刪除

t: 修改分割槽ID

l: 列出所有支援ID型別

w: 儲存退出

q: 放棄修改並退出

m: 獲取幫助



fdisk /dev/sda,建立新的磁碟分割槽

wKioL1XpktuQKEKpAAEVYo__eVk043.jpg


fdisk -l /dev/sda 確認分割槽是否建立成功



wKiom1Xpk6zjC5wdAAFduaT2BgQ156.jpg



建立完成之後,檢視核心是否已經識別新的分割槽:

# cat /proc/partitions


wKiom1XplPjCNet3AACnqGXNC2Y289.jpg

有三個命令可以讓核心重讀磁碟分割槽表:

CentOS 5: partprobe [DEVICE]

CentOS 6,7:

partx

kpartx


partx命令:

-a, --add 新增指定的分割槽或所有分割槽

-d, --delete 刪除指定的分割槽或所有分割槽

-s, --show 列出分割槽


-u, --update 更新指定的分割槽或所有分割槽

-b, --bytes 以位元組為單位而非易讀的格式來列印 SIZE

-g, --noheadings --show 時不列印標題

-n, --nr <n:m> 指定分割槽範圍(例如:--nr 2:4)

-o, --output <type> 定義使用哪個輸出列

-P, --pairs 使用 key=“value” 輸出格式

-r, --raw 使用原生輸出格式

-t, --type <型別> 指定分割槽型別(dos、bsd、solaris 等)

-v, --verbose 詳盡模式


kpartx命令:

kpartx -af DEVICE


3.系統檔案管理



建立檔案系統:

在分割槽上執行格式化(高階格式化)

要使用某種檔案系統,滿足兩個條件:

核心中:支援此種檔案系統

使用者空間:有檔案系統管理工具



建立工具:mkfs (make filesystem)


-t, --type=<型別> 檔案系統型別;若不指定,將使用 ext2

fs-options 實際檔案系統構建程式的引數

<裝置> 要使用裝置的路徑

<大小> 要使用裝置上的塊數

-V, --verbose 解釋正在進行的操作;

多次指定 -V 將導致空執行(dry-run)



mkfs -t type DEVICE

wKioL1XpoYrCvZunAAI9HA8vV-k273.jpg


mkfs.type DEVICE

wKiom1XpnyqQl0bMAAIr_tywvbU372.jpg

ext系列檔案系統的專用管理工具:

mke2fs -t {ext2|ext3|ext4} DEVICE

-b BLOCK: 1024, 2048, 4096

-L 'LABEL': 設定卷標


blkid命令:

blkid DEVICE

wKioL1Xpol6AKSYfAABaQICfQkM612.jpg



檔案系統屬性檢視及調整工具:

e2label

e2lable DEVICE [LABEL]


tune2fs

顯示ext系列檔案系統的屬性,或調整其屬性;


-l:顯示超級塊中的資訊;顯示整個檔案的屬性及佈局等相關資訊;

-L 'LABEL':修改卷標;

-m #: 調整預留給管理員的管理空間百分比;

-j: ext2 --> ext3

-O:檔案系統屬性的啟動或關閉

-o:檔案系統預設掛載選項的啟用或關閉


dumpe2fs:

-h: 僅顯示超級塊資訊;


檔案系統檢測:

fsck: Filesystem check

fsck -t type

fsck.type

-a: 自動修復錯誤

-r: 互動式修復錯誤

-f: 強制檢測


e2fsck:ext系列檔案系統專用的檢測修復工具;

-y: 自動回答為“yes”

-f:force

4.檔案系統的掛載和使用

掛載點:mount point, 裝置掛載至目錄;


注意:掛載點在掛載在之後,其內部原有的檔案會被暫時隱藏;建立使用空目錄做為掛載點;


掛載方法:

mount:通過讀取/etc/mtab檔案來顯示當前系統所有已經掛載的裝置;

mount -a:掛載/etc/fstab檔案中的所有支援自動掛載的檔案系統;

mount [options] [-o options] DEVICE MOUNT_POINT

[options]:命令選項

[-o options]:掛載選項


DEVICE: 要掛載的裝置

(1) 裝置檔案:/dev/sda5

(2) 卷標:-L 'LABEL'

(3) UUID:-U 'UUID'

(4) 偽檔案系統名稱

MOUNT_POINT: 掛載點

wKiom1XpozeTAW_HAABBz7LuXKA646.jpg

umount:解除安裝命令

# umount DEVICE

# umount MOUNT_POINT


檢視正在訪問指定掛載點的程序:

# fuser -v MOUNT_POINT


終止所有正在訪問指定的掛載點的程序:

# fuser -km MOUNT_POINT

5.建立一個10G檔案系統,型別為ext4,要求開機可自動掛載至/mydata目錄

建立一個mydata檔案wKioL1Xppd_xhOumAAAfAGnLP7U095.jpg

將之前建立的10G掛載至 mydata

wKiom1XpozeTAW_HAABBz7LuXKA646.jpg

wKiom1XppD3wWc-gAAE_-ddNtRg720.jpg


wKioL1Xpq1LBmm16AAGZdX31ZZs583.jpg


轉載於:https://blog.51cto.com/dan29/1691423