1. 程式人生 > >2018-4-9

2018-4-9

磁盤分區

4.1 df命令

4.2 du命令

4.3/4.4 磁盤分區



4.1 df命令

df:匯報文件系統的磁盤空間使用情況。

直接df

技術分享圖片

第一列:磁盤分區的名字

第二列:磁盤的總大小,單位kb

掛載點,其實就是系統裏的目錄。linux的磁盤是不能夠直接訪問的,要有一個掛載點,通過這個掛載點才能進入這個磁盤

讀數據寫數據。


df -h

技術分享圖片

會根據磁盤的大小,選擇比較合適的單位(byte字節,1024字節=1kb,1024kb=1mb,1024mb=1gb,1024gb=1tb)。


裝系統的時候劃了三個分區,/boot ,swap ,/。左邊還有一些/dev等分區

只要是帶tmpfs的比如tmpfs和devtmpfs,說明這個文件系統是一個臨時的文件系統,重啟消失。

/dev/shm 這個是內存(大小是物理內存的一半)。


用free命令可以看到swap

技術分享圖片

total:一共有多大,free:還剩多少


df -i

技術分享圖片

看這個分區下有多少inode,以及inode的使用情況。

創建好分區後格式化,然後往裏面寫東西。格式化的過程就是再創建這些inode。這個分區多大有多少inode都是事先分配好的(與分區有關)。


有時候磁盤還有空間,但是寫不進去了,這時候查看一下inode。如果inode滿了就算磁盤空間有空余也寫不進去了。


還可以df -m以兆位單位顯示。

技術分享圖片







4.2 du命令

du:查看文件的大小

常用的du -sh 比如

技術分享圖片


技術分享圖片

用ls -lh查看時不一樣 一個1.1k一個4.0k,這涉及到塊的概念(當這個文件小於4kb也會顯示4kb,一個塊4kb)。

再後面的磁盤分區再了解


du什麽都不加

技術分享圖片

用在目錄上時會把下面的所有文件都列出來,沒有單位不怎麽好用。


查看一個文件大小建議用 du -sh /root 如果不加h不會顯示單位。






4.3/4.4 磁盤分區

比如給虛擬機增加一塊磁盤

右鍵技術分享圖片

設置,然後添加

技術分享圖片

默認就是硬盤,下一步

技術分享圖片

保持默認,下一步下一步,大小設置10個G,完成。

技術分享圖片




查看硬盤 fdisk

技術分享圖片


fdisk -l可以把目前有的硬盤列出來

技術分享圖片

只有一個/dev/sda,剛創建的10g的硬盤沒看到。


重啟reboot,大概要等一分鐘,新加了一塊硬盤系統需要識別。

再fdisk

技術分享圖片

有了/dev/sdb:10.7GB。


w(後面詳細講)

技術分享圖片

0.07 0.12 0.05這個是負載,如果比較高的話說明負載比較高,重啟會比較慢。



fdisk /dev/sdb 給磁盤分區

技術分享圖片

(如果一整個盤不劃分分區,直接格式化也可以後面再提)

輸入m

技術分享圖片

常用的有: n重新創建新的分區 p列舉 w寫入保存 d刪除


p

技術分享圖片

沒有任何分區


n

技術分享圖片

讓選擇分區,primary是主分區,extended是擴展分區。

0 0 4 ,0個主分區 0個擴展分區 4個空余,也就是說總數只能有4個分區(並且最高支持兩個t),比如可以4個主分區,或者3個主分區1個擴展分區。主+擴《=4


如果想劃分多個,先劃分3個主分區1個擴展分區。再在擴展分區中繼續劃分邏輯分區。


劃分一個主分區p

技術分享圖片

分區號的選擇範圍1-4,默認1

技術分享圖片

選擇扇區,其實就是用來定義分區大小的,默認從2048開始。

然後按照格式劃分2G

技術分享圖片


p一下,可以看到多了一個分區sdb1,blocks就是他的大小

技術分享圖片


繼續分,主分區2個G

技術分享圖片

技術分享圖片


再加一個主分區 1G(這裏打錯如果不能刪除用ctrl+u清空)

技術分享圖片


再加一個1g的主分區,四個了

技術分享圖片


再n

技術分享圖片

會提示不能再繼續分區,因為四個用完了。

如果還想用 那刪除一個主分區

d

技術分享圖片

默認刪除4


現在三個

繼續分n

分e,4個G(5個應該不夠)

技術分享圖片

技術分享圖片

通過blocks查看大小。4194是兆 304是k,4G。 id號是查看分區類型 83是Linux主分區或邏輯分區,5是擴展分區,還有lvm(後面介紹)。


現在再想創建新的分區n,就是邏輯分區了,+1G技術分享圖片

p一下

技術分享圖片

再繼續劃分+1G邏輯分區

技術分享圖片

db5 6都是邏輯分區

現在是3個主分區 1個擴展分區 2個邏輯分區


現在刪除一個主分區,比如sdb1

技術分享圖片

技術分享圖片


在刪一個邏輯分區,5

技術分享圖片

p一下發現還有個db5,這個db5其實就是原來的db6。可以看start end。因為分區號是不會留空的

技術分享圖片


如果按w就保存了,按q就是不保存退出。

技術分享圖片


重新開始技術分享圖片

這一次一來就以直接劃分擴展分區e

技術分享圖片


p一下

技術分享圖片

db1就是一個擴展分區


再增加一個主分區

技術分享圖片

這個時候 提示出現了改變,當既有主分區和擴展分區的時候會提示要求劃分主分區還是邏輯分區

選p,默認2選擇3,1G

技術分享圖片

再p一下

技術分享圖片

沒問題


然後劃分一個邏輯分區

技術分享圖片

p

技術分享圖片

