我們管理的服務(wù)器可能會(huì)隨著業(yè)務(wù)量的不斷增長造成磁盤空間不足的情況,在這個(gè)時(shí)候我們就需要增加磁盤空間,本章主要介紹如何使用fdisk分區(qū)工具創(chuàng)建磁盤分區(qū)和掛載分區(qū),介紹兩種情況一種是對(duì)原有的磁盤的剩余空間增加分區(qū),第二種是對(duì)新添加的磁盤進(jìn)行分區(qū)操作。
fdisk: invalid option -- '-' Usage: fdisk [options] <disk> change partition table fdisk [options] -l <disk> list partition table(s) fdisk -s <partition> give partition size(s) in blocks Options: -b <size> sector size (512, 1024, 2048 or 4096) -c switch off DOS-compatible mode -h print help -u <size> give sizes in sectors instead of cylinders -v print version -C <number> specify the number of cylinders -H <number> specify the number of heads -S <number> specify the number of sectors per track
查看當(dāng)前分區(qū)信息
fdisk -l
上圖的紅色標(biāo)記顯示當(dāng)前sda總共有3916個(gè)柱面,而目前只使用了2611個(gè)柱面,現(xiàn)在就將剩下的柱面創(chuàng)建分區(qū)。
創(chuàng)建分區(qū)
使用:fdisk 磁盤文件 fdisk /dev/sda
1.輸入m查看幫助。
a :設(shè)置可引導(dǎo)標(biāo)記 b :修改bsd的磁盤標(biāo)簽 c :設(shè)置DOS操作系統(tǒng)兼容標(biāo)記 d :刪除一個(gè)分區(qū) l :顯示已知的分區(qū)類型,其中82為Linux swap分區(qū),83為Linux分區(qū) m :顯示幫助信息 n :增加一個(gè)新的分區(qū) o :創(chuàng)建一個(gè)新的空白的DOS分區(qū)表 p :顯示磁盤當(dāng)前的分區(qū)表 q :退出fdisk程序,不保存任何修改 s :創(chuàng)建一個(gè)新的空白的Sun磁盤標(biāo)簽 t :改變一個(gè)分區(qū)的系統(tǒng)號(hào)碼(比如把Linux Swap分區(qū)改為Linux分區(qū)) u :改變顯示記錄單位 v :對(duì)磁盤分區(qū)表進(jìn)行驗(yàn)證 w :保存修改結(jié)果并退出fdisk程序 x :特殊功能
2.輸入n創(chuàng)建分區(qū)
詢問我們是要?jiǎng)?chuàng)建主分區(qū)還是擴(kuò)展分區(qū),主分區(qū)最多只能創(chuàng)建4個(gè),如果創(chuàng)建了擴(kuò)展分區(qū)那么擴(kuò)展分區(qū)需要占用一個(gè)主分區(qū)。
這里我們創(chuàng)建擴(kuò)展分區(qū),輸入e
需要我們輸入起始柱面,默認(rèn)是2611開始,這里可以輸入2611也可以直接enter。
最后輸入3916,這樣就創(chuàng)建好了擴(kuò)展分區(qū)。
3.創(chuàng)建邏輯分區(qū)
輸入p,查看分區(qū)創(chuàng)建情況
可以發(fā)現(xiàn)sda4的文件系統(tǒng)類型是擴(kuò)展分區(qū),擴(kuò)展分區(qū)是無法使用的,必須在擴(kuò)展分區(qū)的基礎(chǔ)上創(chuàng)建邏輯分區(qū)
輸入n創(chuàng)建邏輯分區(qū),因?yàn)檫@里只剩下剛才創(chuàng)建的邏輯分區(qū)需要?jiǎng)?chuàng)建,所以不需要選擇輸入開始和結(jié)束柱面即可。
再輸入p顯示所有分區(qū),可以看到創(chuàng)建了sda5這個(gè)邏輯分區(qū)
4.輸入w保存
當(dāng)然剛才也可以直接創(chuàng)建主分區(qū),不創(chuàng)建邏輯分區(qū)。
5.格式化邏輯分區(qū)
如果是使用虛擬機(jī),需要重啟才可以對(duì)分區(qū)進(jìn)行格式化,否則會(huì)提示找不到分區(qū)文件。
mkfs -t ext3 /dev/sda5
6.掛載分區(qū)
先創(chuàng)建分區(qū)掛載的文件夾
mkdir /newpar
將sda5掛載到/newpar文件下
mount /dev/sda5 /newpar
7.查看掛載情況
df -h
這個(gè)掛載只是臨時(shí)的,重啟服務(wù)器之后又需要重新掛載,通過修改/etc/fstab文件使掛載永久有效
8.永久掛載
在編寫的時(shí)候可以使用tab鍵寫下一項(xiàng)。
通過前面的預(yù)熱,現(xiàn)在來講概念理解起來會(huì)容易一點(diǎn)。
磁盤
在linux系統(tǒng)中所有的設(shè)備都會(huì)以文件的形式存儲(chǔ)。設(shè)備一般保存在/dev目錄下面,以sda、sda1、sda2 ...,sdb、sdb1...,hda,hdb?,F(xiàn)在的設(shè)備一般都是sd命名,以前的很老的硬盤是以ha命名。
sda:第一塊硬盤,如果對(duì)磁盤進(jìn)行了分區(qū)會(huì)有sda1(第一個(gè)分區(qū)),sda2等。
sdb:第二個(gè)硬盤,同樣對(duì)硬盤分區(qū)后有sdb1,sdb2等。
分區(qū)
分區(qū)的目的就是便于管理,比如在windows系統(tǒng)我們一般會(huì)分C盤,D盤,E盤等。
在講主分區(qū)和擴(kuò)展分區(qū)前先看張圖片。
這是我的當(dāng)前windows系統(tǒng)的分區(qū)情況,從這里可以很好的理解主分區(qū)和擴(kuò)展分區(qū)的概念,同時(shí)也有柱面的概念,當(dāng)前主分區(qū)是C盤,擴(kuò)展分區(qū)包括D盤、E盤、F盤。同時(shí)D盤、E盤、F盤也叫邏輯分區(qū)。
其實(shí)我們也可以不創(chuàng)建擴(kuò)展分區(qū),在windows里面如果不創(chuàng)建擴(kuò)展分區(qū)的話對(duì)程序的管理會(huì)不方便,只有一個(gè)分區(qū)。但是在linux中如果剛才在創(chuàng)建分區(qū)的是有留言會(huì)發(fā)現(xiàn)linux只能創(chuàng)建4個(gè)主分區(qū),如果需要?jiǎng)?chuàng)建更多的分區(qū)那么久必須創(chuàng)建邏輯分區(qū),其中邏輯分區(qū)需要占用一個(gè)主分區(qū)。
文件系統(tǒng)
linux中的文件系統(tǒng)也就是分區(qū)類型,在windows中有NTEF,FAT32等,linux中常見的有Ext2、Ext3、Ext4、Linux swap、proc、sysfs、tmpfs等,可以通過mount命名查看當(dāng)前已掛載的文件系統(tǒng)。
格式化
在前面創(chuàng)建完分區(qū)后有一步是要對(duì)分區(qū)進(jìn)行格式化,其實(shí)在windows系統(tǒng)中也是一樣,在創(chuàng)建好一個(gè)分區(qū)后也需要將分區(qū)格式化,只有格式化成具體的文件類型才能使用。
掛載
在windows中分區(qū)格式化后就可以使用,但是在linux系統(tǒng)中必須將分區(qū)掛載到具體的路徑下才可以。
接下來演示增加一個(gè)新磁盤的完整過程。
在當(dāng)前虛擬機(jī)中增加一塊20G的硬盤
1.使用fdisk -l查詢當(dāng)前系統(tǒng)分區(qū)情況
可以看到新增加的sdb磁盤還沒有分區(qū)
2.創(chuàng)建主分區(qū)
fdisk /dev/sdb 輸入n
在輸入結(jié)束柱面的這里如果你不知道該輸入多大的數(shù)字,你可以輸入+然后輸入你要設(shè)的大小。這里我設(shè)置5G的主分區(qū)。
輸入p查看分區(qū)信息,可以看到剛創(chuàng)建的sdb1主分區(qū),接下來創(chuàng)建邏輯分區(qū)。
3.創(chuàng)建擴(kuò)展分區(qū)
圖片上通過紅色標(biāo)注了操作步驟??梢钥吹疆?dāng)前已創(chuàng)建了sdb2擴(kuò)展分區(qū),柱面從655-2610,即將剩下的所有空間創(chuàng)建為擴(kuò)展分區(qū)。
4.創(chuàng)建邏輯分區(qū)
總共創(chuàng)建了兩個(gè)邏輯分區(qū),邏輯分區(qū)默認(rèn)從5開始,第一個(gè)邏輯分區(qū)大小2G,用來做交換分區(qū)用,剩下全部給sdb6.
5.修改文件類型ID
因?yàn)槟J(rèn)分區(qū)id都是83即linux文件類型,現(xiàn)在將sdb5的文件類型ID改成82即交換分區(qū)。
6.保存退出
7.格式化分區(qū)
接下來要對(duì)sdb的每一個(gè)分區(qū)進(jìn)行格式化,
注意:擴(kuò)展分區(qū)不需要進(jìn)行格式
輸入mkfs.ext3 /dev/sdb1
swap分區(qū)格式化要使用
mkswap /dev/sdb5
加載文件 swapon /dev/sdb5 查看是否生效 swapon -s
可以看到sda3,和sdb5這兩個(gè)swap分區(qū)
8.掛載分區(qū)
這里直接使用修改文件的方式永久掛載
創(chuàng)建掛載文件路徑 mkdir sdb1 sdb6
9.立即生效
partprobe
在我的虛擬機(jī)上面無法立即生效,重啟機(jī)器。
shutdown -r now
重啟之后會(huì)發(fā)現(xiàn),sdb1,sdb6都已經(jīng)生效了,而且swap也變成了6G(sda3+sdb5)
補(bǔ)充
格式化分區(qū)還可以使用帶參數(shù)的mke2fs命令
mke2fs [-c|-l filename] [-b block-size] [-f fragment-size] [-i bytes-per-inode] [-I inode-size] [-J journal-options] [-G meta group size] [-N number-of-inodes] [-m reserved-blocks-percentage] [-o creator-os] [-g blocks-per-group] [-L volume-label] [-M last-mounted-directory] [-O feature[,...]] [-r fs-revision] [-E extended-option[,...]] [-T fs-type] [-U UUID] [-jnqvFKSV] device [blocks-count]
-b:指定區(qū)塊大小,單位為字節(jié)。 -c:檢查是否有損壞的區(qū)塊。 -f:指定不連續(xù)區(qū)段的大小,單位為字節(jié)。 -F:不管指定的設(shè)備為何,強(qiáng)制執(zhí)行mke2fs。 -i:指定"字節(jié)/inode"的比例。 -N:指定要建立的inode數(shù)目。 -l:從指定的文件中,讀取文件西中損壞區(qū)塊的信息。 -L:設(shè)置文件系統(tǒng)的標(biāo)簽名稱。 -m:指定給管理員保留區(qū)塊的比例,預(yù)設(shè)為5%。 -M:記錄最后一次掛入的目錄。 -q:執(zhí)行時(shí)不顯示任何信息。 -r:指定要建立的ext2文件系統(tǒng)版本。 -R:設(shè)置磁盤陣列參數(shù)。 -S:僅寫入superblock與group descriptors,而不更改inode able inode bitmap以及block bitmap。 -v:執(zhí)行時(shí)顯示詳細(xì)信息。 -V:顯示版本信息。 -T:指定文件系統(tǒng)類型
dumpe2fs命令
查看分區(qū)的詳細(xì)信息 dumpe2fs /dev/sdb1
圖中只截取了一部分信息,該命令可以查看指定分區(qū)的詳細(xì)信息,很詳細(xì)。
現(xiàn)在的文件系統(tǒng)建議使用ext4,上面只是測試使用ext3,生產(chǎn)環(huán)境還行使用邏輯卷比較好。
備注: 作者:pursuer.chen 博客:http://www.cnblogs.com/chenmh 本站點(diǎn)所有隨筆都是原創(chuàng),歡迎大家轉(zhuǎn)載;但轉(zhuǎn)載時(shí)必須注明文章來源,且在文章開頭明顯處給明鏈接,否則保留追究責(zé)任的權(quán)利。 《歡迎交流討論》 |
聯(lián)系客服