看分區號1 3 5。主分區的時候沒選2選了3,然後4也沒了也留空了是因為前4個號都是給主分區邏輯分區的。

只有 5開始才給邏輯分區


再加3個100M的邏輯分區

技術分享圖片

有5 6 7 8四個邏輯分區。

刪除掉6

技術分享圖片

6還在 8沒了其實就是7 8變成了 6 7。因為邏輯分區需要一個連續的分區號,主分區和擴展分區可以不連續。

q退出來,再分一次就分一個主分區5G

技術分享圖片

w保存並退出

fdisk -l

技術分享圖片

可以看到這個主分區,多了這個分區,不想要再刪除就可以了。



總結:n提示分區類型,總分區和擴展分區的總和小於4,邏輯分區從第五個分區號開始並且是連續的。擴展分區本身不支持格式化他只算一個殼真正起作用的是邏輯分區,輸入都是寫到邏輯分區裏的。

fdisk分區工具,它的分區格式為MBR,特點是,最多分4個主分區,磁盤大小不能超過2T。而GPT分區格式,突破了這些限制,它沒有主分區、擴展分區、邏輯分區之分,在一塊磁盤上最多可以分128個分區出來,支持大於2T的分區,最大卷可達18EB。 相信,隨著存儲級別的升級,將來的分區格式逐漸會淘汰MBR,而GPT成為主流。


擴展parted分區GPT格式


parted 工具常用功能:
當在命令行輸入parted後,進入parted命令的交互模式。輸入help會顯示幫助信息。下面就簡單介紹一下常用的功能
1、check 簡單檢查文件系統。建議用其他命令檢查文件系統,比如fsck
2、help 顯示幫助信息
3、mklabel 創建分區表, 即是使用msdos(MBR)還是使用gpt,或者是其他方式分區表
4、 mkfs 創建文件系統。該命令不支持ext3 格式,因此建議不使用,最好是用parted分好區,然後退出parted交互模式,用其他命令進行分區,比如:mkfs.ext3
5、mkpart 創建新分區。
格式:mkpart PART-TYPE [FS-TYPE] START END
PART-TYPE 類型主要有primary(主分區), extended(擴展分區), logical(邏輯區). 擴展分區和邏輯分區只對msdos。
fs-type 文件系統類型,主要有fs32,NTFS,ext2,ext3等
start end 分區的起始和結束位置。
6、mkpartfs 建立分區及其文件系統。目前還不支持ext3文件系統,因此不建議使用該功能。最後是分好區後,退出parted,然後用其他命令建立文件系統。
7、print 輸出分區信息。該功能有3個選項,
free 顯示該盤的所有信息,並顯示磁盤剩余空間
number 顯示指定的分區的信息
all 顯示所有磁盤信息
8、resize 調整指定的分區的大小。目前對ext3格式支持不是很好,所以不建議使用該功能。
9、rescue 恢復不小心刪除的分區。如果不小心用parted的rm命令刪除了一個分區,那麽可以通過rescue功能進行恢復。恢復時需要給出分區的起始和結束的位置。然後parted就會在給定的範圍內去尋找,並提示恢復分區。
10、rm 刪除分區。命令格式 rm number 。如:rm 3 就是將編號為3的分區刪除
11、select 選擇設備。當輸入parted命令後直接回車進入交互模式是,如果有多塊硬盤,需要用select 選擇要操作的硬盤。如:select /dev/sdb
12、set 設置標記。更改指定分區編號的標誌。標誌通常有如下幾種:boot hidden raid lvm 等。
boot 為引導分區,hidden 為隱藏分區,raid 軟raid,lvm 為邏輯分區。
如:set 3 boot on 設置分區號3 為啟動分區
註:以上內容為parted常用的功能,由於該工具目前對ext3支持得不是很好,因此有些功能無法應用,比如move(移動分區)和resize等。

parted分區功能事例。
1、用命令模式 為/dev/sdb創建gpt類型文件分區表,並分500G分區。然後為該分區創建ext3文件系統。並將該分區掛載在/test文件夾下。
# parted /dev/sdb mklabel —創建分區表
# parted /dev/sdb mkpart ext3 0 500000 —創建500G分區/dev/sdb1
# mkfs.ext3 /dev/sdb1 —-將分區/dev/sdb1格式化成ext3格式文件系統
# mount /dev/sdb1 /test —將/dev/sdb1 掛載在/test下
如果讓系統自動掛載/dev/sdb1 需手工編輯/etc/fstab文件。並在文件末尾添加如下內容:
/dev/sdb1 /test ext3 defaults 0 0
2、創建大小為4G的交互分區。由於已經創建了500G的/dev/sdb1 ,因此再創建的分區為/dev/sdb2
# parted /dev/sdb mkpart swap 500000 504000 —創建4G分區/dev/sdb2
# mkswap /dev/sdb2 —-將/dev/sdb2創建為交換分區
# swapon /dev/sdb2 —-激活/dev/sdb2
如果讓系統自動掛載/dev/sdb2這個交換分區,需手工編輯/etc/fstab文件。並在文件末尾添加如下內容:
/dev/sdb2 swap swap defaults 0 0
3、恢復被誤刪除的分區(也可以參考testdisk命令)。由於parted直接寫磁盤,因此一旦不小心刪除了某一分區,建議立即用rescue恢復。下面通過事例來理解恢復過程。
# parted /dev/sdb mkpart ext3 504000 514000 —-創建10G分區/dev/sdb3
# mkfs.ext3 /dev/sdb3 —將/dev/sdb3格式化成ext3文件系統。
# parted /dev/sdb rm 3 —-刪除/dev/sdb3
# parted /dev/sdb rescue 504000 514000 —依照屏幕提示,輸入yes即可恢復被誤刪除分區





2018-4-9